Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Building phone gap app for Android failing

When trying to build my phone gap app for android using

sudo phonegap build android

it fails with this error:

: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)

I tried setting the java_home to the java alias in lib exec but still nothing. Any ideas on what maybe causing the problem?

like image 610
Youssef Moawad Avatar asked May 01 '15 10:05

Youssef Moawad


People also ask

What happened to PhoneGap?

PhoneGap started as a project to fill the gap between the native and the Web world in 2008. Adobe announced the end of the PhoneGap product line and the end of the investment into Apache Cordova because "PWAs are increasingly bridging the gap between web and native mobile apps (...) without the need for containers."

Is PhoneGap outdated?

Adobe is discontinuing PhoneGap, PhoneGap Build, and Apache Cordova on October 1st, 2020.

Do I need Android studio for Cordova?

Cordova-Android requires the Android SDK, which can be installed on either macOS, Linux, or Windows. For the base system requirements, see the Android Studio's System Requirements.

What is PhoneGap build native service?

The PhoneGap build service creates native iOS and Android applications by packaging your mobile web application into a native binary (aka, hybrid application) that has full access to device services.


1 Answers

It's because your InAppBrowser plugin is out date and probably out of sync with a newer version of the Cordova Android platform than when you first installed the plugin. I was getting the same issue with [email protected] and 0.5.3 of InAppBrowser.

Fix is to first remove plugin

cordova plugin rm org.apache.cordova.inappbrowser

Then add it again (it should reinstall with the latest version the cordova CLI has in my case it grabbed 0.6). You can check the version in the RELEASENOTES.md in the plugins/org.apache.cordova.inappbrowser/ folder.

cordova plugin add org.apache.cordova.inappbrowser

You will need to remove the android platform and re-add it before building again so it doesn't keep the old version of the plugin.

cordova platform rm android

and

cordova platform add android

Now build again and the error should have gone.

EDIT: I just noticed at the top of your question you are using phonegap. Since you tagged with cordova (and thats what I use) I answered with cordova commands, but I'm guessing almost the same process applies with Phonegap.

like image 105
JDawgg Avatar answered Sep 30 '22 15:09

JDawgg