高明鑫《最新Android入门课程》课堂笔记三

课堂7 项目的打包apk与apk的反编译
· APK是Android Package的缩写,即Android安装包,APK是类似Symbian Sis或Sisx的文件格式,通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。
· 生成APK最懒惰的方法(开发模式下用):
只要你运行过Android项目,到工作目录的bin文件夹下就能找到与项目同名的apk文件,这种apk默认是已经使用debug用户签名的。(可以直接拷出来用)
这种方法的坏处—— 打开DDMS,File Exeplorer(模拟器底层的linux文件系统目录),找到data目录,在里面再有一个data目录,里面就是我们安装的所有应用的文件目录结构,里面的项目名称由我们写代码时候工作目录的AndroidManifests.xml里的 Package属性来定义的;如果下一个项目名称也是用这个的话,就会把原来这个覆盖掉。所以一般这个方法在开发模式时这样用。因此我们需要签名。

1.签名的意义:为了保证每个应用程序开发商合法ID,防止部分开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。
2.签名的步骤:
a.创建key
b.使用步骤a中产生的key对apk签名
具体—— IDE中,Android项目右键,Android Tools,Export Signed Application Package…

· apk文件其实是一个压缩文件,我们可以解压缩看看其内部的文件结构(右键直接解压)
但是发现没有src,gen文件,其实所有的class文件都归并到了classes.dex文件中。而资源的索引文件R.java则在resources.arsc中。

反编译apk(两个工具)
· dex2jar
http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip
如果是zip文件,解压后,把目标dex文件放到此文件夹中,通过CMD命令进入工具的目录

E:>cd 工具目录 ,
执行
dex2jar.bat classes.dex
就会生成classes.dex.dex2jar.jar这样一个jar包,这个jar包就可以使用jd-gui.exe打开。

· JD-GUI
windows版:
http://laichao.googlecode.com/files/jdgui.zip

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值