Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    1. 默认为debug mode,使用的签名文件在: $HOME/.android/debug.keystore

    2. Release Mode 签名:

    build.gradle:

android {	signingConfigs {		releaseConfig {			keyAlias 'stone'			keyPassword 'mypwd'			storeFile file('/Users/stone/Documents/project_AS/myapplication/stone.keystore')			storePassword 'mypwd'		}	}        buildTypes {           release {             ...             signingConfig signingConfigs.release           }        }}

    signingConfigs 即签名配置,

Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包

。 配置名releaseConfig{ //配置内容 }

    在buildTypes中指定release时的signingConfigs对应的配置名

    执行gradle 命令, $ gradle assembleRelease

    编译并发布。 在build/outputs/apk/ 下能看到未签名的apk 和 已经签名的apk

    如果未用签名文件,使用debug mode的debug签名。那就会生成一个debug签名的apk

    3. 签名密码写在gradle中不安全:

signingConfigs { //gradle assembleRelease	myConfig {		storeFile file(stone.keystore)		storePassword System.console().readLine(Keystore password: )		keyAlias stone		keyPassword System.console().readLine(Key password: )	}}

    这样在命令 执行 命令时,就会被要求输入密码

    4. 使用Android Studio 签名打包

    菜单 Build > Generate Signed APK

    5. 使用Android Studio 自动签名打包

    a. 打开project structure (cmd+;)

    b. 选中需要构建的moudle,打开Signing,添加config

   

    执行完成后,会在build.gradle中自动加上 signingConfigs{ config {...} }的信息

    c. 打开build types > release

   

    在signing Config中选择定义的配置

    zip align enabled 默认为true, 用于启用优化Apk的操作

    d. $ gradle build

    会在build/outputs/apk/ 目录下输出 在build types中定义的 编译类型

    如:

    myapplication-debug-unaligned.apk

    myapplication-debug.apk

    myapplication-release-unaligned.apk

    myapplication-release-unsigned.apk

    myapplication-release.apk

    6. 使用Android SDK 和 JDK 的命令 签名打包APK

    创建签名

    keytool -genkey -v -keystore stone.keystore -alias stone -keyalg RSA -keysize 2048-validity 10000 生成签名文件

    为apk签名

    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore stone.keystore unsigned.apk stone 不生成新文件

    检测apk是否签名

    jarsigner -verbose -certs -verify signed.apk

    优化apk

    zipalign -f -v 4 signed_unaligned.apk signed_aligned.apk

最新文章