[英]“sudo cordova build android” error with CordovaLib:compileDebugJava on mac os x
我正在嘗試使用Cordova構建一個android應用。 我正在使用Cordova 5.2.0,並且想為Android 4.3.1進行構建,因此在我的project.properties中插入了:
target=android-18
不幸的是,當我發射
sudo cordova build android
我在“ CordovaLib:compileDebugJava”任務中獲得錯誤。
這是完整的錯誤報告:
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)
謝謝大家!
您遇到此錯誤是因為為此版本的Cordova設置的Android目標太低。
例如,僅在API級別21中添加了類android.webkit.ClientCertRequest。
如果您查看最新的Cordova文檔 ,則可能會看到需要Android 5.1.1(API 22)平台SDK 。
要進行編譯,您必須安裝一個更新的android平台SDK並將其設置為目標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.