1 page.title=Gua de prueba 2 page.image=images/cards/card-build_16x9_2x.png 3 page.keywords=recursos de la versin preliminar,androidm,pruebas,permisos 4 5 @jd:body 6 7 <div id="qv-wrapper"> 8 <div id="qv"> 9 <h2>Contenido del documento</h2> 10 <ol> 11 <li><a href="#runtime-permissions">Prueba de los permisos</a></li> 12 <li><a href="#doze-standby">Prueba de los modos Doze y App Standby</a></li> 13 <li><a href="#ids">Copia de seguridad automtica e identificadores de dispositivos</a></li> 14 </ol> 15 </div> 16 </div> 17 18 <p> 19 Android M Developer Preview le brinda la oportunidad de garantizar que sus aplicaciones funcionen con la prxima versin de la plataforma. 20 Esta versin preliminar incluye diversas API y cambios en los comportamientos que pueden tener impactos en su aplicacin, como se describe en las secciones <a href="{@docRoot}preview/api-overview.html">Informacin general de la API</a> y <a href="{@docRoot}preview/behavior-changes.html">Cambios en los comportamientos</a>. 21 22 Al probar su aplicacin con la versin preliminar, se debe centrar en algunos cambios especficos del sistema para garantizar que los usuarios disfruten de una buena experiencia. 23 24 25 </p> 26 27 <p> 28 En esta gua, se describen qu y cmo probar las caractersticas preliminares con su aplicacin. Debe priorizar la prueba de estas caractersticas especficas preliminares, puesto que podran tener un alto impacto en el comportamiento de su aplicacin: 29 30 31 </p> 32 33 <ul> 34 <li><a href="#runtime-permissions">Permisos</a> 35 </li> 36 <li><a href="#doze-standby">Modos Doze y App Standby</a> 37 </li> 38 <li><a href="#ids">Copia de seguridad automtica e identificadores de dispositivos</a></li> 39 </ul> 40 41 <p> 42 Para obtener ms informacin sobre cmo configurar dispositivos o dispositivos virtuales con una imagen del sistema de la versin preliminar para realizar pruebas, consulte la seccin <a href="{@docRoot}preview/setup-sdk.html">Configurar el SDK de la versin preliminar</a>. 43 44 </p> 45 46 47 <h2 id="runtime-permissions">Prueba de los permisos</h2> 48 49 <p> 50 El nuevo modelo de <a href="{@docRoot}preview/features/runtime-permissions.html">permisos</a> cambia el modo en que el usuario asigna permisos a su aplicacin. 51 En lugar de conceder todos los permisos durante el procedimiento de instalacin, su aplicacin debe solicitar al usuario los permisos individuales en el tiempo de ejecucin. 52 53 Para los usuarios, este comportamiento ofrece ms control granular sobre las actividades de cada aplicacin, as como un mejor contexto para comprender por qu la aplicacin est solicitando un permiso especfico. 54 Los usuarios pueden conceder o revocar los permisos concedidos a una aplicacin de forma individual en cualquier momento. 55 Es muy probable que esta caracterstica de la versin preliminar tenga un impacto en el comportamiento de su aplicacin y puede hacer que algunas caractersticas de su aplicacin no funcionen o funcionen en un estado degradado. 56 57 58 </p> 59 60 <p class="caution"> 61 Este cambio afecta a todas las aplicaciones que se ejecutan en la nueva plataforma, incluso a aquellas que no tienen como destino la nueva versin de la plataforma. 62 La plataforma ofrece un comportamiento de compatibilidad limitada para las aplicaciones heredadas, pero usted debe comenzar a planificar ahora la migracin de su aplicacin al nuevo modelo de permisos, con el objetivo de publicar una versin actualizada de su aplicacin cuando se lance la plataforma oficial. 63 64 65 </p> 66 67 68 <h3 id="permission-test-tips">Consejos para pruebas</h3> 69 70 <p> 71 Use los siguientes consejos para pruebas como ayuda para planificar y ejecutar las pruebas de su aplicacin con el nuevo comportamiento de permisos. 72 73 </p> 74 75 <ul> 76 <li>Identifique los permisos actuales de su aplicacin y las rutas de cdigos relacionadas.</li> 77 <li>Pruebe los flujos del usuario en los datos y servicios protegidos por permisos.</li> 78 <li>Realice pruebas con varias combinaciones de permisos concedidos/revocados.</li> 79 <li>Use la herramienta {@code adb} para administrar permisos desde la lnea de comando: 80 <ul> 81 <li>Enumere los permisos y estados por grupo: 82 <pre>adb shell pm list permissions -d -g</pre> 83 </li> 84 <li>Conceda o revoque un permiso o ms permisos utilizando la siguiente sintaxis:<br> 85 <pre>adb shell pm [grant|revoke] <permission.name> ...</pre> 86 </li> 87 </ul> 88 </li> 89 <li>Analice su aplicacin para detectar servicios que utilizan permisos.</li> 90 </ul> 91 92 <h3 id="permission-test-strategy">Estrategia de prueba</h3> 93 94 <p> 95 El cambio en los permisos afecta la estructura y el diseo de su aplicacin, adems de la experiencia del usuario y los flujos que usted proporciona a los usuarios. 96 Debe evaluar el uso de los permisos actuales de su aplicacin y comenzar a planificar los nuevos flujos que desea ofrecer. 97 La versin oficial de la plataforma proporciona un comportamiento de compatibilidad, pero debe prever la actualizacin de su aplicacin y no depender de estos comportamientos. 98 99 100 </p> 101 102 <p> 103 Identifique los permisos que su aplicacin verdaderamente necesita y utiliza, y luego busque las diversas rutas de cdigos que utilizan los servicios protegidos por permisos. 104 Puede realizar esto mediante una combinacin de pruebas en la plataforma nueva y anlisis de cdigos. 105 Al realizar las pruebas, debe centrarse en incluir permisos de tiempo de ejecucin cambiando {@code targetSdkVersion} de la aplicacin a la versin preliminar. 106 Para obtener ms informacin, consulte la seccin <a href="{@docRoot}preview/setup-sdk.html#">Configurar el SDK de la versin preliminar</a>. 107 108 </p> 109 110 <p> 111 Realice pruebas con diversas combinaciones de permisos revocados y agregados, a fin de destacar los flujos del usuario que dependen de permisos. 112 Cuando una dependencia no sea obvia ni lgica, debe considerar la opcin de refactorizar o compartimentar ese flujo para eliminar la dependencia o aclarar por qu se necesita el permiso. 113 114 115 </p> 116 117 <p> 118 Para obtener ms informacin sobre el comportamiento de los permisos de tiempo de ejecucin, las pruebas y las mejores prcticas, consulte la pgina <a href="{@docRoot}preview/features/runtime-permissions.html">Permisos</a> de la versin preliminar para desarrolladores. 119 120 121 </p> 122 123 124 <h2 id="doze-standby">Prueba de los modos Doze y App Standby</h2> 125 126 <p> 127 Las caractersticas de ahorro de energa de los modos Doze y App Standby limitan la cantidad de procesamiento en segundo plano que puede realizar su aplicacin cuando un dispositivo se encuentra en estado inactivo o mientras su aplicacin no est en foco. 128 Entre las restricciones que el sistema puede imponer en las aplicaciones se incluyen el acceso limitado a la red o denegacin de acceso, suspensin de las tareas en segundo plano, suspensin de notificaciones, y alarmas y solicitudes de reactivacin ignoradas. 129 130 Para garantizar que su aplicacin tenga un comportamiento correcto con estas optimizaciones de ahorro de energa, debe probar su aplicacin simulando estos estados de bajo consumo. 131 132 133 </p> 134 135 <h4 id="doze">Cmo probar la aplicacin en modo Doze</h4> 136 137 <p>Para probar el modo Doze con su aplicacin, realice lo siguiente:</p> 138 139 <ol> 140 <li>Configure un dispositivo de hardware o un dispositivo virtual con una imagen del sistema de la versin preliminar de Android M.</li> 141 <li>Conecte el dispositivo a su equipo de desarrollo e instale la aplicacin.</li> 142 <li>Ejecute su aplicacin y djela activa.</li> 143 <li>Simule la activacin del modo Doze en el dispositivo ejecutando los siguientes comandos: 144 145 <pre> 146 $ adb shell dumpsys battery unplug 147 $ adb shell dumpsys deviceidle step 148 $ adb shell dumpsys deviceidle -h 149 </pre> 150 151 </li> 152 <li>Observe el comportamiento de su aplicacin cuando se reactive el dispositivo. Asegrese de que se recupere correctamente cuando el dispositivo salga del modo Doze. 153 </li> 154 </ol> 155 156 157 <h4 id="standby">Cmo probar aplicaciones en modo App Standby</h4> 158 159 <p>Para probar el modo App Standby con su aplicacin, realice lo siguiente:</p> 160 161 <ol> 162 <li>Configure un dispositivo de hardware o un dispositivo virtual con una imagen del sistema de la versin preliminar de Android M.</li> 163 <li>Conecte el dispositivo a su equipo de desarrollo e instale su aplicacin.</li> 164 <li>Ejecute su aplicacin y djela activa.</li> 165 <li>Simule la activacin del modo App Standby en la aplicacin ejecutando los siguientes comandos: 166 167 <pre> 168 $ adb shell am broadcast -a android.os.action.DISCHARGING 169 $ adb shell am set-idle <packageName> true 170 </pre> 171 172 </li> 173 <li>Simule la activacin de su aplicacin con el siguiente comando: 174 <pre>$ adb shell am set-idle <packageName> false</pre> 175 </li> 176 <li>Observe el comportamiento de su aplicacin al reactivarse. Asegrese de que se recupere correctamente del modo App Standby. 177 En particular, debe comprobar si los trabajos en segundo plano y las notificaciones de su aplicacin continan funcionando de la manera esperada. 178 </li> 179 </ol> 180 181 <h2 id="ids">Copia de seguridad automtica para aplicaciones e identificadores especficos del dispositivo</h2> 182 183 <p>Si su aplicacin contina teniendo algn identificador especfico del dispositivo, como la Id. de registro de Google Cloud Messaging, en el almacenamiento interno, asegrese de seguir las mejores prcticas para excluir la ubicacin de almacenamiento de la copia de seguridad automtica, como se describe en la seccin <a href="{@docRoot}preview/backup/index.html">Copia de seguridad automtica para aplicaciones</a>. 184 185 186 187 </p> 188