14

虽然对 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 在构建应用程序中发出 android 目标编号

当我安装 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版本似乎没有这个修复。我想也许它只是在科尔多瓦,所以我也安装了它,但遇到了同样的问题。

我尝试破解直接包含检查的 npm 目录中的四个 js 文件,但这没有采取(即:错误仍然存​​在)。

任何人都可以请建议...

1) 如何下载修复了问题的 phonegap/cordova 版本,或

2) 如何告诉 phonegap/cordova 我想定位哪个版本的 android

非常感谢 ...

4

11 回答 11

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

享受 :)

于 2013-11-08T12:43:35.297 回答
6

如果有人使用 cordova 和/或 chrome 移动应用工具链到达这里。我platforms/android/project.properties直接编辑target=android-19并构建了它。

干杯

于 2014-01-29T01:04:04.657 回答
2

我已经通过 npm 安装了cordova,因此为了使其工作,我修改target~/.cordova/lib/npm_cache/cordova-android/3.6.3/package/framework/project.properties

于 2014-10-22T14:40:19.733 回答
2

确保您拥有最新版本:

  • 电话间隙:sudo npm update -g phonegap
  • Android SDK:取决于您的安装方式,如果您是通过 brew 安装的:brew update android-sdk

然后运行android​​,并下载最新的 API。

那么PhoneGap在运行时会默认使用最新的API phonegap build android

如果您需要更新当前项目,请在项目文件夹中运行:

phonegap platform update android

现在,如果您build再次运行,它应该使用最新版本。

于 2014-04-18T12:42:52.027 回答
2

只需打开您的 AndroidManifest.xml 文件并设置最小和目标版本。在您的情况下 18. 问题Phonegap 3.0 CLI issue android target number in build app的相同答案。在此处输入图像描述 AndroidManifest.xml文件位于:YOURPROJECT\platforms\android。如果您需要更多帮助,请询问,会尽力帮助您。发布您的 AndroidManifest.xml 文件,以便我检查。

于 2013-09-30T13:17:15.307 回答
2

在函数中转到 \cordova\src\metadata\android_parser.jscheck_requirements并将第 56、57、66 行从 17 更改为 18。然后就可以了。

于 2013-11-01T19:31:00.913 回答
1

C:\Users\USER_NAME.cordova\lib\android\cordova\3.1.0\framework\

应该在bumerang的anser中

C:\Users\USER_NAME.cordova\lib\android\cordova\3.1.0\framework\project.properties

于 2013-11-16T08:38:18.843 回答
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. 工作区将具有以下文件夹:

/www/- 放置所有 HTML 和 JavaScript 的地方

/platforms/- 这将包含 android、ios 和您添加的任何其他平台的文件夹。您来自 /www/ 的内容将被复制到每个平台的正确位置。您可以在此处编辑特定于平台的文件,例如,要更改目标 SDK,您要编辑/platforms/android/AndroidManifest.xml.

/plugins/- 这是所有插件代码在你做的时候都会去的地方cordova plugin add {link}。我想不出你应该编辑这个文件夹中的任何内容的任何理由(但可能有一些好的。)

/merges/- 这里的任何文件都将与相应的文件合并/www/并推入/platforms/,请参阅文档。

运行 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 管理器),也可能会出现问题,尽管这听起来不太可能。

于 2013-10-04T19:15:57.540 回答
1

PhoneGap Build 现在支持设置 Android SDK 版本的选项。它记录在这里,但基本上你在 config.xml 中需要的是:

  <preference name="android-targetSdkVersion" value="18" />

然后它将在 AndroidManifest.xml 中正确设置属性。

注意:这据说只适用于 PhoneGap 构建,但我使用的是 Ionic 命令行工具(在 Cordova 5.1.1 上),它似乎对我也很好。

于 2015-08-28T17:24:45.850 回答
0

你来错地方了伙计们

你应该试试这个:phonegap local build android

这会将android添加到您的平台文件夹中...

于 2013-12-03T13:13:16.673 回答
0

version 的发行说明中3.1.0阅读,它说:

  • Android 4.3 API Level 18 的递增版本检查
  • 将项目升级到 Android 4.3

因此,升级到 Phonegap 3.1.0 应该可以解决问题。

于 2013-11-03T13:01:39.027 回答