android 级别 api 20 的 Cordova 构建

Cordova build for android level api 20

我正在尝试为我的 android 4.4.4 构建一个使用 Angular2 + Ionic2(即 Cordova 6)制作的应用程序。 我注意到 android 的 4.4.4 版本被引用到 api 级别 20,所以这是我下载并安装的版本(api20 + android SDK Build Tools 20 级)。在 cordova 中,我编辑了 platforms/android/project.properties 和 platforms/android/CordovaLib/project.properties 以构建为 android-2O 而不是默认的 android-23 api。我还编辑了 AndroidManifest.xml.

当我尝试使用 cordova build android 编译我的项目时出现问题,cordova 执行一些 CordovaLib:instructions UP-TO-DATE 并在 CordovaLib:compileDebugJavaWithJavac..[=14 上执行错误=]

根据错误报告是:

platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java:25: error: cannot find symbol import android.webkit.ClientCertRequest; ^ symbol: class ClientCertRequest location: package android.webkit

在所有错误报告的末尾,它还说:

You may not have the required environment or OS to build this project Error: Error code 1 for command: platforms/android/gradlew with args: cdvBuildDebug,-b,/Users/thomas/Documents/www/MyProject/platforms/android/build.gradle,-Dorg.gradle.daemon=true,-Pandroid.useDeprecatedNdk=true

所以我来这里寻求帮助,因为我不知道Cordova和android-SDK有什么问题...

感谢所有帮助过的人 ;)

再见!

当您为 Android 构建时,有 targetSdkVersionminSdkVersion

targetSdkVersion 表示将使用哪个版本的 API 来编译程序,而不是 Android 的哪个版本必须在设备上,程序将是 运行上。

minSdkVersion 表示设备的最低版本 android 必须与您的程序兼容。

如果你降级 targetSdkVersion,你只能使用旧函数,如果你的程序使用新函数,它将无法编译(我认为如果你尝试编译专为API 23 与 API 20).

默认情况下,Cordova(至少对于 cordova-android 版本 5.1)使用 targetSdkVersion 23 和 minSdkVersion 14,这意味着程序应该在设备上运行 运行ing Android 冰淇淋三明治 (4.0) 或更新版本。

对于您的情况,您所要做的就是安装 SDK 23,不要触摸任何东西来尝试更改目标 SDK。