简体   繁体   English

Cordova没有“看到” Android SDK版本

[英]Cordova does not “see” Android SDK version

I am in the process of setting up a new Cordova CLI toolchain to build hybrid Android apps that target Android 5.1+. 我正在设置一个新的Cordova CLI工具链,以构建针对Android 5.1+的混合Android应用程序。 I am using 我在用

  • Node 8.9.2 节点8.9.2
  • Cordova 7.1.0 科尔多瓦7.1.0

After issuing a cordova create... command to create a new Cordova project I proceeded to add Android 5.1 using cordova platform add android@5.1.0 which went smoothly. 发出cordova create...命令创建一个新的Cordova项目后,我继续使用cordova platform add android@5.1.0 ,从而顺利地添加了Android 5.1。

I have also ensured that I have the relevant Android SDKs available and pointed at properly via ANDROID_HOME . 我还确保可以使用相关的Android SDK,并通过ANDROID_HOME正确指向。 I currently have SDKs 19 through to 27 installed. 我目前安装了19至27个SDK。

However, when I issue a cordova build android I get the message Error: Android SDK not found . 但是,当我发布cordova build android ,出现消息Error: Android SDK not found Strangely enough if I let Cordova install its current default Android version via cordova platform add android which adds Android 6.3.1 it then lets me build the project without any further ado. 足够奇怪的是,如果我让Cordova通过cordova platform add android安装其当前的默认Android版本,请cordova platform add android并添加Android 6.3.1,然后我就可以轻松构建项目。

Is this a matter of Cordova 7.1.0 simply not wanting to play ball with lower versions of Android or is there something else going on here? 这是Cordova 7.1.0的问题,只是不想在较低版本的Android上玩,还是这里发生了其他事情? Can I get around this by installing an older version of Cordova via npm? 我可以通过npm安装较旧版本的Cordova来解决此问题吗? If so, which version should I install - and how? 如果是这样,我应该安装哪个版本-以及如何安装?

Your problem is you're adding an old version of the cordova-android platform project, ( v5.1.0 ) which is over 2 years old and not compatible with the cordova@7.1.0 CLI. 您的问题是您要添加Cordova-android平台项目( v5.1.0 )的旧版本,该项目已存在2年以上,并且与cordova@7.1.0 CLI不兼容。

If you want to target Android 5.1+, you don't need to use cordova-android@5.1.0 , you need to specify a preference in the config.xml to target Android 5.1 (API 22) and above: 如果要定位到Android 5.1+,则无需使用cordova-android@5.1.0 ,您需要config.xml指定一个首选项以定位Android 5.1(API 22)及更高版本:

<preference name="android-minSdkVersion" value="22" />

You probably want to use the default cordova-android platform version (6.3.1), unless you need to do stuff with Android Studio 3, in which case use cordova platform add android@latest which will add cordova-android@7.0.0 and requires Gradle 4 to build ( see here ). 您可能要使用默认的cordova-android平台版本(6.3.1),除非您需要对Android Studio 3进行处理,在这种情况下,请使用cordova platform add android@latest ,这将添加cordova-android@7.0.0和需要Gradle 4构建( 请参阅此处 )。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM