win下安卓打包指南

dafenqi
2023-11-11 / 0 评论 / 45 阅读 / 正在检测是否收录...

0、缘起

换了台电脑竟然忘了怎么打包,还好有笔记,用软件打包也挺好,但是我感觉用 命令行 更有操作感,分享下。

1、下载并配置apktool(放在C://Windows无需配置环境变量,需要java环境)

https://apktool.org/docs/install/

lou2cc67.png

需要安装java环境的-->
https://www.cnblogs.com/qc-id-01/p/10396089.html

2、反编译:apktool d xx.apk

apktool d  xx.apk

反编译后会多出一个xx文件夹

3、回编译:apktool b xx

apktool b xx

回编译后的xx(文件夹)多出一个dist文件夹,文件夹下有不可安装的未签名的xx.apk

4、签名

第一步生成签名文件:

keytool -genkey -keystore F:\code\apktool\dev.keystore -alias test -keyalg RSA -validity 10000

命令解释:

Keytool 选项 描述
-genkey 产生一个键值对(公钥和私钥)
-v 允许动作输出
-alias 键的别名。只有前八位字符有效。
-keyalg 产生键的加密算法。支持DSA和RSA。
-keysize 产生键的长度。如果不支持,keytool用默认值1024 bits.通常我们用2048 bits 或更长的key。
-dname 专有名称,描述谁创建的密钥。该值被用作自签名证书的颁发者和主题字段。注意你可以不在命令行指定。如果没有指定keytool会提示你(CN,
OU, and so on)。
-keypass 键的密码。 主要为了安全起见,如果没提供,keytool会提示你输入。
-validity 键的有效期,单位:天
-keystore.keystore 用于存储私钥的文件。

第二步为你的apk签名:

jarsigner -verbose -keystore F:\code\apktool\dev.keystore -signedjar  F:\code\apktool\mytest\MD\dist\signatureMD.apk  F:\code\apktool\mytest\MD\dist\MD.apk test

命令分为 3部分

第一部分:C:\Users\Administrator\Desktop\apktool\bm.keystore 你的签名文件地址。
第二部分:C:\Users\Administrator\Desktop\apktool\haha.apk 目标apk输出地址
第三部分:C:\Users\Administrator\Desktop\apktool\haha.apk bm 源apk地址

例子:
jarsigner -verbose -keystore F:\code\apktool\dev.keystore -signedjar F:\code\apktool\mytest\game2_shennzhilu\signaturegame2_shennzhilu.apk F:\code\apktool\mytest\game2_shennzhilu\dist\game2_shennzhilu.apk test

PS:回编译时有两点需要注意,即回编译的文件夹名不能为中文和该文件夹下盘符内存是否足够,否则会报错。
0

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /www/wwwroot/testblog.58heshihu.com/var/Widget/Archive.php on line 1032

评论 (0)

取消