科尔多瓦Android项目不编译 [英] Cordova Android project doesn't compile

查看:834
本文介绍了科尔多瓦Android项目不编译的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

科尔多瓦版本:4.3.0

Java版本1.8.0_4064

OS X 10.10.2

蚂蚁版本:1.9.4

我使用的是目标的Andr​​oid SDK是19。

当我运行的平台/安卓/ CordovaLib我得到错误下面的输出文件夹蚂蚁发布

 构建文件:... /平台/安卓/ CordovaLib / build.xml文件

-set模式检查:

-set释放模式:

 - 释放 - 混淆检查:
     [回应] proguard.config为$ {proguard.config}

 -  pre-构建:

-check-ENV:
 [checkenv] Android的SDK工具版本24.1.2
 [checkenv]安装在/Users/.../Library/Android/sdk

-建立:
     [回应]项目名称:MainActivity
  [的GetType]项目类型:安卓库

-build-设置:
[getbuildtools]使用最新版本的工具:21.1.2
     [回应]解决构建目标的MainActivity ...
[getTarget方法]项目目标:安卓4.4.2
[getTarget方法] API级别:19
     [回声]  -  -  -  -  - 
     [回应]如果需要创建输出目录...
    [MKDIR]创建目录:... /平台/安卓/ CordovaLib /斌/ rsObj
    [MKDIR]创建目录:... /平台/安卓/ CordovaLib /斌/ rsLibs
     [回声]  -  -  -  -  - 
     [回应]解决依赖于MainActivity ...
[相关]库的依赖关系:
[相关]无库
[相关]
[相关] ------------------
     [回声]  -  -  -  -  - 
     [回应]图书馆建设与放...
   [subant]无子构建迭代上

 -  code-创:
[mergemanifest]没有在AndroidManifest文件中的变化。
     [回应]使用AIDL文件...
     [AIDL]没有AIDL文件进行编译。
     [回声]  -  -  -  -  - 
     [回应]处理RenderScript文件...
     [回声]  -  -  -  -  - 
     [回应]处理资源...
     [AAPT]没有改变资源。 R.java和Manifest.java不变。
     [回声]  -  -  -  -  - 
     [回应]处理BuildConfig类...
[buildconfig]生成BuildConfig类。

 -  pre-编译:

-compile:
    [javac的] 98编译源文件... /平台/安卓/ CordovaLib /斌/班
    [javac的]警告:[选项]源值为1.5已过时,会在将来的版本中删除
    [javac的]警告:[选项]目标值1.5已过时,会在将来的版本中删除
    [javac的]警告:[options]为坐席约过时的选项preSS警告,使用-Xlint:-options。
    [javac的] ... /平台/安卓/ CordovaLib / SRC /组织/阿帕奇/科尔多瓦/ CordovaWebViewClient.java:35:错误:找不到符号
    [javac的]进口android.webkit.ClientCertRequest;
    [javac的] ^
    [javac的]符号:类ClientCertRequest
    [javac的]地址:包android.webkit
    [javac的] ... /平台/安卓/ CordovaLib / SRC /组织/阿帕奇/科尔多瓦/ CordovaWebViewClient.java:145:错误:找不到符号
    [javac的]公共无效onReceivedClientCertRequest(web视图来看,ClientCertRequest要求)
    [javac的] ^
    [javac的]符号:类ClientCertRequest
    [javac的]地址:类CordovaWebViewClient
    [javac的] ... /平台/安卓/ CordovaLib / SRC /组织/阿帕奇/科尔多瓦/ CordovaChromeClient.java:342:错误:找不到符号
    [javac的]公共布尔onShowFileChooser(的WebView web视图,最终ValueCallback<乌里[]> filePathsCallback,最终WebChromeClient.FileChooserParams fileChooserParams){
    [javac的] ^
    [javac的]符号:类FileChooserParams
    [javac的]地址:类WebChromeClient
    [javac的] ... /平台/安卓/ CordovaLib / SRC /组织/阿帕奇/科尔多瓦/ CordovaClientCertRequest.java:25:错误:找不到符号
    [javac的]进口android.webkit.ClientCertRequest;
    [javac的] ^
    [javac的]符号:类ClientCertRequest
    [javac的]地址:包android.webkit
    [javac的] ... /平台/安卓/ CordovaLib / SRC /组织/阿帕奇/科尔多瓦/ CordovaClientCertRequest.java:32:错误:找不到符号
    [javac的]私人最终ClientCertRequest请求;
    [javac的] ^
    [javac的]符号:类ClientCertRequest
    [javac的]地址:类CordovaClientCertRequest
    [javac的] ... /平台/安卓/ CordovaLib / SRC /组织/阿帕奇/科尔多瓦/ CordovaClientCertRequest.java:34:错误:找不到符号
    [javac的]公共CordovaClientCertRequest(ClientCertRequest要求){
    [javac的] ^
    [javac的]符号:类ClientCertRequest
    [javac的]地址:类CordovaClientCertRequest
    [javac的] ... /平台/安卓/ CordovaLib / SRC /组织/阿帕奇/科尔多瓦/ CordovaChromeClient.java:340:错误:找不到符号
    [javac的] @TargetApi(Build.VERSION_ codeS.LOLLIPOP)
    [javac的] ^
    [javac的]符号:变量LOLLIPOP
    [javac的]地址:类VERSION_ codeS
    [javac的] ... /平台/安卓/ CordovaLib / SRC /组织/阿帕奇/科尔多瓦/ CordovaWebView.java:197:错误:找不到符号
    [javac的]如果(Build.VERSION.SDK_INT> = Build.VERSION_ codeS.LOLLIPOP)
    [javac的] ^
    [javac的]符号:变量LOLLIPOP
    [javac的]地址:类VERSION_ codeS
    [javac的] ... /平台/安卓/ CordovaLib / SRC /组织/阿帕奇/科尔多瓦/ CordovaWebView.java:200:错误:找不到符号
    [javac的] cookieManager.setAcceptThirdPartyCookies(这一点,真正的);
    [javac的] ^
    [javac的]符号:方法setAcceptThirdPartyCookies(CordovaWebView,布尔)
    [javac的]地址:类型CookieManager变量cookieManager
    [javac的] ... /平台/安卓/ CordovaLib / SRC /组织/阿帕奇/科尔多瓦/ CordovaWebViewClient.java:143:错误:方法不覆盖或超类型实现方法
    [javac的] @覆盖
    [javac的] ^
    [javac的] ... /平台/安卓/ CordovaLib / SRC /组织/阿帕奇/科尔多瓦/ CordovaChromeClient.java:341:错误:方法不覆盖或超类型实现方法
    [javac的] @覆盖
    [javac的] ^
    [javac的] ... /平台/安卓/ CordovaLib / SRC /组织/阿帕奇/科尔多瓦/ CordovaChromeClient.java:348:错误:找不到符号
    [javac的]开放的[]导致= WebChromeClient.FileChooserParams.parseResult(结果code,意图);
    [javac的] ^
    [javac的]符号:变量FileChooserParams
    [javac的]地址:类WebChromeClient
    [javac的]注意:某些输入文件使用或覆盖脱precated API。
    [javac的]注:重新编译-Xlint:德precation了解详细信息。
    [javac的] 12错误
    [javac的] 3警告

构建失败
/Users/.../Library/Android/sdk/tool​​s/ant/build.xml:720:执行此行出现以下错误:
/Users/.../Library/Android/sdk/tool​​s/ant/build.xml:734:编译失败;详见编译器错误输出。

总时间:3秒
 

机器人,蚂蚁,JAVA都在PATH。

我试着摆弄目标的SDK,并尝试下载不同的版本,但我已经江郎才尽。任何帮助将是非常美联社preciated。

AndroidManifest - 从CordovaLib文件夹:

 <舱单的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
      包=org.apache.cordova机器人:VERSIONNAME =1.0安卓版code =1>
    <使用-SDK安卓的minSdkVersion =14机器人:targetSdkVersion =19/>
< /舱单>
 

不明白为什么它是指在错误消息棒棒糖,然后为什么不能找到它,因为它的安装。

解决方案

我想这是因为在科尔多瓦4.3.0已经引用的android.webkit.ClientCertRequest,这是新的API级别21加入。

供参考:<一href="https://developer.android.com/reference/android/webkit/ClientCertRequest.html">https://developer.android.com/reference/android/webkit/ClientCertRequest.html

Cordova version: 4.3.0

java version "1.8.0_40" 64bit

OS X 10.10.2

Ant version: 1.9.4

Target android SDK I'm using is 19.

When I run 'ant release' in the platforms/android/CordovaLib folder I get the following output with error:

Buildfile: .../platforms/android/CordovaLib/build.xml

-set-mode-check:

-set-release-mode:

-release-obfuscation-check:
     [echo] proguard.config is ${proguard.config}

-pre-build:

-check-env:
 [checkenv] Android SDK Tools Revision 24.1.2
 [checkenv] Installed at /Users/.../Library/Android/sdk

-setup:
     [echo] Project Name: MainActivity
  [gettype] Project Type: Android Library

-build-setup:
[getbuildtools] Using latest Build Tools: 21.1.2
     [echo] Resolving Build Target for MainActivity...
[gettarget] Project Target:   Android 4.4.2
[gettarget] API level:        19
     [echo] ----------
     [echo] Creating output directories if needed...
    [mkdir] Created dir: .../platforms/android/CordovaLib/bin/rsObj
    [mkdir] Created dir: .../platforms/android/CordovaLib/bin/rsLibs
     [echo] ----------
     [echo] Resolving Dependencies for MainActivity...
[dependency] Library dependencies:
[dependency] No Libraries
[dependency] 
[dependency] ------------------
     [echo] ----------
     [echo] Building Libraries with 'release'...
   [subant] No sub-builds to iterate on

-code-gen:
[mergemanifest] No changes in the AndroidManifest files.
     [echo] Handling aidl files...
     [aidl] No AIDL files to compile.
     [echo] ----------
     [echo] Handling RenderScript files...
     [echo] ----------
     [echo] Handling Resources...
     [aapt] No changed resources. R.java and Manifest.java untouched.
     [echo] ----------
     [echo] Handling BuildConfig class...
[buildconfig] Generating BuildConfig class.

-pre-compile:

-compile:
    [javac] Compiling 98 source files to .../platforms/android/CordovaLib/bin/classes
    [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release
    [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release
    [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    [javac] .../platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewClient.java:35: error: cannot find symbol
    [javac] import android.webkit.ClientCertRequest;
    [javac]                      ^
    [javac]   symbol:   class ClientCertRequest
    [javac]   location: package android.webkit
    [javac] .../platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewClient.java:145: error: cannot find symbol
    [javac]     public void onReceivedClientCertRequest (WebView view, ClientCertRequest request)
    [javac]                                                            ^
    [javac]   symbol:   class ClientCertRequest
    [javac]   location: class CordovaWebViewClient
    [javac] .../platforms/android/CordovaLib/src/org/apache/cordova/CordovaChromeClient.java:342: error: cannot find symbol
    [javac]     public boolean onShowFileChooser(WebView webView, final ValueCallback<Uri[]> filePathsCallback, final WebChromeClient.FileChooserParams fileChooserParams) {
    [javac]                                                                                                                          ^
    [javac]   symbol:   class FileChooserParams
    [javac]   location: class WebChromeClient
    [javac] .../platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java:25: error: cannot find symbol
    [javac] import android.webkit.ClientCertRequest;
    [javac]                      ^
    [javac]   symbol:   class ClientCertRequest
    [javac]   location: package android.webkit
    [javac] .../platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java:32: error: cannot find symbol
    [javac]     private final ClientCertRequest request;
    [javac]                   ^
    [javac]   symbol:   class ClientCertRequest
    [javac]   location: class CordovaClientCertRequest
    [javac] .../platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java:34: error: cannot find symbol
    [javac]     public CordovaClientCertRequest(ClientCertRequest request) {
    [javac]                                     ^
    [javac]   symbol:   class ClientCertRequest
    [javac]   location: class CordovaClientCertRequest
    [javac] .../platforms/android/CordovaLib/src/org/apache/cordova/CordovaChromeClient.java:340: error: cannot find symbol
    [javac]     @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    [javac]                                   ^
    [javac]   symbol:   variable LOLLIPOP
    [javac]   location: class VERSION_CODES
    [javac] .../platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebView.java:197: error: cannot find symbol
    [javac]         if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
    [javac]                                                        ^
    [javac]   symbol:   variable LOLLIPOP
    [javac]   location: class VERSION_CODES
    [javac] .../platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebView.java:200: error: cannot find symbol
    [javac]             cookieManager.setAcceptThirdPartyCookies(this, true);
    [javac]                          ^
    [javac]   symbol:   method setAcceptThirdPartyCookies(CordovaWebView,boolean)
    [javac]   location: variable cookieManager of type CookieManager
    [javac] .../platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewClient.java:143: error: method does not override or implement a method from a supertype
    [javac]     @Override
    [javac]     ^
    [javac] .../platforms/android/CordovaLib/src/org/apache/cordova/CordovaChromeClient.java:341: error: method does not override or implement a method from a supertype
    [javac]     @Override
    [javac]     ^
    [javac] .../platforms/android/CordovaLib/src/org/apache/cordova/CordovaChromeClient.java:348: error: cannot find symbol
    [javac]                     Uri[] result = WebChromeClient.FileChooserParams.parseResult(resultCode, intent);
    [javac]                                                   ^
    [javac]   symbol:   variable FileChooserParams
    [javac]   location: class WebChromeClient
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] 12 errors
    [javac] 3 warnings

BUILD FAILED
/Users/.../Library/Android/sdk/tools/ant/build.xml:720: The following error occurred while executing this line:
/Users/.../Library/Android/sdk/tools/ant/build.xml:734: Compile failed; see the compiler error output for details.

Total time: 3 seconds

android, ant, java are all in in the PATH.

I've tried fiddling with the target sdks and tried downloading different versions but I've run out of ideas. Any help would be much appreciated.

AndroidManifest - from CordovaLib folder:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="org.apache.cordova" android:versionName="1.0" android:versionCode="1">
    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />
</manifest>

Don't understand why it refers to LOLLIPOP in the error message and then why can't it find it since it's installed.

解决方案

I think it's because the Cordova 4.3.0 has referenced the android.webkit.ClientCertRequest, which is newly added in API level 21.

FYI: https://developer.android.com/reference/android/webkit/ClientCertRequest.html

这篇关于科尔多瓦Android项目不编译的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆