打包分debug版和release包,通常所说的打包指生成release版的apk,release版的apk会比debug版的小,release版的还会进行混淆和用自己的keystore签名,以防止别人反编译后重新打包替换你的应用。
apk身份证就是我们的“.jks”文件。所以这个jks文件很重要。 如果你同一代码,生成两个jks文件打包,那就代表的是两个软件。 打包当然有很多种途径,可以用AS自带的签名,也可以通过Gradle签名等,这里就讲讲常规的。 一、使用Android Studio生成:
首先 我们选择Build -> Generate Signed APK 我们是没有密钥的(身份证)所以我们要去生成一个密钥,所以这里我们选择 Create new… (注意:这里有两个“密钥的密码” 因为一个是密钥的密码,一个是key的密码,但是通常我们在设置的时候会选择设置同一个,这样方便我们记忆,所以这里都认为是密钥的密码。) 点击ok之后,则选择好了文件,并生成了jks文件了。 点击ok之后 这些都是自动带出来的 是否记住密码,你要是怕你忘记密码,你就可以选择记住密码。 接下来就是Next 在这里插入图片描述 最后点击Finish 正在编译,当AS的右上角出现 在这里插入图片描述 表示打包成功 点击直接打开生成的apk文件的位置 在这里插入图片描述 二、 使用Gradle 生成: 1.编辑 根目录文件 gradle.properties
添加如下内容:
KEY_PATH=E:/test.jks KEY_PASS=123456 ALIAS_NAME=test ALIAS_PASS=123456
2.编辑 app/build.gradle 读取指定的路径密码
在android 闭包中添加signingConfigs闭包:
android { compileSdkVersion 25 buildToolsVersion “25.0.3” defaultConfig { applicationId “com.example.test” minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } signingConfigs { config { storeFile file(KEY_PATH) storePassword KEY_PASS keyAlias ALIAS_NAME keyPassword ALIAS_PASS } }
在buildTypes release 闭包中添加 signingConfig signingConfigs.config 应用前面的签名配置(ps:signingConfigs闭包必须在buildTypes闭包前)
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ signingConfig signingConfigs.config } }
3.点击右侧工具栏的Gradle->项目名->:app->Tasks->build 在这里插入图片描述 assemble 用于生成测试版和正式版的apk assembleDebug 用于生成测试版apk assembleRelease 用于生成正式版apk
点击assembleRelease ,提示BUILD SUCCESSFUL,说明生成成功 apk自动生成在app/build/outputs/apk目录