java - 在 project.properties 中设置构建路径

标签 java android eclipse ant build

我有一个使用 ant(ant 调试/发布)生成应用程序可执行文件的 android 项目。依赖项目路径已从 project.properties 中设置如下:

android.library.reference.1=../../../backup/cocos2d-x-2.2.1/cocos2dx/platform/android/java

android.library.reference.2=../../../backup/adt-bundle-mac-x86_64-20130522/sdk/extras/google/google_play_services/libproject/google-play-services_lib

但是路径是相对于我的系统的。我想用一些环境变量修改路径,例如:

android.library.reference.1=$COCOS_HOME/cocos2dx/platform/android/java

但它不起作用。 我是否必须在 ant 构建文件中的某处定义它? 我们将不胜感激。

最佳答案

扩展 Mads 的回答,您可以在随后加载的属性文件中使用环境变量,方法是首先使用 <property environment="env"/> 加载环境变量。在从 local.properties 或 project.properties 加载之前在 build.xml 文件中添加元素。在此之后,您可以通过以下方式在 project.properties 中使用环境变量:

android.library.reference.1=${env.COCOS_HOME}/cocos2dx/platform/android/java

假设 COCOS_HOME 是一个环境变量。

奇怪的是,库引用路径似乎只允许我的 Windows 系统上的相对路径(*nixes 怎么样?),所以我的环境变量 COCOS2DX_ROOT='D:\softwares\ANDROID\cocos2d-x-2.2'不起作用。

我认为有一种更简洁的方法可以解决环境特定路径的问题,这种方法使用local.properties 文件。

只需在 project.properties 旁边创建一个 local.properties 文件(如果它尚不存在),并在其中定义机器特定路径。例如,这是我的 local.propertiesproject.properties 文件的内容:

local.properties

COCOS2DX_ROOT_RELATIVE=../../../cocos2d-x-2.2
ANDROID_ROOT_RELATIVE=../../../adt-bundle-windows-x86-20131030/sdk
# location of the SDK. This is only used by Ant
# For customization when using a Version Control System, please read the
# header note.
sdk.dir=D:\\softwares\\ANDROID\\adt-bundle-windows-x86-20131030\\sdk

project.properties

android.library.reference.1=${COCOS2DX_ROOT_RELATIVE}/cocos2dx/platform/android/java
android.library.reference.2=${ANDROID_ROOT_RELATIVE}/extras/google/google_play_services/libproject/google-play-services_lib

由于 local.properties 首先加载到 build.xml 文件中,因此可以在 project.properties 中使用 ${...} 引用定义的属性。符号。

关于java - 在 project.properties 中设置构建路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21543022/

相关文章:

java - 当目标位于 NAT 之后时 VisualVM 远程工作?

java - 从 XMLBean 中删除属性

java - ImapIdleChannelAdapter javax.mail.AuthenticationFailedException : [ALERT] Too many simultaneous connections

java - 如何更改 eclipse RCP 应用程序中首选项页面的标题?

eclipse - Indigo 中的新 M2Eclipse 是否不再需要 maven-eclipse-plugin?

java - JBOSS 服务器停留在启动状态

java - 我收到无效字符常量错误,我做错了什么?

android - 如何将 BuildConfig 值传递给依赖模块?

java - 使用电源管理器

Android SQLite查询哪里哪里