Ionic 需要 android target 19 ,我安装了 target 21

Ionic requires android target 19 , I have target 21 installed

尝试安装 ionic,添加 android 平台时出现以下错误

Error: Please install Android target "android-19".
Hint: Run "android" from your command-line to open the SDK manager.
    at /home/algotree/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/lib/check_reqs.js:174:19
    at _fulfilled (/home/algotree/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:798:54)
    at self.promiseDispatch.done (/home/algotree/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:827:30)
    at Promise.promise.promiseDispatch (/home/algotree/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:760:13)
    at /home/algotree/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:574:44
    at flush (/home/algotree/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:419:13)
Error: /home/algotree/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/create: Command failed with exit code 8
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:753:16)
    at Process.ChildProcess._handle.onexit (child_process.js:820:5)

但我已经安装了 android-21。我如何在不安装 target-19 的情况下使用它?

发生这种情况是因为当您 运行 命令 ionic create myApp.

时,会检查一个脚本以查看目标 android 版本

此脚本位于 cordova 目录中 - C:\Users\[user]\.cordova\lib\npm_cache\cordova-android.6.4\package\framework\project.properties(对于 windows)。

当您进入 project.properties 文件时,您会看到类似于下面的内容。

  1. split.density=false

  2. target=android-19

  3. apk-configurations=

  4. renderscript.opt.level=O0

  5. android.library=true

您需要修改包含 target=android-19 的行,例如 target=android-21 希望这会有所帮助,因为我对 Ionic 和混合移动开发还很陌生,但我记得读过一些人遇到同样问题。我自己遇到了这个错误,虽然我没有安装 android-19 来修复它的问题。

另一种无需在文件资源管理器中深入了解每个目录即可检查可用目标的方法是在 C:\Users\[user].

中 运行ning android list target

从您的项目根目录找到文件夹 [project_root]/platforms/android/project.properties 并替换您首选的目标

target=android-21 android.library.reference.1=CordovaLib