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

Virmach($5.23/年)年付VPS闪购

每每进入第四季度,我们就可以看到各大云服务商的促销力度是一年中最大的。一来是年底的促销节日活动比较多,二来是商家希望最后一个季度冲刺业绩。这不还没有到第四季度,我们看到有些商家已经蠢蠢欲动的开始筹备活动。比如素有低价VPS收割机之称的Virmach商家居然还没有到黑色星期五就有发布黑五促销活动。Virmach 商家有十多个数据中心,价格是便宜的,但是机器稳定性和速度肯定我们也是有数的,要不这么低的...

一键去除宝塔面板各种计算题与延时等待

现在宝塔面板真的是越来越过分了,删除文件、删除数据库、删除站点等操作都需要做计算题!我今天升级到7.7版本,发现删除数据库竟然还加了几秒的延时等待,也无法跳过!宝塔的老板该不会是小学数学老师吧,那么喜欢让我们做计算题!因此我写了个js用于去除各种计算题以及延时等待,同时还去除了软件列表页面的bt企业版广告。只需要执行以下命令即可一键完成!复制以下命令在SSH界面执行:Layout_file="/w...

数脉科技8月促销,新客减400港币,BGP、CN2+BGP、阿里云线路低至350元

数脉科技(shuhost)8月促销:香港独立服务器,自营BGP、CN2+BGP、阿里云线路,新客立减400港币/月,老用户按照优惠码减免!香港服务器带宽可选10Mbps、30Mbps、50Mbps、100Mbps带宽,支持中文本Windows、Linux等系统。官方网站:https://www.shuhost.com* 更大带宽可在选购时选择同样享受优惠。* 目前仅提供HKBGP、阿里云产品,香港...

代码签名为你推荐
http404未找到打开网页提示HTTP 404未找到文件企业ssl证书国内哪些公司是专门做ssl证书的呢?360邮箱请问360邮箱怎么申请重庆网站制作请问一下重庆网站建设哪家公司做得好,价格又便宜哦?360arp防火墙在哪谁知道360防火墙的arp防火墙文件在哪资费标准中国电信套餐资费一览表2021温州商标注册温州注册商标需要注册公司吗泉州商标注册泉州商标注册找什么公司?瑞东集团福能集团是一个什么企业?免费代理加盟怎样免费加盟代理淘宝
香港vps 瓦工 webhostingpad payoneer 免费cdn加速 好看的桌面背景大图 绍兴高防 嘉洲服务器 京东商城双十一活动 云全民 免费全能主机 免费phpmysql空间 申请免费空间和域名 photobucket 华为k3 ledlamp 杭州电信宽带优惠 网页加速 万网主机 万网注册 更多