我需要在 Android 构建过程中使用 ANT,因为最后我需要创建两个版本的应用程序(FULL 和 LITE)。当我使用命令行工具创建新项目时,它会为我生成所有必要的构建文件(build.xml、local.properties、build.properties 和 default.properties,哦,还有 proguard.cfg)。我的完整版应用程序需要一个市场许可库(位于我的 ${sdk.dir}/extras/google/market_licensing/library。所以在 Eclipse 中,我定义了这个库的位置,如果我从 Eclipse 运行我的应用程序,它就可以工作. 现在如果我在我的应用程序上运行 ant 脚本
${my.project-home}$ ant
Buildfile: ${my.project-home}/build.xml
[setup] Android SDK Tools Revision 10
[setup] Project Target: Android 2.1-update1
[setup] API level: 7
[setup]
[setup] ------------------
[setup] Resolving library dependencies:
BUILD FAILED
${my.project-home}/build.xml:77: ../../../android-sdk-mac_86/extras/google/market_licensing/library resolve to a path with no default.properties file for project ${my.project-home}
我的 default.properties 看起来像
target=android-7
android.library=false
android.library.reference.1=../../../android-sdk-mac_86/extras/google/market_licensing/library
还有我的 build.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project name="MyMeasures">
<!-- The local.properties file is created and updated by the 'android'
tool.
It contains the path to the SDK. It should *NOT* be checked into
Version Control Systems. -->
<property file="local.properties" />
<!-- The build.properties file can be created by you and is never touched
by the 'android' tool. This is the place to change some of the
default property values used by the Ant rules.
Here are some properties you may want to change/update:
source.dir
The name of the source directory. Default is 'src'.
out.dir
The name of the output directory. Default is 'bin'.
Properties related to the SDK location or the project target should
be updated using the 'android' tool with the 'update' action.
This file is an integral part of the build system for your
application and should be checked into Version Control Systems.
-->
<property file="build.properties" />
<!-- The default.properties file is created and updated by the 'android'
tool, as well as ADT.
This file is an integral part of the build system for your
application and should be checked into Version Control Systems. -->
<property file="default.properties" />
<!-- Required pre-setup import -->
<import file="${sdk.dir}/tools/ant/pre_setup.xml" />
<!-- extension targets. Uncomment the ones where you want to do custom work
in between standard targets -->
<target name="-pre-build">
</target>
<target name="-pre-compile">
</target>
<!-- [This is typically used for code obfuscation.
Compiled code location: ${out.classes.absolute.dir}
If this is not done in place, override ${out.dex.input.absolute.dir}]
<target name="-post-compile">
</target>
-->
<!-- Execute the Android Setup task that will setup some properties
specific to the target, and import the build rules files.
The rules file is imported from
<SDK>/tools/ant/
Depending on the project type it can be either:
- main_rules.xml
- lib_rules.xml
- test_rules.xml
To customize existing targets, there are two options:
- Customize only one target:
- copy/paste the target into this file, *before* the
<setup> task.
- customize it to your needs.
- Customize the whole script.
- copy/paste the content of the rules files (minus the top node)
into this file, *after* the <setup> task
- disable the import of the rules by changing the setup task
below to <setup import="false" />.
- customize to your needs.
-->
<setup />
</project>
我现在在 build.xml 中做的唯一一件事是我取消了注释-pre-build
,-pre-compile
但他们什么都不做......我也尝试将它们评论回来,结果是一样的。
有人用过蚂蚁的市场许可库吗?