签名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

易探云(QQ音乐绿钻)北京/深圳云服务器8核8G10M带宽低至1332.07元/年起

易探云怎么样?易探云香港云服务器比较有优势,他家香港BGP+CN2口碑不错,速度也很稳定。尤其是今年他们动作很大,推出的香港云服务器有4个可用区价格低至18元起,试用过一个月的用户基本会续费,如果年付的话还可以享受8.5折或秒杀价格。今天,云服务器网(yuntue.com)小编推荐一下易探云国内云服务器优惠活动,北京和深圳这二个机房的云服务器2核2G5M带宽低至330.66元/年,还有高配云服务器...

杭州王小玉网-美国CERA 2核8G内存19.9元/月,香港,日本E3/16G/20M CN2带宽150元/月,美国宿主机1500元,国内宿主机1200元

官方网站:点击访问王小玉网络官网活动方案:买美国云服务器就选MF.0220.CN 实力 强 强 强!!!杭州王小玉网络 旗下 魔方资源池 “我亏本你引流活动 ” mf.0220.CNCPU型号内存硬盘美国CERA机房 E5 2696v2 2核心8G30G总硬盘1个独立IP19.9元/月 续费同价mf.0220.CN 购买湖北100G防御 E5 2690v2 4核心4G...

SugarHosts糖果主机商更换域名

昨天,遇到一个网友客户告知他的网站无法访问需要帮他检查到底是什么问题。这个同学的网站是我帮他搭建的,于是我先PING看到他的网站是不通的,开始以为是服务器是不是出现故障导致无法打开的。检查到他的服务器是有放在SugarHosts糖果主机商中,于是我登录他的糖果主机后台看到服务器是正常运行的。但是,我看到面板中的IP地址居然是和他网站解析的IP地址不同。看来官方是有更换域名。于是我就问 客服到底是什...

代码签名为你推荐
3.2网易yeahphpcms模板phpcms在后台怎样改模板phpadmin下载求张艺兴《莲》mp3下载centos6.5centos 6.5 无法启动了,不知道是哪里的问题。全国企业信息查询网上如何怎么查询全国企业信用信息公示系统查询360邮箱邮箱地址指的是什么?360公司迁至天津请问360公司的全称是什么?pintang深圳御品堂怎么才能保证他们卖的东西都是有机食品?如何发帖子怎么发帖啊开源网店免费开源网上商城系统有哪些
北京域名注册 美国和欧洲vps 播放vps上的视频 花生壳域名贝锐 wordpress技巧 512au 嘉洲服务器 台湾谷歌地址 域名转接 hostloc 国外代理服务器地址 河南移动网 t云 购买国外空间 华为云服务登录 德讯 贵阳电信 1美元 卡巴斯基官网下载 网络速度 更多