android混淆打包生成apk

本文详细介绍如何使用ProGuard进行代码混淆,包括配置proguard.cfg文件以排除特定第三方库及保留自定义实体类的方法,同时提供了Ant打包配置及Eclipse环境下的JDK设置指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

project.properties文件

project.properties文件中添加proguard.config=proguard.cfg,打包时进行代码混淆

proguard.cfg打包配置文件:
以混淆极光推送第三方jar包为例,一下配置代码为proguard.cfg配置文件中的片段
#-libraryjars libs\pushservice-2.3.1.jar
-dontwarn android.content.pm.**
-dontwarn com.baidu.android.**
-keep class android.content.pm.** {*;} 

-keep class com.baidu.android.** {*;}

引入第三方jar包
-libraryjars libs\pushservice-2.3.1.jar   引入第三方jar包,pushservice-2.3.1.jar为libs目录下jar包名字(proguard 5.0版本以上注释掉,注释用#号,系统会自动引入第三方jar包,目前我配置的是proguard 5.0版本,所以注释掉了,可下载proguard 5.0覆盖掉sdk tools目录下proguard文件)

忽略第三方jar包警报
-dontwarn android.content.pm.** 
-dontwarn com.baidu.android.**  

不需要混淆的类,保持原样,不混淆指定包名下的所有类
-keep class android.content.pm.** {*;} 
-keep class com.baidu.android.** {*;}

项目中bean实体类保持,不需要混淆,避免数据解析出错
-keep class com.cn.bean.** {*;} 

Ant打包配置

在项目根目录下添加build.xml文件和local.properties文件,没有此文件时,可以用命令生成cmd 进入sdk tools目录
android update project -p project_name_dir -n project_name_dir -t 4

project_name_dir 为项目路径,执行后会生成build.xml和local.properties两个文件

local.properties配置文件说明:
sdk.dir=D:\\dev\\android\\android-sdk,具体路径根据sdk路径进行配置

build.xml文件

build.xml中的第一行 
<project name="yourProjectName" default="release">
name:你的项目名,release:编译模式
3.3在项目根目录下新建ant.properties配置文件,在文件中添加
out.absolute.dir=d:/apk/output (生成apk输出目录)
key.store=D:\\yourkey.keystore (秘钥路径)
key.store.password=秘钥密码
key.alias=秘钥的别名
key.alias.password=秘钥密码 

eclipse  jdk配置

Windows > Preferences > java > Installed JRES >
Edit JER home 配置jdk路径

Default VM arguments   -Xms256m -Xmx512m (配置jvm内存防止打包内存溢出,有时打包会内存溢出,如果打包可以顺利进行,此处可以忽略)

打包生成apk
在项目中找到build.xml 右键 Run As  > Ant Auild

然后就是等待编译生成apk,可能时间会比较久,只能耐心的等待了

生成apk在你配置的文件路径中找out.absolute.dir=d:/apk/output

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值