SDK.DIR不见了? android更新项目?

我遇到这个错误

$ ant release sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var 

在android更新项目中input我得到另一个错误,说我必须指定path….到项目。

然后我尝试进入我的项目的目录,并做

 android update -p . android update -path . 

它说, -p-path不是全局识别的。

有人能给我准确的语法吗?

cd到项目目录并执行以下命令:project是该命令的一部分,不能用实际的项目名称replace。 文件没有说清楚,应该改进。

  android update project -p . 

您可以使用命令行参数来设置sdk.dir,例如:

 ant -f xyz/build.xml clean release -Dsdk.dir=/Applications/adt-bundle-mac/sdk/ 

您可以在projet.properties文件中使用sdk.dir来定义sdk home或使用环境variables(对于团队工作更灵活)。

 export ANDROID_HOME=<the path to your sdks> 

您可以使用以下ant命令将ANDROID_HOME环境variables注入到sdk.dir属性中。

 $ ant debug -Dsdk.dir=$ANDROID_HOME 

ANDROID_HOME必须是绝对path,例如/Users/jameswald/Development/android-sdk-macosx

我有同样的问题。 经过几分钟的命令行命令后,我直接编辑了local.properties文件。

你应该有一个叫做local.properties的文件

 <app-directory>\platforms\android 

夹。 如果你没有一个,那么你可以创build它。

在文件中应该有一个引用,指定ant可以find你的android SDK的位置。 它应该是这样的:

 sdk.dir=C:\\<path-to-sdk>\\sdk 

只需更新您的详细信息,将其指向您正确的android sdk文件夹。

双“\”出现在我的文件中。 不知道为什么,但似乎工作。 🙂

注意:这个文件也需要被复制到你的CordovaLib文件夹中,这个文件夹更深一层: <app-directory>\platforms\android\CordovaLib

这应该创build/修复ant的local.properties:

android update project –name –target –path

名称参数是可选的

目标是api版本

更多信息在这里https://developer.android.com/tools/projects/projects-cmdline.html#UpdatingAProject

android update project -p . 可能会解决您的问题。 有时一旦你执行android update project -p . 你可能最终得到一个O / P像这样。

 Updated local.properties ---------- build.xml: Failed to find version-tag string. File must be updated. In order to not erase potential customizations, the file will not be automatically regenerated. If no changes have been made to the file, delete it manually and run the command again. If you have made customizations to the build process, the file must be manually updated. It is recommended to: * Copy current file to a safe location. * Delete original file. * Run command again to generate a new file. * Port customizations to the new file, by looking at the new rules file located at <SDK>/tools/ant/build.xml * Update file to contain version-tag: custom to prevent file from being rewritten automatically by the SDK tools. ---------- Updated file ./proguard-project.txt It seems that there are sub-projects. If you want to update them please use the --subprojects parameter. 

如果是这样的尝试这个命令android update project -p . -s android update project -p . -s

ANDROID_HOME必须设置在正确的上下文中 – 只要你有它,例如你的bashrc并不意味着当你通过点击图标启动时设置var(bashrc doesn not get executed then – 但是当检查是否设置了env var时在控制台上)

你也可以把它放在studio.sh中:

 #!/bin/sh # # --------------------------------------------------------------------- # Android Studio startup script. # --------------------------------------------------------------------- # export ANDROID_HOME=/home/ligi/bin/android-sdk/ message() { 

我有同样的问题,事实certificate,由于某种原因的ant脚本之一是引用C:\ant硬编码path,因为我的ant在C:\apache-ant-{version}它找不到它。 重命名后,ant目录一切工作正常。

为了参考我观察到这个问题的文件是\apache-ant-{version}\bin\ant.bat :106行

编辑:我正在使用Windows 8

是的,这些解决scheme都没有为我工作。 这是从这里做的:

在Mac OS X上设置ANDROID_HOME环境variables

打开terminal窗口并input以下内容(我希望这是sdk的完整path):

导出ANDROID_HOME = / Applications / ADT / sdk一旦你有了这个设置,你需要把它添加到PATH环境variables

export PATH = $ PATH:$ ANDROID_HOME / bin