Ant 命令行编译Android项目(4)

<jar destfile="${out.library.jar.file}">
                        <fileset dir="${out.classes.absolute.dir}"
                            includes="**/*.class"
                            excludes="${project.app.package.path}/R.class ${project.app.package.path}/R$*.class ${project.app.package.path}/BuildConfig.class"/>
                        <fileset dir="${source.absolute.dir}" excludes="**/*.java ${android.package.excludes}" />
                    </jar>
                </then>
            </if>

</do-only-if-manifest-hasCode>
    </target>
</project>

ant.properties的例子, 和上面的xml是对应的

key.store=D:/workAndroid/files/android_key.store
key.alias=alia
key.store.password=111111
key.alias.password=111111
java.encoding=UTF-8
java.target=7
java.source=7

在生成的apk中使用版本号文件名, 而不是用默认的 xxx-release.apk

<target
        depends="rename-release-with-version-number,android_rules.-set-release-mode">
        <echo message="target: ${build.target}"></echo>
    </target>

<target>
        <xmlproperty file="AndroidManifest.xml" prefix="themanifest" collapseAttributes="true"/>
        <!--  see ${sdk.dir}/tools/ant/build.xml -set-release-mode -->
        <property
            location="${out.absolute.dir}/${ant.project.name}-${themanifest.manifest.android:versionName}-release-unsigned.apk" />
        <property
            location="${out.absolute.dir}/${ant.project.name}-${themanifest.manifest.android:versionName}-release.apk" />
    </target>

The -set-release-mode target overrides the same target in ${sdk.dir}/tools/ant/build.xml where the out.final.file file name is originally defined. To add the version number, I override -set-release-mode by calling my rename-release-with-version-number target in the dependencies and then calling the original android_rules.-set-release-mode to finish any other setup there.

The rename-release-with-version-number target simply reads in the manifest and adds the version number to both out.final.file and out.packaged.file.

Now the build APK is ProjectName-version-release.apk and it’s automatically used by the rest of the ant build process without clumsy file renaming.

ANT发布SVN WEB项目到Tomcat以及利用post-commit自动提交编译更新 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/bb74b09df15dc515818eac5877f6fe76.html