android 打包相关命令和参数

来源:互联网 发布:数据挖掘和r语言 编辑:程序博客网 时间:2024/06/03 05:53


android 可以通过android studio进行打包,但是了解一下命令行打包的过程还是很有意义的

1.keytool 生成 android 签名

命令如下: $keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

-genkey 生成keystore签名

-v 显示签名信息

-keystore 生成的keystore的名字

-alias 别名

-keyalg RAS 指定加密方式为RAS

-keysize 指定秘钥长度

-validity 指定有效期 (单位天)

2.查看生成的签名信息

keytool -list -v -keystore my-release-key.keystore -storepass xxxxx

3.对为签名的apk进行签名

jarsigner -verbose -keystore magick.keystore -signedjar Magick.apk Magick_unsigned.apk magick.keystore  

-verbose 输出签名详细信息 
-keystore 指定密钥对的存储路径 
-signedjar 后面三个参数分别是 签名后的APK包 未签名的APK包 和 密钥对的别名

或者也可以这么签名(来自android官方文档)

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name

-sigalg 签名算法的名称

-digestalg 摘要算法的名称

4 verify that you apt is signed

jarsigner -verify -verbose -certs my_application.apk

5 优化apk包

zipalign -f -v 4 Magick.apk Magick_zip.apk 


-f 强制覆盖已有的文件 
-v 输出详细内容 
4 指定档案整理的字节数,一般为4,及32位。如果以后android的设备有64位的,可能要改成8吧。 
Magick.apk 是未整理的apk文件名 
Magick_zip.apk 是整理后的apk文件名 

6 关于aapt

aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件,尽管你可能没有直接使用过aapt工具,但是build scripts和IDE插件会使用这个工具打包apk文件构成一个Android 应用程序。 在使用aapt之前需要在环境变量里面配置SDK-tools路径,或者是路径+aapt的方式进入aapt。

aapt l <file_path.apk>

aapt dump [value] mm.apk

value的取值:

badging         
   permissions     
  resources       
  configurations  
  xmltree         
  xmlstrings      

反编译apk分别用到apktool,dex2jar,jd-gui

apktool:把apktool和apktool.jar 拷贝到/usr/local/bin目录下,chmod +x 
打开终端 命令—》 1.apktool -d ss.apk  2 apktool -b ss

dex2jar :将apktool加压出来的classes.dex文件拷贝到decode文件夹下
运行 sh dex2jar.sh decode/classes.dex 加压出classes_dex2jar.jar文件

jd-gui:这个就不用说了吧



0 0