虽然有经验的phonegap和xcode,但我是android的新手。 我已经安装了phonegap 3.0 ......
npm install phonegap
phonegap --version
3.0.0-0.14.3
我已经安装了adt-bundle-mac-x86_64-20130729。命令行工具(例如:android)似乎工作正常。 当我尝试将android添加为平台时..
phonegap local build android
我明白了......
[error] Please install Android target 17 (the Android 4.2 SDK). Make sure you have the latest Android tools installed as well. Run `android` from your command-line to install/update any missing SDKs or tools.
我看到类似的问题仍然没有答案...... Phonegap 3.0 CLI issue android target number in build app
当我安装android-17时它工作正常,这很酷,但我需要使用android-18所以我可以使用BLE。
我看到Fil Maj明显在7月31日解决了这个问题...... https://git-wip-us.apache.org/repos/asf?p=cordova-android.git;a=commitdiff;h=c2c5f710
..但我似乎没有在我下载的phonegap版本中修复此问题。我想也许它只是在cordova,所以我也安装了它,但遇到了同样的问题。
我试图直接攻击包含检查的npm目录中的四个js文件,但是没有采取(即:错误仍然存在)。
任何人都可以建议......
1)如何在修复问题的情况下下载一个版本的phonegap / cordova,或者
2)如何告诉phonegap / cordova哪个版本的android我想定位
非常感谢...
答案 0 :(得分:11)
在Windows中查找文件android_parser.js
,它是路径:
C:\Users\USER_NAME\AppData\Roaming\npm\node_modules\cordova\src\metadata
更改文件android_parse.js
或如果您正在通过PhoneGap而不是Cordova提供申请:
C:\Users\USER_NAME\AppData\Roaming\npm\node_modules\phonegap\node_modules\cordova\src\metadata\android_parser.js
转到行:57
if (output.indexOf('android-17') == -1) {
并将其更改为:
if (output.indexOf('android') == -1) {
这将让你不了解未来:)
但是你可以发现这个Error
[Error: An error occured during creation of android sub-project.
]
要修复它你必须转到这条路径:
C:\Users\USER_NAME\.cordova\lib\android\cordova\3.1.0\framework\project.properties
并更改此行:
target=android-17
对此:
target=android-19
或者您的Android SDK版本
如果您想使用 Android 2.2 怎么办?
简单地转到:
Your_Project_Folder/platforms/android/AndroidManifest.xml
并改变:
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
要:
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="19" />
之后将项目导入IDE
享受:)
答案 1 :(得分:6)
如果有人使用cordova和/或Chrome移动应用工具链来到这里。我已将platforms/android/project.properties
直接编辑为target=android-19
并构建了它。
欢呼声
答案 2 :(得分:2)
只需打开AndroidManifest.xml文件并设置minimun和目标版本即可。在你的情况下18。 对问题Phonegap 3.0 CLI issue android target number in build app的答案相同。 AndroidManifest.xml 文件位于: YOURPROJECT \ platforms \ android 。如果您需要更多帮助,请尽量帮助您。 发布您的AndroidManifest.xml文件,以便我查看。
答案 3 :(得分:2)
转到函数check_requirements
中的\ cordova \ src \ metadata \ _ android_parser.js,将第56,57,66行从17更改为18.然后就可以了。
答案 4 :(得分:2)
确保您拥有最新版本:
sudo npm update -g phonegap
brew update android-sdk
然后运行android
,并下载最新的API。
然后,在运行phonegap build android
时,PhoneGap将默认使用最新的API。
如果您需要更新当前项目,请在项目文件夹中运行:
phonegap platform update android
现在,如果再次运行build
,它应该使用最新版本。
答案 5 :(得分:2)
我已经通过npm安装了cordova,因此为了使其工作,我修改了target
~/.cordova/lib/npm_cache/cordova-android/3.6.3/package/framework/project.properties
答案 6 :(得分:1)
我认为你有错误版本的Phonegap,我说0.3.0-0.15.0
。我认为Fil的修复肯定会进入最终构建,所以我认为你在安装Phonegap时必须做些傻瓜。这就是我所做的:
npm install cordova -g
(或者我想在你的情况下它将是Phonegap而不是cordova。)这将全局安装cordova(或phonegap),以便您可以使用'cordova'命令在任何地方访问它。 如果您已安装,请尝试npm update
而不是npm install
。
导航到工作区位置,例如C:\workspace
。
键入cordova create MyApp
,它将在C:\workspace\MyApp
创建一个Cordova项目。工作区将包含以下文件夹:
/www/
- 放置所有HTML和JavaScript的地方
/platforms/
- 这将包含android,ios和您添加的任何其他平台的文件夹。来自/ www /的东西将被复制到每个平台的正确位置。您可以在此处编辑特定于平台的文件,例如,要更改target-sdk,您要编辑/platforms/android/AndroidManifest.xml
。
/plugins/
- 当您执行cordova plugin add {link}
时,这就是所有插件代码的用武之地。我想不出你为什么要在这个文件夹中编辑任何东西的原因(但可能有一些好的。)
/merges/
- 此处的所有文件都会与/www/
中的相应文件合并,并推送到/platforms/
,请参阅documentation.
运行create命令后,需要添加平台:
cd MyApp
cordova platform add android -d
- -d为我们提供调试信息
cordova build android
- 这将构建Android应用,您会看到/www/
中的内容被复制到/platforms/android/assets/www
。
一
如果您仍然遇到问题,是否尝试了输出中的内容,即从命令行运行android
?这将打开“Android SDK Manager”,确保您安装了最新版本的SDK 以及最新的Android SDK工具和Android SDK平台工具(我的是22.0.5)和18.0.1,分别。)
如果您从未创建过Android模拟器对象(使用AVD管理器),也可能会出现问题,尽管听起来不太可能。
答案 7 :(得分:1)
C:\用户\ USER_NAME.cordova \ lib中\机器人\科尔多瓦\ 3.1.0 \框架\
应该在bumerang的anser
C:\用户\ USER_NAME.cordova \ lib中\机器人\科尔多瓦\ 3.1.0 \框架\ project.properties
答案 8 :(得分:1)
PhoneGap Build现在支持设置Android SDK版本的选项。它记录在here,但基本上你在config.xml中需要的是:
<preference name="android-targetSdkVersion" value="18" />
然后它将在AndroidManifest.xml中正确设置属性。
注意:这应该仅适用于PhoneGap构建,但我使用的是Ionic命令行工具(在Cordova 5.1.1上),它似乎对我也很好。
答案 9 :(得分:0)
从release notes of version 3.1.0
读取,它说:
- 增加Android 4.3 API级别18的版本检查
- 将项目升级到Android 4.3
因此,升级到Phonegap 3.1.0应该可以解决问题。
答案 10 :(得分:0)
你在错误的地方家伙
你应该尝试这个: phonegap本地构建android
这会将android添加到你的平台文件夹......