android 如何生成正式签名的 apk 文件

前言:不知为何,一直无法直接用Gradle生成正式签名的apk文件。一种稍显迂回的办法就是先生成.jks签名文件,然后再生成apk文件。若有更简易方法,请在评论区告知,谢谢

一、使用Android Studio生成签名文件

在app下build.gradle文件中,buildTypes闭包默认是这样的:

 buildTypes {
        //打包配置
        release {
            //是否混淆
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }

    }

打开Android Studio,点击工具栏上面的“Builder”->Generate Signed Bundle/APK(盗图呵呵呵)
在这里插入图片描述
弹出一个对话框
在这里插入图片描述
App Bundle文件用于上架Google Play商店的,缺点是不能直接安装到手机上,也不能用于除上架Google Play之外的其它应用商店。这里选择创建 APK 文件

在这里插入图片描述
点击Create new…,按要求填写即可。这里将.jks文件放在c:\User\aa目录下
在这里插入图片描述
这个错误忽略,直接点ok
在这里插入图片描述

我们的需求仅仅是生成签名文件,选debug就可。V1、V2都勾选上,表示会使用同时兼容新老本系统的签名方式
在这里插入图片描述
点击Finish
在这里插入图片描述
在c:\User\aa目录下生成了签名文件:
在这里插入图片描述

二、使用Gradle生成正式签名的APK文件

修改app下build.gradle文件。增加了签名配置signingConfigs ,buildTypes也增加了debug闭包。这种配置可使debug、release签名始终保持一致

//签名配置
    signingConfigs {
        config {
            keyAlias 'cat'
            keyPassword '123456'
            storeFile file('C:/Users/aa/mychat.jks')
            storePassword '123456'
        }
    }
    buildTypes {
        //打包配置
        release {
            //清理无用资源
            //shrinkResources true
            //是否启动ZipAlign压缩
            zipAlignEnabled true
            //是否混淆
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            //签名
            signingConfig signingConfigs.config
        }
        debug {
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            //签名
            signingConfig signingConfigs.config
        }

    }

必要时可以clean下工程
双击右侧工具栏的Gradle->项目名->app->Tasks->build->assemble, 生成APK文件。它会同时生成debug和release 两个版本的apk。

在这里插入图片描述
assemble执行成功:
在这里插入图片描述
APK文件会自动生成在app/build/outputs/apk目录下:
在这里插入图片描述
分别生成了两个版本的apk文件:
在这里插入图片描述在这里插入图片描述
OK,收工!

猜你喜欢

转载自blog.csdn.net/u010475354/article/details/106899320