cordova人行横道项目迁移 - 错误

时间:2015-02-20 11:24:46

标签: android cordova ant crosswalk-runtime

我正在尝试将我的cordova项目迁移到人行横道。

我正在使用[跟随下载](https://download.01.org/crosswalk/releases/crosswalk/android/stable/10.39.235.15/arm/crosswalk-cordova-10.39.235.15-arm.zip)人行横道。

我的系统有android 4.4& 4.3安装CLI SDK。 我想为Android 4.3(API 18)编译我的Android应用程序。

" cordova -v"命令运行输出:

4.2.0

" cordova平台版android"命令运行输出:

Installed platforms: android 3.6.4
Available platforms: amazon-fireos, blackberry10, browser, firefoxos, windows, windows8, wp8

我正在关注following link将cordova项目迁移到人行横道。

VERSION文件包含字符串:

3.6.3

我在" ant dbg"中遇到以下错误阶段。请建议如何解决?

" ant dbg"命令运行输出:

debug:

-code-gen:
[mergemanifest] Found Deleted Target File
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
     [echo] Handling aidl files...
     [aidl] No AIDL files to compile.
     [echo] ----------
     [echo] Handling RenderScript files...
     [echo] ----------
     [echo] Handling Resources...
     [aapt] Found Deleted Target File
     [aapt] Generating resource IDs...
     [echo] ----------
     [echo] Handling BuildConfig class...
[buildconfig] Generating BuildConfig class.

-pre-compile:

-compile:
    [javac] Compiling 43 source files to D:\HTML_genny\Git\cordova_projects\2_cr
osswalk\2\test\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] D:\HTML_genny\Git\cordova_projects\2_crosswalk\2\test\platforms\andr
oid\CordovaLib\src\com\squareup\okhttp\internal\http\HttpsURLConnectionImpl.java
:347: error: method does not override or implement a method from a supertype
    [javac]   @Override public void setFixedLengthStreamingMode(long contentLeng
th) {
    [javac]   ^
    [javac] D:\HTML_genny\Git\cordova_projects\2_crosswalk\2\test\platforms\andr
oid\CordovaLib\src\org\apache\cordova\CordovaActivity.java:302: error: cannot fi
nd symbol
    [javac]         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    [javac]                                                         ^
    [javac]   symbol:   variable KITKAT
    [javac]   location: class VERSION_CODES
    [javac] D:\HTML_genny\Git\cordova_projects\2_crosswalk\2\test\platforms\andr
oid\CordovaLib\src\org\apache\cordova\CordovaActivity.java:309: error: cannot fi
nd symbol
    [javac]                     | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
    [javac]                           ^
    [javac]   symbol:   variable SYSTEM_UI_FLAG_IMMERSIVE_STICKY
    [javac]   location: class View
    [javac] D:\HTML_genny\Git\cordova_projects\2_crosswalk\2\test\platforms\andr
oid\CordovaLib\src\org\apache\cordova\IceCreamCordovaWebViewClient.java:86: erro
r: cannot find symbol
    [javac]         return android.os.Build.VERSION.SDK_INT >= android.os.Build.
VERSION_CODES.KITKAT && "content".equals(uri.getScheme());
    [javac]
             ^
    [javac]   symbol:   variable KITKAT
    [javac]   location: class VERSION_CODES
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] 4 errors
    [javac] 3 warnings

BUILD FAILED
C:\Program Files (x86)\Android\android-sdk\tools\ant\build.xml:720: The followin
g error occurred while executing this line:
C:\Program Files (x86)\Android\android-sdk\tools\ant\build.xml:734: Compile fail
ed; see the compiler error output for details.

Total time: 4 seconds

2 个答案:

答案 0 :(得分:0)

我只使用了人行横道9 + cordova 3.5,但我认为你应该尝试使用cordova android 3.6.3而不是3.6.4:

cordova platform remove android
cordova platform add android@3.6.3

然后你可以再次关注迁移指南并用crosswalk-cordova替换cordova-lib。

并确保指定--target" android-19"在构建xwalk_core_library时。

答案 1 :(得分:0)

好的,我已经对您的错误消息进行了一些搜索。

错误说在HttpsURLConnectionImpl.java中找不到方法setFixedLengthStreamingMode(long contentLength)。

似乎setFixedLengthStreamingMode是java 7中的新功能,所以我猜你使用的是旧版本的java。

确定,在终端中运行java -version。如果输出显示Java版本1.6.x,那么在升级到java 7或8之后应该解决您的问题。