我正在 Linux 上使用 ant 构建 apk(不使用 Eclipse),我试图找到一种简单的方法来在压缩 Assets 和不压缩 Assets 之间切换,以保持我的庞大数据库在 http://ponystyle.com/blog/2010/03/26/dealing-with-asset-compression-in-android-apps/我看到可以通过指定类似 aapt -0 db 的东西来做到这一点,但我找不到有关如何编辑 ant 与 aapt 交互方式的信息。或者我必须自己运行 aapt 吗?我该怎么办? (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 在构建时执行 AAPT 的是 Android 的 build.xml(您可以在 SDK、工具和 ant 下找到它)。找到您的 build.xml 并将“-package-resources”目标替换为下面的目标。我很确定(目前无法对其进行测试)您可以在使用 ANT 构建时使用“-Dcompression.disabled=set”或“compression.disabled=set”打开和关闭压缩.properties 文件。<target name="-package-resources" depends="-crunch"> <!-- only package resources if *not* a library project --> <do-only-if-not-library elseText="Library project: do not package resources..." > <aapt executable="${aapt}" command="package" versioncode="${version.code}" versionname="${version.name}" debug="${build.is.packaging.debug}" manifest="AndroidManifest.xml" assets="${asset.absolute.dir}" androidjar="${android.jar}" apkfolder="${out.absolute.dir}" nocrunch="${build.packaging.nocrunch}" resourcefilename="${resource.package.file.name}" resourcefilter="${aapt.resource.filter}" projectLibrariesResName="project.libraries.res" projectLibrariesPackageName="project.libraries.package" previousBuildType="${build.last.target}" buildType="${build.target}"> <res path="${out.res.absolute.dir}" /> <res path="${resource.absolute.dir}" /> <if> <condition> <isset property="compression.disabled" /> </condition> <then> <nocompress/> </then> </if> </aapt> </do-only-if-not-library></target> (adsbygoogle = window.adsbygoogle || []).push({});
10-08 13:45