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
文件时,您会看到类似于下面的内容。
split.density=false
target=android-19
apk-configurations=
renderscript.opt.level=O0
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
尝试安装 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.
此脚本位于 cordova 目录中 - C:\Users\[user]\.cordova\lib\npm_cache\cordova-android.6.4\package\framework\project.properties
(对于 windows)。
当您进入 project.properties
文件时,您会看到类似于下面的内容。
split.density=false
target=android-19
apk-configurations=
renderscript.opt.level=O0
android.library=true
您需要修改包含 target=android-19
的行,例如 target=android-21
希望这会有所帮助,因为我对 Ionic 和混合移动开发还很陌生,但我记得读过一些人遇到同样问题。我自己遇到了这个错误,虽然我没有安装 android-19 来修复它的问题。
另一种无需在文件资源管理器中深入了解每个目录即可检查可用目标的方法是在 C:\Users\[user]
.
android list target
从您的项目根目录找到文件夹 [project_root]/platforms/android/project.properties
并替换您首选的目标
target=android-21
android.library.reference.1=CordovaLib