Android 如何使用Ant从中读取project.properties和库项目的所有路径?
我试图阅读包含以下内容的project.properties。我使用了带有前缀的属性,但无法达到我的目的Android 如何使用Ant从中读取project.properties和库项目的所有路径?,android,ant,Android,Ant,我试图阅读包含以下内容的project.properties。我使用了带有前缀的属性,但无法达到我的目的 target=android-17 android.library.reference.1=submodules/Switchbar android.library.reference.2=submodules/Volley android.library.reference.3=libs/ActionBar/library 我只想获取字符串或列表[submodules/Switchba
target=android-17
android.library.reference.1=submodules/Switchbar
android.library.reference.2=submodules/Volley
android.library.reference.3=libs/ActionBar/library
我只想获取字符串或列表[submodules/Switchbar,submodules/Switchbar,libs/ActionBar/library],并尝试将它们用于其他需求
谢谢。您可以编写一个sinle属性,如
android.library.reference=submodules/Switchbar,submodules/Volley,libs/ActionBar/library
并在build.xml中使用它
例如,您可以使用
或
迭代列表并对每个项目执行代码。您可以在某些任务中直接使用它,因为它们本机支持此类“逗号分隔列表”(例如包含和排除
)
如果希望保持当前方式(使用相同前缀编写多个属性),可以使用
在ant构建文件中编写脚本来处理属性。您可以使用ruby、python、Beanshell(Java)、groovy等等。您还可以使用这种方式处理单个属性
所以,你最好在你的问题上多发一些帖子:你的“其他要求”是什么?如何使用属性或“列表”?Android的ant构建文件有一个预定义的任务:
<getlibpath projectPath="${any.path.to.android.project}" libraryFolderPathOut="full.project.library.path.list" />
它返回特定构建中涉及的所有库项目(包括lib项目的lib项目)
可于
<import file="${sdk.dir}/tools/ant/build.xml"/>
它会自动包含在初始构建脚本中(在运行android更新项目-p
之后)
更准确地说,“${sdk.dir}/tools/ant/build.xml”的下一部分发挥了神奇的作用(我将getlibpath直接包含在我的构建脚本中)
<!-- jar file from where the tasks are loaded -->
<path id="android.antlibs">
<pathelement path="${sdk.dir}/tools/lib/ant-tasks.jar" />
</path>
<!-- Custom tasks -->
<taskdef resource="anttasks.properties" classpathref="android.antlibs" />