签名Android40以后代码混淆及签名

代码签名  时间:2021-04-08  阅读:()

Android 4.0以后代码混淆及签名

Android 4.0要用ProGuard比2.3更简单在Ecl ipse中打开工程目录下的project.properties文件该文件中有以下两行

To enable ProGuard to shrinkand obfuscate your code, uncomment this(avai lableproperties:sdk.dir, user.home):proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

根据这段说明只要将proguard.config前面的#去掉就可以利用ProGuard来混淆代码了当然默认的设置是不带优化功能的可以用以下设置来加上代码优化功能上图蓝色文字部分 proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt

接下来就是生成Apk了。这里需要注意的是如果你用Ecl ipse里的Run或Bui ldProject/Bui ld Al l来生成Apk是不会混淆代码的在Ecl ipse的Package Explorer里选中工程的根结点在右键菜单里找到Android Tools如下图所示其下有两个子菜单项 “ExportSigned Appl ication Package. . .”和“Export Unsigned Appl ication Package. . .” 一个是带RSA

数字签名一个是不带数字签名根据需要选一个然后按照向导操作即可最终生成的Apk就是混淆过代码的了查看效果可以用7z等压缩程序Ubuntu中直接用归档管理器打开将其中的classes.dex解压用dex2jar转成jar格式后再用Java反编码工具打开就会看到代码的混淆效果。

自己在测试的时候是使用了没有签名的,选择的是Export Unsigned Appl ication Package。如果使用Export Signed Appl ication Package打包APK,关于签名的学习下面继续介绍. . . . . .

注意 同时在进行混淆的同时可以自己写一些规则在工程的p rog u a rd-p roject.txt文件中写例如

1 、

-l ibraryjars l ibs/android-support-v4.jar

-l ibraryjars l ibs

就是加载第三方Jar包

2、

-ignorewarnings

是去除代码中的警告

3、

-keep class com.al ibaba.fastjson.**

-keep保留不希望混淆的类

4、

-keep class com.msd.fol lowme.Render{publ ic*

}

此类的公共方法保留不混淆。

签名的学习

为什么要签名

开发And roid的人这么多完全有可能大家都把类名包名起成了一个同样的名字这时候如何区分签名这时候就是起区分作用的。

由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序签名可以保证相当名字但是签名不同的包不被替换。

APK如果使用一个key签名发布时另一个key签名的文件将无法安装或覆盖老的版本这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。

这样签名其实也是开发者的身份标识。交易中抵赖等事情发生时签名可以防止抵赖的发生。签名的注意事项

所有的And roid应用都必须有数字签名没有不存在数字签名的应用包括模拟器上运行的。Android系统不会安装没有数字证书的应用。

签名的数字证书不需要权威机构来认证是开发者自己产生的数字证书 即所谓的自签名。模拟器开发环境开发时通过ADB接口上传的程序会先自动被签有Debug权限然后才传递到模拟器。如下图所示 Ecl ipse菜单的Window->Preferences->Android–>Bui ld下显示的是我们默认的调试用的签名数字证书。

正式发布一个And roid应用时必须使用一个合适的私钥生成的数字证书来给程序签名不能使用ADT插件或者ANT工具生成的调试证书来发布。

数字证书都是有有效期的Android只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中 即使证书过期也不会影响程序的正常功能。

签名后需使用zipal ign优化程序。

Android将数字证书用来标识应用程序的作者和在应用程序之间建立信任关系而不是用来决定最终用户可以安装哪些应用程序。

签名的方法

方法一、使用Ecl ipse工具

此方法适用于Android1 .5及以上版本。

步骤一打开Ecl ipse->选择你要签名的项目->右击->android tools->Export signedAppl ication package

步骤二在出现的窗口确认是不是这个项目要签名然后选择下一步

步骤三在Export Android Appl ication这一步如果我们之前已有有了keystore,选择我们之前已有的否则我们新建一个。

如下选择需要保存这个证书文件的目录 以及这个证书文件的一个密码。

步骤四 点击下一步后我们需要填写keystore的基本信息如别名密码有效期姓名组织组织名称所在城市所在省份 国家等 点击Next

步骤五、选择被签名后的APK保存位置。点击finish。注意是选择最终将产生的文件。

之后我们在刚才选择的目录下就可以看到生成的签名后的APK文件。

以上是一种比较简单的签名方式一般情况下使用这种签名方式就可以了. . . .下面的链接还有一种方式是利用JDK自带的工具进行签名链接如下http://www.cnblogs.com/ghj1976/archive/201 1/07/18/2109381 .html

企鹅小屋6折年付240元起,美国CN2 GIA VPS促销,独享CPU,三网回程CN2 GIA

企鹅小屋怎么样?企鹅小屋最近针对自己的美国cn2 gia套餐推出了2个优惠码:月付7折和年付6折,独享CPU,100%性能,三网回程CN2 GIA网络,100Mbps峰值带宽,用完优惠码1G内存套餐是年付240元,线路方面三网回程CN2 GIA。如果新购IP不能正常使用,请在开通时间60分钟内工单VPS技术部门更换正常IP;特价主机不支持退款。点击进入:企鹅小屋官网地址企鹅小屋优惠码:年付6折优惠...

Asiayun:枣庄电信Asiayun美国Cera葵湾VPSvps月付,美国CERA VPS月付26元/年

亚洲云Asiayun怎么样?亚洲云成立于2021年,隶属于上海玥悠悠云计算有限公司(Yyyisp),是一家新国人IDC商家,且正规持证IDC/ISP/CDN,商家主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、云虚拟主机、专属服务器托管、带宽租用等产品和服务。Asiayun提供源自大陆、香港、韩国和美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以...

RAKsmart 2021新年新增韩国服务器及香港美国日本VPS半价

RAKsmart 商家我们肯定不算陌生,目前主要的营销客户群肯定是我们。于是在去年的时候有新增很多很多的机房,比如也有测试过的日本、香港、美国机房,这不今年有新增韩国机房(记得去年是不是也有增加过)。且如果没有记错的话,之前VPS主机也有一次磁盘故障的问题。 这不今天有看到商家新增韩国服务器产品,当然目前我还不清楚商家韩国服务器的线路和速度情况,后面我搞一台测试机进行...

代码签名为你推荐
韩国server360公司迁至天津天津360公司?360开户哪家好?360开户费多少?360推广怎么样?360效果怎么样?360和百度相比哪个更合适?ipad代理想买个ipad买几代性价比比较高客服电话各银行的客服电话是多少?滴滴估值500亿滴滴流水每天280元一个月下来能赚 多少三五互联南京最专业的网站建设公司是哪家?双尚网络做的好不好? 给分求答案无忧登陆无忧登录好吗?zencartzencart opencart 哪个好博客教程如何使用博客搜索引擎优化教程搜索引擎优化视频教程 SEO常用统计表格有哪些
便宜虚拟主机 虚拟主机管理系统 虚拟主机评测 3322动态域名 阿里云搜索 东莞电信局 hawkhost omnis 12306抢票攻略 天猫双十一秒杀 最好看的qq空间 华为4核 1g内存 广州服务器 美国免费空间 paypal注册教程 能外链的相册 常州联通宽带 网站加速软件 丽萨 更多