0

我正在尝试将我的科尔多瓦项目迁移到人行横道。

我正在使用 [以下下载] ( 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

我正在关注将科尔多瓦项目迁移到人行横道的链接。

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
4

2 回答 2

0

我一直在使用 crosswalk 9+cordova 3.5,但我认为你应该尝试使用 cordova android 3.6.3 而不是 3.6.4:

cordova platform remove android
cordova platform add android@3.6.3

然后您可以再次遵循迁移指南并将cordova-lib 替换为crosswalk-cordova。

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

于 2015-02-21T01:10:07.503 回答
0

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

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

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

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

于 2015-02-21T23:17:51.397 回答