Pregunta

Para Android 2.3, uso esta línea de comando para ingresar a la consola CTS:

java -xmx512m -cp%cts_root% tools ddmlib -prebuilt.jar;%cts_root% herramientas cts.jar;%cts_root% tools junit.jar;%CTS_ROOT% Tools hosttestlib.jar com.android.cts.testhost%CTS_ROOT% Repository/host_config.xml

¿Existe una forma similar de ejecutar Android 4.0 CTS como esta sin algo parecido a cygwin?

¿Fue útil?

Solución

Para ejecutar Android 4.0+ CTS en Windows

aquí está mi solución: (supongo que todas las rutas (adb)/classpath(Java) están configuradas correctamente)

1.descargue y descomprima el archivo CTS (por ejemplo, pongo todos los archivos descomprimidos en D:\cts, la carpeta se verá como D:\cts\android-cts)

http://source.android.com/compatibility/downloads.html

2.Cree el archivo cts_windows.bat y colóquelo en la carpeta de herramientas.(es decir, D:\cts\android-cts ools\cts_windows.bat en mi caso)

edite el archivo cts_windows.bat con el siguiente código (recuerde usar el suyo propio -DCTS_ROOT camino):

java -cp ddmlib-prebuilt.jar;tradefed-prebuilt.jar;hosttestlib.jar;cts-tradefed.jar -DCTS_ROOT=D:\cts com.android.cts.tradefed.command.CtsConsole
  1. Ejecute el archivo cts_windows.bat y se convertirá en un shell como "cts-tf>", entonces puede ejecutar CTS usando el comando "Ejecutar CTS --PLAN CTS".

para obtener más instrucciones, lea el manual enhttp://source.android.com/compatibility/android-cts-manual-r4.pdf

Otros consejos

Para 4.1 CTS Suite, realicé diferentes tareas que resolvieron mi problema.

Para usuarios de Windows que ejecutan Cygwin:

  1. Modifique la configuración de JAR_PATH en la línea 81, reemplace los dos puntos por un punto y coma.
    También agregue comillas alrededor de la tarea.Debería verse como el siguiente comando:

    Malo : JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}
    Bueno : JAR_PATH="${JAR_PATH};${JAR_DIR}/${JAR}"

  2. ¡Asegúrese de ejecutar el script cts-tradefed dentro del mismo directorio!
    La línea 73 asume que si CTS_ROOT no está definido, entonces el usuario está en el mismo directorio que cts-tradefed.
    Pero las instrucciones le dicen a la persona que ejecute el script desde el directorio en el que se encuentra cts-android.


    Bueno: ./cts-tradefed
    Malo: ./android-cts/tools/tradefed

Puedo ejecutar CTS en Windows. La excepción anterior se resuelve pasando el directorio raíz de CTS adecuado.

Por defecto, CTS se refiere a android-cts como directorio raíz, por lo que debemos mantener la carpeta como "D: \ Android \ android-cts"

Pase -DCTS_ROOT= D: \ Android

Entonces, "Causado por: java.io.FileNotFoundException: carpeta de instalación CTS D: \ cts \ android-cts" se resolverá.

java -cp ddmlib-prebuilt.jar; tradefed-prebuilt.jar; hosttestlib.jar; cts-tradefed.jar -DCTS_ROOT= D: \ Android com.android.cts.tradefed.command.CtsConsole

Con el script anterior puedo EJECUTAR CTS en mi dispositivo de usuario.

Gracias., Ganesh Kumar Ramamoorthy

No recomendaría ejecutar CTS en Windows.

Hasta Android 4+, el uso de la solución alternativa sugerida aquí (usar archivo por lotes) funcionó, pero cuando lo probé, hubo muchas fallas y muchas pruebas incluso no se ejecutaron en absoluto. Además, de acuerdo con la documentación de Google CTS, debería ejecutarse solo en Linux o MAC, entonces, ¿cómo puede garantizar que las fallas se deben al dispositivo bajo prueba (falla real) o porque lo está ejecutando en un entorno no compatible?

Sin embargo, a partir de Android 6+, el uso de archivos por lotes en Windows no funcionó para mí, CTS buscará bash que solo existe en la máquina Linux y saldrá de la ejecución antes de que comience.

Cuando intenta ejecutar en Linux, funciona a la perfección.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top