Приложение для телефона с телефоном для 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]

Это помогло мне!