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有什么问题......
谢谢所有帮助的人;)
再见!
当你为Android构建时,有targetSdkVersion和minSdkVersion.
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.