命令行编译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,成功。
网上查了下,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,成功。
相关文章推荐
- 使用Proguard对Android代码进行优化、混淆
- 如何使用 proguard.jar代码混淆,防止apk被反编译
- 关于Android使用proguard进行代码混淆
- 如何使用ant编译Android开源voip代码sipdroid
- 使用ProGuard使你android代码保持混淆
- android 使用proguard 代码混淆后,出现异常 Missing type parameter.
- 在android中使用proguard混淆代码出现“Conversion to Dalvik format failed with error 1”错误的解决方法
- 在android中使用proguard混淆代码出现“Conversion to Dalvik format failed with error 1”错误的解决方法
- android 使用proguard 代码混淆后,出现异常 Missing type parameter.
- 使用ProGuard混淆Android代码
- Eclipse与Android源码中ProGuard工具的使用(代码混淆)
- 如何混淆Android项目代码(ProGuard)防止反编译
- Android Studio 使用AndroidProguardPlugin插件实现代码混淆
- android源码使用proguard混淆编译及错误总结
- 如何使用命令行编译运行java程序
- android源码使用proguard混淆编译及错误总结
- 【代码】android 程序代码混淆 proguard 脚本 proguard.cfg
- android源码使用proguard混淆编译及错误总结
- Proguard android代码混淆 防止反编译
- android源码使用proguard混淆编译及错误总结