1

J'ai un projet Android sur GitHub qui utilise Travis-ci pour une intégration continue.Comment afficher le logcat de l'émulateur android sur travis-ci?

Builds currently fail et j'ai besoin d'afficher le logcat de l'émulateur pour trouver plus de détails sur le problème qui se produit pendant la construction automatisée.

J'ai essayé d'ajouter à la fois:

after_failure: 
    - adb logcat 

after_script: 
    - adb logcat 

Mais les deux commandes ne sont jamais exécutées.

Peut-être est-ce dû aux builds du projet travis-ci java qui exécutent une commande mvn install avant que le vrai script soit exécuté et que les deux commandes ne soient pas exécutées ... Je suis vraiment bloqué. Toute aide serait appréciée.

Répondre

0

Après quelques tentatives supplémentaires, je peux obtenir logcat soit par un:

#build 25 
#run all tests 
    - mvn clean install -DskipTests=false 
#build 26 
    - adb logcat & 

en phase BEFORE_INSTALL travis.

Je réussis l'installation mvn -DskipTests = true de Travis. Néanmoins, je ne pouvais obtenir aucun moyen d'obtenir le logcat lors d'une construction régulière. Une idée ?

1

Je pense que vous n'en avez déjà pas besoin mais je vais essayer de répondre à la question.

Vous devez ajouter le drapeau --all sinon ces paquets n'étaient pas disponibles.

Google a désapprouvé le drapeau -p --obsolete et seuls les paquets (plus récents) suggérés sont disponibles sans le drapeau -a --all.

Voir missing build-tools - line 56

echo "y" | android update sdk --filter platform-tools,build-tools-17.0.0,android-16,extra-android-support,$ANDROID_SDKS --no-ui --force > /dev/null 
Error: Missing platform-tools 
Error: Missing platform-tools 
Error: Ignoring unknown package filter 'build-tools-17.0.0' 

Actuellement dernière plate-forme-outils sont suggérés toujours sans --all drapeau, mais:

$ ./android update sdk -u -t build-tools-17.0.0 
Error: Ignoring unknown package filter 'build-tools-17.0.0' 
Warning: The package filter removed all packages. There is nothing to install. 
     Please consider trying to update again without a package filter. 
$ ./android update sdk -a -u -t build-tools-17.0.0 
Packages selected for install: 
- Android SDK Build-tools, revision 17 

Probablement le manque de construction-outils et la plate-forme android-17 sont la cause de Properties file not found.

Et j'ai vu here un travail autour de travis-lint, je ne l'utilise pas.


Voici les travaux en cours autour de j'utiliser pour les journaux, les besoins d'améliorer mais fonctionne, -e pour émulateur. Vous avez besoin de personnaliser votre MOD_NAME.

# adb -e: direct an adb command to the only running emulator. Return an error if more than one. 

before_script: 
    # - echo 'LOGCAT' 
    # Check logcat debug output: http://developer.android.com/tools/help/logcat.html 
    # Check debugging log: http://developer.android.com/tools/debugging/debugging-log.html 
    # Comment the lines belows to debug output and redirect it to a file. Custom tags for your app. 
    - adb -e logcat *:W | tee logcat.log > /dev/null 2>&1 & 

after_failure: 
    # - echo 'FAILURE' 
    # Check apt configuration: http://docs.travis-ci.com/user/ci-environment/#apt-configuration 
    # Comment out the lines below to show log about tests with app name customized on exports section. 
    - sudo apt-get install -qq lynx 
    - export MOD_NAME=yourappmodulename 
    - export LOG_DIR=${TRAVIS_BUILD_DIR}/${MOD_NAME}/build/outputs/reports/androidTests/connected/ 
    - lynx --dump ${LOG_DIR}com.android.builder.testing.ConnectedDevice.html > myConnectedDevice.log 
    - lynx --dump ${LOG_DIR}com.android.builder.testing.html > myTesting.log 
    - for file in *.log; do echo "$file"; echo "====================="; cat "$file"; done || true 

after_script: 
    # Uncomment the line below to kill adb and show logcat output. 
    - echo " LOGCAT "; echo "========"; cat logcat.log; pkill -KILL -f adb 

Je suis à la recherche d'une alternative pré-installé à lynx car sudo ne sont pas disponibles en utilisant l'infrastructure basée sur les conteneurs et cat est vraiment pour concaténer les fichiers, si quelqu'un sait pour l'améliorer, merci.