是否有Android工具可以通过命令行更改项目的包名称.我不想使用Eclipse的Android工具 - >重命名应用程序包.
cis*_*rns 10
如果您想一次性更改源代码,可以使用Android命令行工具android update project文档在[developer docs] [1]中.
如果你想在每次构建期间动态地执行它,你需要一个自定义的ant构建脚本来传递参数.aapt遗憾的是你不能使用默认的aapt任务,因为它不支持设置选项--rename-manifest-package.
您需要将以下目标添加到默认build.xml文件android命令行created; 在之前添加它<import file="${sdk.dir}/tools/ant/build.xml" />
<!-- Replaces the target in tools\ant\build.xml -->
<target name="-package-resources" depends="-crunch">
<!-- this exec replicates the output of the aapt task in build.xml
-package-resources with the addition of a rename-manifest-package option. -->
<exec executable="${aapt}" failonerror="true">
<arg value="package" />
<arg value="-f" />
<arg value="--auto-add-overlay" />
<arg value="-M" />
<arg path="${basedir}/AndroidManifest.xml" />
<arg value="-S" />
<arg path="${resource.absolute.dir}" />
<arg value="-S" />
<arg path="${basedir}/${android.library.reference.1}/${resource.dir}" />
<arg value="-A" />
<arg path="${asset.absolute.dir}" />
<arg value="-I" />
<arg path="${android.jar}" />
<arg value="-F" />
<arg path="${out.absolute.dir}/${resource.package.file.name}" />
<arg value="--rename-manifest-package" />
<arg value="${package.manifest.name}" />
</exec>
</target>
Run Code Online (Sandbox Code Playgroud)
该属性package.manifest.name将包含包的名称.您可以在属性文件或命令行选项中设置-Dpackage.manifest.name=value
它也可以扩展它以根据属性重命名输出apk.
这个问题包括从清单中获取版本信息以添加到apk输出名称: 如何在使用ant构建Android apk时在文件名中包含版本字符串?
您将需要查看导入的build.xml文件,以了解您需要覆盖的内容.
您可以继续向本地build.xml文件添加规则覆盖,但由于您需要进行自定义级别,我会考虑直接从android工具复制build.xml文件并修改它而不是将其用作进口.这确实意味着更多的工作,确保它仍然适用于Android工具链的每次更新.
| 归档时间: |
|
| 查看次数: |
8209 次 |
| 最近记录: |