Android生成正式签名的APK文件

579 阅读2分钟

Android签名APK

Android Studio会将程序代码打包成一个APK文件,然后将文件传输到手机上面,最后再执行安装操作

Android系统会将所有的APK文件识别为应用程序的安装包,类似于Windows系统的exe文件

  • 但不是所有的APK文件都能成功地安装到手机上面,Android系统要求APK必须先进行签名才能安装到手机上面
  • 那你会问?为什么开发的时候,直接就能跑到手机上面呢?那是因为Android Studio自动帮我们生成了一个默认的keystore文件帮我们自动进行了签名的操作

  • 也就是说,开发阶段,我们都是用过这个keystore来进行签名的。但是这只适用于开发阶段

正式阶段,则需要我们重新生成一个正式的签名文件

使用Android Studio来生成正式的签名文件

  • Android App Bundle是用于上架Google Play商店的
  • APK则是用于上架其他渠道商店的
  • 这里我们选择APK

  • 因为我们还没有创建过,这里选择Create new

  • 点击finish之后,发现,签名包已经完成,可以上传至各大渠道安装了

使用Gradle来生成签名包

  • 把签名部署在app 下面的 build.gradle模块
signingConfigs {
        config{
            storeFile file('C:/Users/贾元发/network.jks')
            storePassword 'fage520'
            keyAlias = "fageDev"
            keyPassword = "fage520"
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
        }
    }
  • 使用assemble生成

  • 这个Gradle命令会同时生成两个APK 即debug 和 release

  • APK已经生成完毕

  • 有一点需要注意,敏感信息,我们最好不要放在build.gradle中,这里我们生成一个文件存储敏感信息

  • 修改build.gradle文件
signingConfigs {
        config{
            storeFile file(KEY_PATH)
            storePassword KEY_PASS
            keyAlias ALIAS_NAME
            keyPassword ALIAS_PASS
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
        }
    }
  • 将其加入忽略文件

  • 如果发现忽略了,Push之后远程还是存在,那么就需要清除本地缓存,重新add commit push了 清除本地库的缓存

git rm -r --cached .

讲本地代码重新加入

git add .

并让 .gitignore 文件夹生效,读取我配置的过滤规则

git commit -m “update .gitignore”

  • 再次查看远程,发现忽略规则已经起作用,这样就保证了keystore的密码安全问题