网站大量收购独家精品文档,联系QQ:2885784924

APK重签名+文件解析.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. ? ? ?生成Android APK包签名证书 1). ? ? 在doc中切换到jdk的bin目录 cd C:\Program Files\Java\jdk1.6.0_18\bin 2). ? ? 运行下面的命令 keytool –genkey –alias android123.keystore –keyalg RSA –validity 20000 –keystore android123.keystore /*解释:keytool工具是Java JDK自带的证书工具 -genkey参数表示:要生成一个证书(版权、身份识别的安全证书) -alias参数表示:证书有别名,-alias mine.keystore表示证书别名为:mine -keyalg RSA表示加密类型,RSA表示需要加密,以防止别人盗取 -validity 20000表示有效时间20000天( K3 -keystore mine123.keystore表示要生成的证书名称为mine123 */ ? 输入完回车后屏幕显示: 输入keystore密码:[密码不回显](一般建议使用20位,最好记下来后面还要用) 再次输入新密码:[密码不回显] 您的名字与姓氏是什么? [Unknown]:lili 您的组织单位名称是什么? [Unknown]:snoopy 您的组织名称是什么? [Unknown]:snoopy team 您所在的城市或区域名称是什么? [Unknown]:beijing 您所在的州或省份名称是什么? [Unknown]:beijing 该单位的两字母国家代码是什么 [Unknown]:CN CN=lili, U=snoopy, O=snoopy team, L=beijing, ST=beijing, C=CN正确吗? [否]:Y 输入 mine.keystore的主密码 (如果和keystore密码相同,按回车): 查看C:\Program Files\Java\jdk1.6.0_18\bin,生成了以后签名用的证书Key:mine123.keystore ? ? ? ??这里,大家如果试过在eclipse中生成一个签名文件时,它的大小也是2kb,同时生成过程中,还是会让填写别名的。 2. ? ? ?删除之前的签名文件 1). ? ? 用解压工具解压缩apk文件(如:解压到D:\Sign\PhoneBook) 压缩包内容解析: AndroidManifest.xml 该文件是每个应用都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等等信息[ , ],如要把apk上传到Google Market上,也要对这个xml做一些配置。在apk中的AndroidManifest.xml是经过压缩的,可以通过AXMLPrinter2工具[ , ]解开,具体命令为:java -jar AXMLPrinter2.jar AndroidManifest.xml META-INF目录? META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码, 或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系统的安全。 res目录? ? ? ? res目录存放资源文件。包括图片,字符串等等。 lib目录 lib目录下的子目录armeabi存放的是一些so文件。这个地方多讲几句,都是在开发过程中摸索出来的。eclipse在打包的时候会根据文件名的命名规则(lib****.so)去打包so文件,开头和结尾必须分别为“lib”和“.so”,否则是不会打包到apk文件中的。其他非eclipse开发环境没有测试过。如果你是用SDK和NDK开发的话,这部分很重要,甚至可以通过把一些不是so文件的文件通过改名打包到apk中,具体能干些什么那就看你想干什么了,呵呵呵! assets目录 assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API获得。具体的方法可以参考SDK中的例子:在sdk的 \SDK\1.6\android-sdk-windows-1.6_r1\platforms\android-1.6\samples\ApiDemos 例子中,有个com.example..android.apis.content 的例子,在这个例子中他把一个text文件放到工程的asset目录下,然后把这个txt当作普通文件处理。处理的过程在Re

文档评论(0)

Kumba + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档