1.反编译APK文件

反编译APK需要利用ApkTool工具,下载地址

https://bitbucket.org/iBotPeaches/apktool/downloads

http://ibotpeaches.github.io/Apktool/install/

1,按照安装说明,先右键下载apktool的脚本,再下载最新的apktool

2,先确保你的系统安装了32位平台(依赖)库,如果你ubuntu13.10后版本,可以试试

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6

3,将下载的apktool_2.0.0.jar改名为apktool.jar

4,将两个文件拷贝到/usr/local/bin目录,这一步相当于配置环境变量了,可以在任意目录运行

sudo cp -i apktool.jar /usr/local/binsudo cp -i apktool /usr/local/bin

5,添加权限

sudo chmod +x apktool sudo chmod +x apktool.jar 

上面几步完成后就可以找个APK反编译下了

命令:apktool d (apk路径) -o(输出文件夹)

注意:一定要加 -o这个参数,否则命令报错

反编译成功后就会在outdir目录下生成一系列目录,我们可以通过修改smali文件代码实现apk的修改。

通常做法是在res资源目录获取到某资源的索引值,然后在smali目录中搜索含有该索引的.smali文件

grep -r 0x7f0c004e /home/lionel/outdir/smali/*

该命令是在指定目录下遍历文件和子文件夹中包含 ‘0x7f0c004e'的文件

2.重新打包APK文件
apktool b /home/lionel/outdir

编译指定目录下文件,默认生成的apk在同目录的dist文件夹中

但现在还不能安装在手机里,新生成的apk需要签名

keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000

 keytool -genkey -v -keystore (生成的密钥名称) -alias (密钥别名) -keyalg RSA -validity (有效期)

jarsigner -verbose -keystore android.keystore -signedjar /home/lionel/outdir/MobilesSafe.apk /home/lionel/outdir/dist/MobilesSafe.apk android

 jarsigner -verbose -keystore (上面生成的密钥名称) -signedjar (签名后的APK路径) (签名前的APK路径) (密钥android.keystore的别名)

签名后发现安装时仍提示INSTALL_PARSE_FAILED_NO_CERTIFICATES

解决方法:添加参数-digestalg SHA1 -sigalg MD5withRSA

jarsigner -digestalg SHA1 -sigalg MD5withRSA -verbose -keystore android.keystore -signedjar /home/lionel/outdir/MobilesSafe.apk /home/lionel/outdir/dist/MobilesSafe.apk android

安装成功!

更多相关文章

  1. Android(安卓)创建XMl文件
  2. 〖Linux〗联想K860/i Android(安卓)4.2及以上的Bootimg解压与打
  3. android SharedPreferences 详解与开发实例
  4. 开源直播系统源码Android中activity跳转动画效果
  5. android 一个应用去获取另一个应用assets下面的资源通过框架代码
  6. 学习深入理解android第一章
  7. Android应用程序键盘(Keyboard)消息处理机制分析(6)
  8. Android遍历所有文件夹和子目录搜索文件
  9. Android(安卓)4.0源码下载

随机推荐

  1. [Android UI]android-lockpattern图案解
  2. Android消息机制源码解析(一)——消息的载
  3. Android异步消息机制Handler详解,源码剖析
  4. 关于 Android 下的自动化测试之二
  5. 《Android的框架API與贏家密碼》
  6. 200行Java代码实现Android下的视频通话
  7. Android开发之Android自带的下拉刷新控件
  8. Android探索之路(四)—View的使用
  9. Android实现倒计时之使用CountDownTimer
  10. 科普:安卓的多任务机制