1、APK程序打包
1.1、什么是签名?
Android独有的安全机制,除了权限机制外,另外一个就是签名机制了。签名机制主要用在以下两个主要场合起到其作用:升级App和权限检查。
1.2、签名的作用
升级App
用户在升级一款已经安装过的App时,如果程序的修改来自于同一来源,则允许升级安装,否则会提示签名不一致无法安装的提示。当签名不一致的时候,应用升级不能使用原来产生的数据,相当于安装一个全新的应用。
权限检查
对于申请权限的 protection level 为 signature 或者 signatureOrSystem 的,会检查权限申请者和权限声明者的证书是否是一致的。
1.2、使用Android studio打包应用
Android Studio菜单Build->Generate Signed APK
弹出窗口
没有key,就点击Create new 如果已经有就点击Choose existing
点击Create new
输入所有信息,点击OK
点击next
点击OK
点击Finish,等待生成APK
至此,可以APK程序打包完成。由于是初学者,只实现这种简单的打包方式,打包成的APK文件就是一个压缩包,可以用解压软件解压出来,解压出来的只可以看到图片等文件。
2、APK反编译
2.1、反编译工具
直接百度“Android反编译工具包”有许多可以下载,就不提供下载链接了
反编译工具介绍:
- apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件
- dex2jar:将APK反编译成Java源码(将classes.dex转化为jar文件)
- jd-gui:查看dex2jar中转换后的jar文件,即查看Java文件
另外一种就是APKTool,点击进去就可以下载
2.2、反编译APK文件
使用APKTool反编译CSDN的APP
将下载的APKTool解压,双击APKTool.exe,启动APKTool软件
将需要反编译的APK文件路径填写到文本框中,点击反编译
选择好将反编译后的文件存储位置
开始反编译,等待反编译完成
完成就可以查看反编译之后的东西