Phonegap总是要求我安装android sdk 19,但我已经安装了它

Phonegap总是要求我安装android sdk 19,但我已经安装了它,android,cordova,Android,Cordova,我就是这么做的: $ phonegap create myapp $ cd myapp $ phonegap run android 但它失败了 我检查了所有的东西。 我的环境正常,安装了最新版本。 我打字的时候 $ android 在我的CMD上,它显示我已经安装了所有最新更新,但无法使其正常工作: $ phonegap run android 它返回: ^ Error: Please install Android target 19

我就是这么做的:

$ phonegap create myapp
$ cd myapp
$ phonegap run android
但它失败了

我检查了所有的东西。 我的环境正常,安装了最新版本。 我打字的时候

$ android
在我的CMD上,它显示我已经安装了所有最新更新,但无法使其正常工作:

$ phonegap run android
它返回:

                         ^
Error: Please install Android target 19 (the Android newest 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.
    at C:\Users\yeayea\.cordova\lib\android\cordova\3.3.0\bin\lib\check_reqs.js:
80:29

请帮忙,否则我会上吊的(

我可以通过检查当前工作目录中是否检测到环境变量来解决此问题。 我运行phonegap run android的目录无法检测android环境变量,因此我将其复制到另一个目录c:/users//中,然后再次尝试,结果成功


如果您的sdk未安装在c:drive(主分区)中,则可能会发生这种情况。对于Windows,请在环境变量中尝试将java\bin目录置于Windows\system32目录之前

这使得SDK管理器可以使用java\bin目录中的java,否则将使用system32文件夹中的java


这应该会有帮助!

我也有同样的问题,我以为我安装了API 19,但我没有

在CMD中键入“android”

向下滚动至Android 4.2.2(API 19)

检查所有部件并安装它们


即使您已经安装了API 20和所有其他软件包和工具,您也需要它。

当您运行
phonegap create myApp
时,会有一个脚本检查您是否有特定的android平台版本。它要查找的平台在文件中(对于OS X):
/Users/username/.cordova/lib/android/cordova/3.5.0/framework/project.properties
而对于Cordova 3.5.0,则有以下内容:
target=android-19

Cordova和PhoneGap在这方面是相同的,因此对Cordova的任何提及也适用于PhoneGap

要检查是否已运行此目标,请执行以下操作:
android列表目标
,您应该有如下条目:

可用的Android目标:

id:1或“安卓-19”
名称:安卓4.4.2
类型:平台
空气污染指数:19
修订:3
皮肤:HVGA、QVGA、WQVGA400、WQVGA432、WSVGA、WVGA800(默认)、WVGA854、WXGA720、WXGA800、WXGA800-7英寸
标签/ABIs:default/armeabi-v7a

默认情况下,只安装最新的目标,当前为android-20

您有两个选择:

  • 安装与project.properties文件中的内容匹配的目标。这似乎是最好的方法,因为这将是测试cordova的目标
  • 编辑project.properties文件以匹配已安装的目标。这将使您克服此问题,但可能会产生意外影响
  • 如Curtis所说,要安装其他目标,请运行Android SDK管理器(
    Android
    )并选择所需的Android目标。请注意,工具文件夹下面会显示这些工具,其中也有许多不同版本,但安装不同版本的工具无法解决此问题


    您还可以在Android sdk的平台目录中看到已安装的目标。

    关于将cordova切换到已安装版本,我在C:\Users[username].cordova\lib\npm\u cache\cordova Android\3.6.4\package\framework\project.properties下找到了它。
    更改为target 21后,“cordova platform add android”起作用。感谢您的线程-非常有用。

    您是否检查过您的$PATH是否包含android 19 sdk的“工具”和“平台工具”路径?是的:(检查了一百万次,更改了文件夹,重新启动了我的电脑,但没有希望。你能从命令行运行“android”吗?是的,它运行没有问题,也许可以重新安装我的phonegap?错误消息的措辞很糟糕,但这帮助了Curtis。“目标”=API,版本为4.4.2。虽然我无法告诉您它的确切内容,但存在一些依赖于此包的cordova依赖项。干得好,Curtis!这为我解决了这个非常烦人的问题。感谢简短的说明。谢谢!我更新了/Users/username/.cordova/lib/android/cordova/3.5.0/framework/project.prope在Windows7中,我在/Users/username/.cordova下找到了三个project.properties文件。一个(在~templates中)说“target=This\u被替换”。两个说“target=android-19”其中一个在C:\Users\username\.cordova\lib\npm\u cache\cordova android\3.6.4\package\test\project.properties中,另一个在C:\Users\username\.cordova\lib\npm\u cache\cordova android\3.6.4\package\framework\project.properties中。根据前面的评论,我会更改framework中的一个,但如果随后出现问题,可能会有所帮助很高兴知道另一个存在!我很高兴!我刚刚在笔记本电脑上安装了SSD,在另一个硬盘上工作时无法添加android平台!非常感谢Viki293。