Приложение для телефона с телефоном для Android
При попытке создать приложение для мобильного телефона для Android с помощью
sudo phonegap build android
он не справляется с этой ошибкой:
: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)
Я попытался установить java_home в java-псевдоним в lib exec, но все равно ничего. Любые идеи о том, что может быть причиной проблемы?
Ответы
Ответ 1
Это потому, что ваш плагин InAppBrowser устарел и, вероятно, не синхронизирован с новой версией платформы Android Кордовы, чем когда вы впервые установили плагин. Я получал ту же проблему с [email protected] и 0.5.3 из InAppBrowser.
Исправить - сначала удалить плагин
cordova plugin rm org.apache.cordova.inappbrowser
Затем добавьте его снова (он должен переустановить с последней версией, в которой у CLI кордовы есть, в моем случае он схватил 0,6). Вы можете проверить версию в RELEASENOTES.md в папке plugins/org.apache.cordova.inappbrowser/.
cordova plugin add org.apache.cordova.inappbrowser
Вам нужно будет удалить платформу Android и снова добавить его до сборки, чтобы он не сохранил старую версию плагина.
cordova platform rm android
и
cordova platform add android
Теперь создайте снова, и ошибка должна исчезнуть.
EDIT: Я только что заметил в верхней части вашего вопроса, что вы используете телефонную запитку. Поскольку вы отметили кордову (и это то, что я использую), я ответил с помощью команд cordova, но я предполагаю, что почти тот же процесс применяется к Phonegap.
Ответ 2
Такая же проблема с [email protected]
Спасибо JDawgg ваше решение лучше, чем мое, но если у кого-то еще есть ошибка, вы можете использовать cordova-android @3,6.4 следующим образом:
cordova platform remove android
затем
cordova platform add [email protected]
у вас должен быть установлен Android 4.0.2 sdk
Наконец
sudo phonegap build android
Ответ 3
Если кто-то использует Meteor и сталкивается с той же проблемой, martijnwalraven предлагает удалить более старую версию cordova-plugin-inappbrowser
и добавить самую последнюю:
$ meteor remove cordova:cordova-plugin-inappbrowser
$ meteor add cordova:[email protected]
Это помогло мне!