user3526135
user3526135

Reputation: 41

"sudo cordova build android" error with CordovaLib:compileDebugJava on mac os x

I'm trying to build an android app with Cordova. I'm using Cordova 5.2.0 and I want to build for android 4.3.1, so in my project.properties I've inserted:

target=android-18

Unfortunately when i launch

sudo cordova build android

I obtain error in the "CordovaLib:compileDebugJava" task.

This is the complete error report:

    Mac-di-Luca:studioapp4 XXXXXXX$ sudo cordova build android
Running command: /Users/XXXXXXX/Desktop/studioapp4/platforms/android/cordova/build 
ANDROID_HOME=/Users/XXXXXXX/android-sdk-macosx
JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Running: /Users/XXXXXXX/Desktop/studioapp4/platforms/android/gradlew cdvBuildDebug -b /Users/XXXXXXX/Desktop/studioapp4/platforms/android/build.gradle -Dorg.gradle.daemon=true
:preBuild
:compileDebugNdk
:preDebugBuild
:checkDebugManifest
:CordovaLib:compileLint
:CordovaLib:copyDebugLint UP-TO-DATE
:CordovaLib:mergeDebugProguardFiles
:CordovaLib:preBuild
:CordovaLib:preDebugBuild
:CordovaLib:checkDebugManifest
:CordovaLib:prepareDebugDependencies
:CordovaLib:compileDebugAidl
:CordovaLib:compileDebugRenderscript
:CordovaLib:generateDebugBuildConfig
:CordovaLib:generateDebugAssets UP-TO-DATE
:CordovaLib:mergeDebugAssets
:CordovaLib:generateDebugResValues
:CordovaLib:generateDebugResources
:CordovaLib:packageDebugResources
:CordovaLib:processDebugManifest
:CordovaLib:processDebugResources
:CordovaLib:generateDebugSources
:CordovaLib:compileDebugJava
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java:25: cannot find symbol
symbol  : class ClientCertRequest
location: package android.webkit
import android.webkit.ClientCertRequest;
                     ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java:32: cannot find symbol
symbol  : class ClientCertRequest
location: class org.apache.cordova.CordovaClientCertRequest
    private final ClientCertRequest request;
                  ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java:34: cannot find symbol
symbol  : class ClientCertRequest
location: class org.apache.cordova.CordovaClientCertRequest
    public CordovaClientCertRequest(ClientCertRequest request) {
                                    ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java:40: cannot find symbol
symbol  : class PermissionRequest
location: package android.webkit
import android.webkit.PermissionRequest;
                     ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java:253: cannot find symbol
symbol  : class FileChooserParams
location: class android.webkit.WebChromeClient
    public boolean onShowFileChooser(WebView webView, final ValueCallback<Uri[]> filePathsCallback, final WebChromeClient.FileChooserParams fileChooserParams) {
                                                                                                                         ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java:273: cannot find symbol
symbol  : class PermissionRequest
location: class org.apache.cordova.engine.SystemWebChromeClient
    public void onPermissionRequest(final PermissionRequest request) {
                                          ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java:29: cannot find symbol
symbol  : class ClientCertRequest
location: package android.webkit
import android.webkit.ClientCertRequest;
                     ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java:116: cannot find symbol
symbol  : class ClientCertRequest
location: class org.apache.cordova.engine.SystemWebViewClient
    public void onReceivedClientCertRequest (WebView view, ClientCertRequest request)
                                                           ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java:251: cannot find symbol
symbol  : variable LOLLIPOP
location: class android.os.Build.VERSION_CODES
    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
                                  ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java:271: cannot find symbol
symbol  : variable LOLLIPOP
location: class android.os.Build.VERSION_CODES
    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
                                  ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewEngine.java:240: cannot find symbol
symbol  : variable KITKAT
location: class android.os.Build.VERSION_CODES
    @TargetApi(Build.VERSION_CODES.KITKAT)
                                  ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java:123: cannot find symbol
symbol  : variable KITKAT
location: class android.os.Build.VERSION_CODES
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
                                                            ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java:327: cannot find symbol
symbol  : variable SYSTEM_UI_FLAG_IMMERSIVE_STICKY
location: class android.view.View
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
                      ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java:37: cannot find symbol
symbol  : variable LOLLIPOP
location: class android.os.Build.VERSION_CODES
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                                                        ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java:38: cannot find symbol
symbol  : method setAcceptThirdPartyCookies(android.webkit.WebView,boolean)
location: class android.webkit.CookieManager
            cookieManager.setAcceptThirdPartyCookies(webView, true);
                         ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java:59: cannot find symbol
symbol  : variable LOLLIPOP
location: class android.os.Build.VERSION_CODES
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                                                        ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java:60: cannot find symbol
symbol  : method flush()
location: class android.webkit.CookieManager
            cookieManager.flush();
                         ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java:259: cannot find symbol
symbol  : variable FileChooserParams
location: class android.webkit.WebChromeClient
                    Uri[] result = WebChromeClient.FileChooserParams.parseResult(resultCode, intent);
                                                  ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java:252: method does not override or implement a method from a supertype
    @Override
    ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java:272: method does not override or implement a method from a supertype
    @Override
    ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewEngine.java:192: cannot find symbol
symbol  : variable KITKAT
location: class android.os.Build.VERSION_CODES
            android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
                                                                              ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewEngine.java:243: cannot find symbol
symbol  : method setWebContentsDebuggingEnabled(boolean)
location: class android.webkit.WebView
            WebView.setWebContentsDebuggingEnabled(true);
                   ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java:114: method does not override or implement a method from a supertype
    @Override
    ^
/Users/XXXXXXX/Desktop/studioapp4/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java:352: cannot find symbol
symbol  : variable KITKAT
location: class android.os.Build.VERSION_CODES
        return android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT && "content".equals(uri.getScheme());
                                                                                 ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
24 errors
:CordovaLib:compileDebugJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':CordovaLib: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: 3.856 secs

/Users/XXXXXXX/Desktop/studioapp4/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error code 1 for command: /Users/XXXXXXX/Desktop/studioapp4/platforms/android/gradlew with args: cdvBuildDebug,-b,/Users/XXXXXXX/Desktop/studioapp4/platforms/android/build.gradle,-Dorg.gradle.daemon=true
ERROR building one of the platforms: Error: /Users/XXXXXXX/Desktop/studioapp4/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/XXXXXXX/Desktop/studioapp4/platforms/android/cordova/build: Command failed with exit code 1
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:139: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)

Thanks to all!

Upvotes: 0

Views: 986

Answers (1)

lifeisfoo
lifeisfoo

Reputation: 16374

You have this error because you're set a too lower Android target for this version of Cordova.

E.g. The class android.webkit.ClientCertRequest was added only in API level 21

If you look at the latest Cordova documentation, you could see that Android 5.1.1 (API 22) platform SDK is required.

To compile, you must install, and set as target, a more newer android platform SDK.

Upvotes: 1

Related Questions