web-dev-qa-db-fra.com

Échec de la création d'une application téléphonique pour Android

Lorsque j'essaie de créer mon application pour téléphone mobile pour Android à l'aide de

Sudo phonegap build Android

il échoue avec cette erreur: 

:compileDebugJava
/Users/youssefsami/Library/Mobile Documents/com~Apple~CloudDocs/Developer/Mobile Apps/UzuConvert/platforms/Android/src/org/Apache/cordova/inappbrowser/InAppBrowser.Java:120: error: cannot find symbol

                                || Config.isUrlWhiteListed(url)) {
                                         ^

  symbol:   method isUrlWhiteListed(String)

  location: class Config

Note: Some input files use or override a deprecated API.

Note: Recompile with -Xlint:deprecation for details.

1 error


FAILED



FAILURE: 
Build failed with an exception.



* What went wrong:

Execution failed for task ':compileDebugJava'.

> 
Compilation failed; see the compiler error output for details.



* Try:

Run with 
--stacktrace option to get the stack trace. Run with 
--info or 
--debug
 option to get more log output.



BUILD FAILED


Total time: 5.607 secs


/Users/youssefsami/Library/Mobile Documents/com~Apple~CloudDocs/Developer/Mobile Apps/UzuConvert/platforms/Android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^

Error code 1 for command: /Users/youssefsami/Library/Mobile Documents/com~Apple~CloudDocs/Developer/Mobile Apps/UzuConvert/platforms/Android/gradlew with args: cdvBuildDebug,-b,/Users/youssefsami/Library/Mobile Documents/com~Apple~CloudDocs/Developer/Mobile Apps/UzuConvert/platforms/Android/build.gradle,-Dorg.gradle.daemon=true

ERROR building one of the platforms: Error: /Users/youssefsami/Library/Mobile Documents/com~Apple~CloudDocs/Developer/Mobile Apps/UzuConvert/platforms/Android/cordova/build: Command failed with exit code 1
You may not have the required environment or OS to build this project

Error: /Users/youssefsami/Library/Mobile Documents/com~Apple~CloudDocs/Developer/Mobile Apps/UzuConvert/platforms/Android/cordova/build: Command failed with exit code 1
    at ChildProcess.whenDone (/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23)
    at ChildProcess.emit (events.js:110:17)
    at maybeClose (child_process.js:1015:16)
    at Process.ChildProcess._handle.onexit (child_process.js:1087:5)

J'ai essayé de définir Java_home sur l'alias Java dans lib exec, mais toujours rien. Des idées sur ce qui cause peut-être le problème?

16
Youssef Moawad

C'est parce que votre plug-in InAppBrowser est obsolète et probablement désynchronisé par rapport à une version plus récente de la plate-forme Cordova Android par rapport à la première installation du plug-in. J'avais le même problème avec [email protected] et 0.5.3 de InAppBrowser.

La solution est de supprimer d'abord le plugin

cordova plugin rm org.Apache.cordova.inappbrowser

Ajoutez-le à nouveau (il devrait réinstaller avec la dernière version le CLI de Cordova dans mon cas, il a récupéré la version 0.6). Vous pouvez vérifier la version dans RELEASENOTES.md dans le dossier plugins/org.Apache.cordova.inappbrowser /.

cordova plugin add org.Apache.cordova.inappbrowser

Vous devrez supprimer la plate-forme Android et l'ajouter de nouveau avant de la reconstruire afin de ne pas conserver l'ancienne version du plug-in.

cordova platform rm Android

et

cordova platform add Android

Maintenant, reconstruisez à nouveau et l'erreur aurait dû disparaître.

EDIT: Je viens de remarquer au début de votre question que vous utilisez phonegap. Puisque vous avez étiqueté Cordova (et c’est ce que j’utilise), j’ai répondu avec les commandes Cordova, mais j’imagine que le même processus s’applique avec Phonegap.

24
JDawgg

Même problème avec [email protected] Merci, JDawgg, votre solution est meilleure que la mienne, mais si quelqu'un a toujours le bogue, vous pouvez utiliser [email protected] comme ceci:

cordova platform remove Android

puis

cordova platform add [email protected]

vous devez avoir Android 4.2.2 sdk installé

Finalement

Sudo phonegap build Android
4
Tophe

Si quelqu'un utilise Meteor et rencontre le même problème, martijnwalraven suggère de supprimer l'ancienne version de cordova-plugin-inappbrowser et d'ajouter la plus récente:

$ meteor remove cordova:cordova-plugin-inappbrowser
$ meteor add cordova:[email protected]

Cela a fait le tour pour moi!

1
tixastronauta