写作目的:
最近在折腾安卓,以后的方向也初步定为安卓开发了,学习过程中遇到了不少问题,百度,google了不少,但有些解决方法由于版本过老,现在已经失效,于是想将自己折腾成功的一些东西总结起来,供给有需要的人参考,避免趟我趟过的坑,如有错误,还请斧正:)
由于自己也是小白,写的东西当然也比较小白向,所以我们从环境搭建说起。
1. jdk配置
弄安卓的话自然离不开java,所以jdk的配置是必须的。
· 首先前往jdk官网下载jdk的一个安装包

· 接下来最好全部选择默认安装配置,尤其是安装路径,否则可能会影响接下来的变量设置,我试过两次放在D盘,都会报错。、
· 然后我们设置一下系统变量
右击我的电脑,然后打开高级系统设置,打开环境变量,接下来的操作都在系统变量中进行。


· 在系统变量中(注意不是用户变量)先新建两个变量,变量名和变量值如下:
%JAVA_HOME%\lib\dt.jar
%JAVA_HOME%\lib\tools.jar
最后确定一下就好了。


配置好之后我们需要检验一下,方法为:
同时按win+r,如后输入cmd即可,在cmd中,输入java –version,如果返回了java的版本号,即代表配成功.

2. 环境搭建好之后,我们还需要一个反编译以及重打包的工具,即apktool,网上很多人留下的集成好批处理文件的工具包由于apktool的版本过老,直接使用是会报错的,我们需要自己稍微做个新版本的工具包


· 同样前往官网下载,但和我们平时下载好安装包之后无脑点下一步不同,我们除了下载apktool-2这个jar文件以外,还需要下载与之匹配的一个批处理文件,即第一个的apktool.bat
· 然而点开第一个链接后会得到一串代码,这不是网页GG了,这就是批处理文件的内容,用编辑器粘贴这些代码,保存后命名为apktool.bat这样一个批处理文件即可。

· 然后我们将第二个下载链接下载下来的jar文件和这个批处理文件放一块空文件夹中即可。

准备就绪,让我们开始反编译吧,let's go
3. 首先将你想要反编译的apk放在apktool的文件夹下
然后打开cmd,用cd 命令到apktool文件夹所在的目录
pktool.bat d demo.apk//demo.apk需要改成你的apk的名字
等到cmd跑完,如果apktool文件夹里多了一个demo文件夹,且目录不为空,即反编译成功.
ok,当你按需求改完代码或者图片之类的之后,需要将demo重打包为一个apk文件,使用代码:
apktool b demo -o new_demo.apk
· 同样,当cmd跑完,目录中出现一个new_demo.apk,即代表succes
由于这个新apk已经被你改过了,原作者的签名也就没了,所以无法安装到手机上,我们需要自己给个签名
注意:接下来的操作需要以管理员身份运行cmd
· 首先找到jdk中bin目录所在位置,默认位置为C:\Program Files\Java\jdk-9.0.4\bin
我们将需要打签名的new_demo.apk放到该目录下,cmd中cd到该目录,
cd C:\Program Files\Java\jdk-9.0.4\bin
然后开始打签名吧,代码如下:
· keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore· jarsigner -verbose -keystore demo.keystore demo.apk demo.keystore
succes !反编译,重打包,签名系列
网友评论