使用Ant 混淆打包apk

使用eclipse-android-tools- Export signed Application Package... 打包实在太慢了,应该说是卡死了

无奈只能用ant来打包,资料也是从网上查的,由于从没有使用过ant,期间也碰到很多错误,但都解决了

说下步骤吧:

1.cmd或终端进入 sdk/tools/

cd xxx:/sdk/tools

2.增加ant支持

android update project -n 你的项目名 -t Android版本 -p 你的项目路径

cmd命令:

android update project -n TestApp -t 1 -p c:/workspace/TestApp

终端命令:
./android update project -nTestApp -t 1 -p /Users/liu/Documents/workspace/TestApp

注意看,使用Mac Os的,虽然命令差不多,但是要加上./貌似是在终端下执行命令要加上这个,真心搞不懂。。

3.执行了这条命令然后就会在你的项目目录下生成 build.xml,local.propertices

编写build.xml

<projectname="TestApp"default="release">

应该都明白,name是项目名称,default默认是debug,正式发布把它改成release就好了

然后增加以下内容:

<propertyfile="local.properties"/>

<!--<property name="sdk.dir" value="/Users/liu/Downloads/adt-bundle-mac-x86_64-20130514/sdk" /> <!--配置Android SDK路径 Mac Os -->

<propertyname="sdk.dir"value="\\Users\\liu\\Downloads\\adt-bundle-mac-x86_64-20130514\\sdk"/><!--配置Android SDK路径windows -->

<propertyname="has.keystore"value="true"/> <!-- 打包是否需要签名 -->

<propertyname="has.password"value="true"/> <!-- 签名是否需要密码 -->

<propertyfile="project.properties"/> <!-- 加载sdk version -->

<propertyname="key.store"value="test.key"/> <!-- 签名文件位置,build.xml同目录下 -->

<propertyname="key.alias"value="test"/> <!-- 签名标识 -->

<propertyname="key.store.password"value="123456"/> <!-- 签名的密码 -->

<propertyname="key.alias.password"value="123456"/> <!-- 签名的密码 -->

<propertyname="proguard.enabled"value="true"/> <!-- 是否混淆 -->

<propertyname="proguard.config"value="proguard.cfg"/> <!-- 混淆文件位置,build.xml同目录 -->


4.打开local.properties,这里的路径一定要对,不对的话编译是不通过的,路径同上sdk.dir

5.编写混淆规则文件proguard.cfg

6.将test.key复制到build.xml所在的目录,也就是你的项目下的路径

7.直接右键build.xml Run As - Ant builder ,如果没有错误的话就成功了。

Buildfile: /Users/liu/Documents/workspace/TestApp/build.xml

-set-mode-check:

-set-release-mode:

[echo] *************************************************

[echo] **** Android Manifest has debuggable=true ****

[echo] **** Doing DEBUG packaging with RELEASE keys ****

[echo] *************************************************

-release-obfuscation-check:

[echo] proguard.config is proguard.cfg

-pre-build:

-check-env:

[checkenv] Android SDK Tools Revision 22.0.0

[checkenv] Installed at /Users/liu/Downloads/adt-bundle-mac-x86_64-20130514/sdk

-setup:

[echo] Project Name: TestApp

[gettype] Project Type: Application

-build-setup:

[getbuildtools] Using latest Build Tools: 17.0.0

[echo] Resolving Build Target for TestApp...

[gettarget] Project Target: Android 2.2

[gettarget] API level: 8

[echo] ----------

[echo] Creating output directories if needed...

[echo] ----------

[echo] Resolving Dependencies for TestApp...

[dependency] Library dependencies:

[dependency] No Libraries

[dependency] ------------------

[dependency] API<=15: Adding annotations.jar to the classpath.

[echo] ----------

[echo] Building Libraries with 'release'...

[subant] No sub-builds to iterate on

-code-gen:

[mergemanifest] No changes in the AndroidManifest files.

[echo] Handling aidl files...

[aidl] No AIDL files to compile.

[echo] ----------

[echo] Handling RenderScript files...

[renderscript] No RenderScript files to compile.

[echo] ----------

[echo] Handling Resources...

[aapt] Found new input file

[aapt] Generating resource IDs...

[echo] ----------

[echo] Handling BuildConfig class...

[buildconfig] No need to generate new BuildConfig.

-pre-compile:

-compile:

[javac] Compiling 2 source files to /Users/liu/Documents/workspace/TestApp/bin/classes

-post-compile:

-obfuscate:

-dex:

[dex] input: /Users/liu/Documents/workspace/TestApp/bin/classes

[dex] input: /Users/liu/Downloads/adt-bundle-mac-x86_64-20130514/sdk/tools/support/annotations.jar

[dex] input: /Users/liu/Documents/workspace/TestApp/libs/httpmime-4.1.3.jar

[dex] input: /Users/liu/Documents/workspace/TestApp/libs/universal-image-loader-1.8.4.jar

[dex] input: /Users/liu/Documents/workspace/TestApp/libs/android-support-v4.jar

[dex] input: /Users/liu/Documents/workspace/TestApp/libs/zxing.jar

[dex] Using Pre-Dexed annotations-617920632b29e9f60005519f15a2798e.jar <- /Users/liu/Downloads/adt-bundle-mac-x86_64-20130514/sdk/tools/support/annotations.jar

[dex] Using Pre-Dexed httpmime-4.1.3-956f9f205cfbc925c1c537f2a999a81b.jar <- /Users/liu/Documents/workspace/TestApp/libs/httpmime-4.1.3.jar

[dex] Using Pre-Dexed universal-image-loader-1.8.4-157cb1e13c49e5fac7dbde46fde88b21.jar <- /Users/liu/Documents/workspace/TestApp/libs/universal-image-loader-1.8.4.jar

[dex] Using Pre-Dexed android-support-v4-2ab6fcf1e61b5797fceec423f3f2ee63.jar <- /Users/liu/Documents/workspace/TestApp/libs/android-support-v4.jar

[dex] Using Pre-Dexed zxing-7fa5fcec8905f572c962c77ceb2042dd.jar <- /Users/liu/Documents/workspace/TestApp/libs/zxing.jar

[dex] Found modified input file

[dex] Converting compiled files and external libraries into /Users/liu/Documents/workspace/TestApp/bin/classes.dex...

[dx] Merged dex A (1456 defs/1744.3KiB) with dex B (453 defs/386.1KiB). Result is 1909 defs/2621.0KiB. Took 1.3s

[dx] Result compacted from 3388.5KiB to 2098.4KiB to save 1290.0KiB

[dx] Merged dex A (1909 defs/2621.0KiB) with dex B (2 defs/1.1KiB). Result is 1911 defs/2098.4KiB. Took 0.3s

[dx] Merged dex A (1911 defs/2098.4KiB) with dex B (15 defs/18.4KiB). Result is 1926 defs/2613.5KiB. Took 0.1s

[dx] Result compacted from 3526.2KiB to 2204.5KiB to save 1321.7KiB

[dx] Merged dex A (1926 defs/2613.5KiB) with dex B (88 defs/103.1KiB). Result is 2014 defs/2204.5KiB. Took 0.2s

[dx] Merged dex A (2014 defs/2204.5KiB) with dex B (205 defs/309.5KiB). Result is 2219 defs/3108.6KiB. Took 0.2s

[dx] Result compacted from 4347.1KiB to 2739.7KiB to save 1607.4KiB

[dx] Merged dex A (2219 defs/3108.6KiB) with dex B (139 defs/255.7KiB). Result is 2358 defs/2739.7KiB. Took 0.3s

[dx] Merged dex A (2358 defs/2739.7KiB) with dex B (49 defs/67.6KiB). Result is 2407 defs/3463.6KiB. Took 0.1s

[dx] Result compacted from 4571.0KiB to 2844.8KiB to save 1726.2KiB

[dx] Merged dex A (2407 defs/3463.6KiB) with dex B (58 defs/73.9KiB). Result is 2465 defs/2844.8KiB. Took 0.5s

[dx] Merged dex A (2465 defs/2844.8KiB) with dex B (50 defs/87.6KiB). Result is 2515 defs/3612.6KiB. Took 0.2s

[dx] Result compacted from 5203.1KiB to 3324.2KiB to save 1878.9KiB

[dx] Merged dex A (2515 defs/3612.6KiB) with dex B (371 defs/436.8KiB). Result is 2886 defs/3324.2KiB. Took 0.4s

[dx] Merged dex A (2886 defs/3324.2KiB) with dex B (192 defs/301.3KiB). Result is 3078 defs/4493.6KiB. Took 0.2s

-crunch:

[crunch] Crunching PNG Files in source dir: /Users/liu/Documents/workspace/TestApp/res

[crunch] To destination dir: /Users/liu/Documents/workspace/TestApp/bin/res

[crunch] Crunched 0 PNG files to update cache

-package-resources:

[aapt] No changed resources or assets. TestApp.ap_ remains untouched

-package:

[apkbuilder] Found modified input file

[apkbuilder] Creating TestApp-release-unsigned.apk for release...

-post-package:

-release-prompt-for-password:

-release-nosign:

-release-sign:

[echo] Signing final apk...

[zipalign] Running zip align on final apk...

[echo] Release Package: /Users/liu/Documents/workspace/TestApp/bin/TestApp-release.apk

[propertyfile] Updating property file: /Users/liu/Documents/workspace/TestApp/bin/build.prop

[propertyfile] Updating property file: /Users/lieu/Documents/workspace/TestApp/bin/build.prop

[propertyfile] Updating property file: /Users/lie/Documents/workspace/TestApp/bin/build.prop

[propertyfile] Updating property file: /Users/liu/Documents/workspace/TestApp/bin/build.prop

-post-build:

release:

BUILD SUCCESSFUL

Total time: 23 seconds





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值