Cordova为Android级别api 20构建

Tho*_*INI 1 android build command-line-interface cordova

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

当我尝试用cordova build android编译我的项目时,问题出现了,cordova执行一些CordovaLib:指令UP-TO-DATE和CordovaLib上的bug:compileDebugJavaWithJavac ..

根据错误报告:

platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java:25:错误:找不到符号导入android.webkit.ClientCertRequest; ^符号:类ClientCertRequest位置:包android.webkit

在所有错误报告的最后,它还说:

您可能没有所需的环境或操作系统来构建此项目错误:命令的错误代码1:platforms/android/gradlew with args:cdvBuildDebug,-b,/ Users/thomas/Documents/www/MyProject/platforms/android/build .gradle,-Dorg.gradle.daemon =真,-Pandroid.useDeprecatedNdk =真

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

谢谢所有帮助的人;)

再见!

Qui*_*Fix 5

当你为Android构建时,有targetSdkVersionminSdkVersion.

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

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

如果你降级targetSdkVersion,你只能使用较旧的函数,如果你的程序使用较新的函数,它将无法编译(我认为如果你尝试使用API​​ 20编译为API 23设计的Cordova版本会发生什么).

默认情况下,Cordova(至少对于cordova-android的5.1版本)使用targetSdkVersion 23和minSdkVersion14,这意味着程序应该在运行Android Ice Cream Sandwich(4.0)或更新版本的设备上运行.

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