您的位置:首页 > 移动开发 > Android开发

命令行编译android程序,欢迎探讨命令行如何使用proguard混淆优化代码

2012-05-01 03:24 846 查看
以下是本人写的一个打包Android apk的批处理程序,实在不晓得应该在哪一步、以及如何添加proguard来混淆及优化代码。

网上查了下,proguard混淆优化普通的java程序是在生成了jar以后,然后通过命令:java -jar proguard.jar @config,@config是配置文件,会根据配置文件生成混淆优化后的jar.

但是Android 项目并没有生成jar包,只是在生成了.class字节码文件以后通过dx工具打包成了一个.dex文件,而且我看了proguardgui程序,里面一共就支持jar,war,ear,zip等文件格式,我该如何使用proguard呢?

或者还有更好的混淆以及优化代码的工具?


javac -encoding UTF-8 -source %JDK_Version% -bootclasspath %AndroidJar% -classpath %ExternerJar% -d %AndroidProjectBin% %AndroidProjectSrc%

if %errorlevel% NEQ 0 goto fail

call dx --dex --output=%AndroidProjectBin%/classes.dex %AndroidProjectBin% %LibJar%

if %errorlevel% NEQ 0 goto fail

call aapt package -f -M %AndroidProjectAndroidMainfest% -S %AndroidProjectRes% -A %AndroidProjectAsset% -I %AndroidJar% -F %AndroidProjectBin%/resources.ap_

if %errorlevel% NEQ 0 goto fail

call apkbuilder %AndroidProjectBin%/%unsign_apk% -v -u -z %AndroidProjectBin%/resources.ap_ -f %AndroidProjectBin%/classes.dex -rf %AndroidProject%/src

if %errorlevel% NEQ 0 goto fail

jarsigner -keystore %apk_keystore% -storepass %apk_keypass% %AndroidProjectBin%/%unsign_apk% %apk_key%

if %errorlevel% NEQ 0 goto fail

pushd %AndroidProject%

del /S/Q %sign_apk%

popd

zipalign -v 4 %AndroidProjectBin%/%unsign_apk% %AndroidProject%/%sign_apk%

if %errorlevel% NEQ 0 goto fail

jarsigner -verify -verbose %AndroidProject%/%sign_apk%

if %errorlevel% NEQ 0 goto fail

echo signed-{tag_qudao} build success !

goto end

:fail

echo signed-{tag_qudao} build failed !

已解决,先把.class打包成jar,然后调用proguard混淆,再用dx把混淆后的jar打包成dex,成功。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: