首先说一下前情提要
我被外派到甲方公司上班 我公司和甲方网络是互通的 当初偷懒打包的时候直接呢 就build apk(s) 生成的apk 然后我每天在甲方公司上班 apk要升级的时候 就远程公司电脑打包 哈哈 以前也弄过一次打包 然后吧 奈何全部自学 搞不清楚 就放弃了 昨天总经理说 你天天在那里上班 还要连这里的电脑 我们这里的电脑没有他们那里好 着火了怎么办 然后卑微的职员就只好去研究研究怎么打包才不会导致签名不一样
当然网上有很多办法 我试下来 就搞了俩小时 终于摸清楚了
**
一、假如你没有现成的jks签名文件
**
就需要自己创建一个签名文件 文件最好放在项目下
这里贴一下创建签名步骤的链接
https://blog.csdn.net/zhaojie911272507/article/details/104794435/
然后呢每次进行打包的时候都要选择
进行打包 这样生成的apk(apk存在于release目录文件夹中)才会有自己定义的签名信息
但是一般我们进行测试的时候 都是直接点击运行按钮的 这个时候生成的debug版apk又显示签名信息不一致,就有了第二种情况
二、假如已有jks签名文件
我们这时候想直接使用现成的jks(ps:可以使用一情况下生成的jks哦)
1.在gradle.properties中添加相关jks签名信息
#(jks的路径)jks文件一定要存在
RELEASE_STOREFILE=C:/Project/android_project/WesApp-Sip/xiulll.jks
RELEASE_STORE_PASSWORD=。。。。。
RELEASE_KEY_ALIAS=。。。。
RELEASE_KEY_PASSWORD=。。。。
这里的每一个值和图片对应
2.在build.gradle(:app)中添加打包信息
signingConfigs {
release {
storeFile file(RELEASE_STOREFILE);
storePassword RELEASE_STORE_PASSWORD;
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
debug {
storeFile file(RELEASE_STOREFILE);
storePassword RELEASE_STORE_PASSWORD;
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
3.在build.gradle中添加
signingConfigs 在 buildTypes之前
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
//配置签名 对应上面的 signingConfigs.release
signingConfig signingConfigs.release
}
debug {
minifyEnabled false
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
//配置签名 对应上面的 signingConfigs.debug
signingConfig signingConfigs.debug
}
}
如此,就算直接点击绿色的运行按钮,还是直接build Apk(s)生成apk的签名都一样了 就不用卸载了 我也不用远程桌面了 但是吧 要是不用远程桌面下次用户升级的时候要全部卸载重装 oh呵呵