首先下载并安装JAVA。
这里有一个坑,由于JAVA被甲骨文(Oracle)收购了,千万不要去java.com下载安装包,千万不要,千万不要,因为java.com上的是不完整的升级包,缺少许多组件。
建议前往甲骨文Oracle官网下载最新对应你操作系统的完整安装包。
建议按默认路径安装。
设置好环境变量:此电脑=>>属性=>>高级系统设置=>>环境变量=>>系统变量=>>Path=>>
新建一条C:\Program Files\Java\jdk-21\bin
的环境变量(注意:此目录是默认安装路径,jdk-21
路径随版本不同而不同,以实际目录为准)。
下载apktool.bat和apktool.jar。
apktool.bat:右键另存为apktool.bat
apktool.jar:下载最新版,修改文件名为apktool.jar。
两个文件复制到C:\Windows
文件夹内。
启动CMD输入apktool测试是否正常,如果显示“The system cannot find the path specifide”,有可能是环境变量设置错误。或者是系统无法识别%JAVA_HOME%
这个变量,编辑C:\Windows\apktool.bat
文件,找到
if defined JAVA_HOME (
set "java_exe=%JAVA_HOME%\bin\java.exe"
)
把%JAVA_HOME%\bin\java.exe
修改成绝对地址,例如:C:\Program Files\Java\jdk-21\bin\java.exe
启动CMD进入apk存放目录
解包:apktool d test.apk
重新打包:apktool b test -o newtest.apk
此时重新打包好的apk无法在设备正常安装,需要利用java的teytool.exe
生成密钥证书,再用java的jarsigner.exe
对apk进行签名后才能在设备上正常安装。
生成证书文件:
keytool -genkeypair -alias key.keystore -keyalg RSA -validity 30000 -keystore key.keystore
运行后会要求设置密码和一些验证安全的问题,验证安全问题可以随便填,最后是否正确时输入y即可。
-genkeypair 产生证书文件
-alias 产生别名
-keyalg 指定密钥的算法,这里指定为RSA(非对称密钥算法)
-validity 为证书有效天数,这里我们写的是30000天
-keystore 密钥库名字及存储位置(默认当前目录)
签名:
jarsigner -verbose -keystore key.keystore -signedjar newtest-singned.apk newtest.apk key.keystore
-verbose 签名/验证时输出详细信息
-keystore 密钥库文件路径
-signedjar 已签名的文件名称,后面是未签名文件,最后别名
参与讨论
(Participate in the discussion)
参与讨论
没有发现评论
暂无评论