美文网首页
Android Gradle -- 隐藏签名文件信息

Android Gradle -- 隐藏签名文件信息

作者: 冯可乐同学 | 来源:发表于2022-01-10 10:47 被阅读0次

    ----《Android Gradle 权威指南》学习笔记

    总目录:Gradle 学习系列 -- 目录

    上一篇:自定义 Android Gradle -- 配置签名信息

    下一篇:自定义 Android Gradle -- 使用混淆

    1. 在小项目或小团队中,一般都是把 APP 的签名证书和相关密钥放在项目中,甚至还会放在 git 或 SVN 中,这样做非常方便,可以直接访问打包,并且可以借助管理平台进行管理维护。但是签名信息是应用程序的重要信息,属于公司或集体的重要资源,所以要做到分级管理,保证安全。所以如何隐藏签名信息的同时,又能保证每个人可以使用签名信息打包就很有必要。

    2. 签名信息不能放在项目中,也不能放在开发者个人的电脑中,那就只能放在服务器上了。把签名文件和密钥信息放在服务器上,需要发布的正式签名包只在签名服务器上进行打包即可。

    3. 举个栗子,在 build.gradle 中可以如下配置:

    android {
        compileSdk 31
    
        signingConfigs {
            def appStoreFile = System.getenv("STORE_FILE")
            def appStorePassword = System.getenv("STORE_PASSWORD")
            def appKeyAlias = System.getenv("KEY_ALIAS")
            def appKeyPassword = System.getenv("KEY_PASSWORD")
    
            // 当不能从环境变量中获取到签名信息的时候,就用项目中带的 debug 签名
            if (!appStoreFile || !appStorePassword || !appKeyAlias || !appKeyPassword) {
                appStoreFile = "debug.keystore"
                appStorePassword = "android"
                appKeyAlias = "androiddebugkey"
                appKeyPassword = "android"
            }
    
            release {
                storeFile file(appStoreFile)
                storePassword appStorePassword
                keyAlias appKeyAlias
                keyPassword appKeyPassword
            }
        }
        ...
    }
    
    1. 配置好上面的代码后,如果是服务器管理员在服务器打包,则会使用正式发布的签名信息。如果是开发者在自己的电脑上打包,则会使用 Android 自带的 debug 签名信息。如果有的开发者也需要使用正式版本的签名信息,比如用于升级测试等目的,也是可以做到,比如在服务器上开通一个临时账户等的操作。
    相关代码:https://gitee.com/fzq.com/gradle-demos

    相关文章

      网友评论

          本文标题:Android Gradle -- 隐藏签名文件信息

          本文链接:https://www.haomeiwen.com/subject/vjgcfrtx.html