如何优雅的给你的APK文件打上签名

原文链接:如何优雅的给你的APK文件打上签名

历经千兴万苦开发Android应用后,将这个应用打包成APK文件发布到应用商店就可以让用户下载安装到他们的手机上。当然,不是所有的APK都能安装到手机上,Android系统要求只有签名后的APK文件才可以安装,因此我们还需要对生成的APK文件进行签名才行。
在开发时,Android Studio使用了一个默认的keystore文件帮我们自动进行了签名,点击Android Studio右侧工具栏的Gradle→项目名→:app→Tasks→android,双击signingReport,结果如下:
默认keystore文件

通过通过Android Studio来运行的程序都是使用了这个debug.keystore文件来进行签名的,所以开发的应用程序能直接安装在模拟器上或是测试用机上,但对于要正式发布的Android应用来说,用正式的keystore文件来签名才显得得体表情(一本正经的胡说八道)
说到这里,那么如何给你的APK文件来个优雅的签名?表情

用吃饭家伙签名(Android Studio)

既然Android Studio能使用默认的keystore文件自动给APK文件签名,那它也可以用来生成正式的keystore文件来给APK文件签名。
点击Android Studio导航栏上的Build→Generate Signed Bundle/APK,选择APK选项,点击OK,则会弹出下面的对话框:

还没有正式的keystore文件,点击Create new按钮,会弹出新的对话框,然后在这个对话框填写必要信息就可以了

在Validity那一栏填写的是keystore文件的有效时长,单位是年,一般建议时间可以填得长一些。
完成之后点击OK,回到上层对话框,刚才填写的信息会填充到创建签名APK的对话框中。点击Next,会出现下面的对话框:

选择APK输出目录以及Build Version,点击Finish就可以了,等一会就可以在输出目录下找到这个APK文件,这个APK文件就是带有正式签名的。

还是用吃饭家伙签名(Gradle)

Android Studio很强大,可以帮我们给APK签名,当然,Gradle也可以这么做,要用Gradle生成带有正式签名的APK文件需要在app/build.gradle文件中的android闭包中添加如下内容:

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "cn.chenjianlink.android.coolweather"
        minSdkVersion 23
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    signingConfigs {
        config {
            storeFile file('C:/Users/Administrator/Documents/chenjian.jks')
            storePassword '123456'
            keyAlias 'chenjiandev'
            keyPassword '123456'
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
        }
    }
}
  • 在android闭包中添加了一个signingConfigs闭包,然后在signingConfigs闭包中又添加了一个config闭包。接着在config闭包中配置keystore文件的各种信息,storeFile用于指定keystore文件的位置,storePassword用于指定密码,keyAlias用于指定别名,keyPassword用于指定别名密码。
  • 在buildTypes下面的release闭包中应用了刚才添加的签名配置,这样当生成正式版APK文件的时候就会自动使用刚才配置的签名信息来进行签名了

build.gradle文件已经配置完成,接下来点击右侧工具栏的Gradle→项目名→:app→Tasks→build

assembleDebug用于生成测试版的APK文件,assembleRelease用于生成正式版的APK文件,assemble用于同时生成测试版和正式版的APK文件。在生成APK之前,先要双击clean这个Task来清理一下当前项目,然后双击assembleRelease,这样APK文件会自动生成在app/build/outputs/apk目录下

目前keystore文件的所有信息都是以明文的形式直接配置在build.gradle中的,这样就不太安全。Android推荐的做法是将这类敏感数据配置在一个独立的文件里面,然后再在build.gradle中去读取这些数据。Android Studio项目的根目录下有一个gradle.properties文件,它是专门用来配置全局键值对数据的,将相关信息写入这个文件中,然后在build.gradle文件中引用

KEY_PATH=C:/Users/Administrator/Documents/chenjian.jks
KEY_PASS=123456
ALIAS_NAME=chenjiandev
ALIAS_PASS=123456
android {
	...
	signingConfigs {
		config {
			storeFile file(KEY_PATH)
			storePassword KEY_PASS
			keyAlias ALIAS_NAME
			keyPassword ALIAS_PASS
		}
	}
	...
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姓chen的大键哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值