IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> keystore.properties 配置 -> 正文阅读

[移动开发]keystore.properties 配置

秘钥丢失或泄漏:

? ? 1.无法发布已有应用的更新,签名文件不同导致无法覆盖安装

? ? 2,被人重新打包,添加私活,偷偷获取用户数据等

从编译文件中移除签名信息

android 保障密钥的安全 keystore.properties - Welcome My Blog! - OSCHINA - 中文开源技术交流社区

关于签名文件的知识总结 - zhangmiao14 - 博客园

在您创建签名配置时,Android Studio 会以纯文本形式将您的签名信息添加到模块的?build.gradle?文件中。如果您通过团队协作开发项目或者要将您的代码开源,那么您应该将此敏感信息从编译文件中移出,以免被其他人轻易获取。为此,您应该创建一个单独的属性文件来存储安全信息并在您的编译文件中引用此文件,具体步骤如下所示:

创建一个签名配置,并将其分配到一个或多个编译类型。这些说明假设您已经按照上面配置编译流程以自动为应用签名部分所述,为发布版本类型配置了一个签名配置。 在项目的根目录下创建一个名为?keystore.properties?的文件。此文件应该包含您的签名信息,具体代码如下所示:

storePassword=myStorePassword

??? keyPassword=mykeyPassword

??? keyAlias=myKeyAlias

??? storeFile=myStoreFileLocation



demo:

storePassword=sdfsdf

keyPassword=fsdfsdf

keyAlias=fsdfdsf

storeFile=../../mykey.jks

debugstorePassword=dfsf

debugkeyPassword=sdfdf

debugkeyAlias=fsdf

debugstoreFile=dfsf

在模块的?build.gradle?文件中,在?android {}?块的前面添加用于加载?keystore.properties?文件的代码。

??? ...

??? // Create a variable called keystorePropertiesFile, and initialize it to your

??? // keystore.properties file, in the rootProject folder.

??? def keystorePropertiesFile = rootProject.file("keystore.properties")



??? // Initialize a new Properties() object called keystoreProperties.

??? def keystoreProperties = new Properties()



??? // Load your keystore.properties file into the keystoreProperties object.

??? keystoreProperties.load(new FileInputStream(keystorePropertiesFile))



??? android {

??????? ...

??? }

注意:您可以选择将?keystore.properties?文件存储在其他位置(例如,存储在模块文件夹中而不是项目的根文件夹中,或者如果您使用持续集成工具,也可以存储在编译服务器上)。在这种情况下,您应该修改上面的代码,以使用实际的?keystore.properties?文件的位置正确初始化?keystorePropertiesFile。

您可以使用语法?keystoreProperties['propertyName']?引用存储在?keystoreProperties?中的属性。修改模块的?build.gradle?文件的?signingConfigs?块,以便使用此语法引用存储在?keystoreProperties?中的签名信息。???

 android {

??????? signingConfigs {

??????????? config {

??????????????? keyAlias keystoreProperties['keyAlias']

??????????????? keyPassword keystoreProperties['keyPassword']

??????????????? storeFile file(keystoreProperties['storeFile'])

??????????????? storePassword keystoreProperties['storePassword']

??????????? }

??????? }

??????? ...

????? }





demo:

signingConfigs {

????????release {

????????????keyAlias keystoreProperties['keyAlias']

????????????keyPassword keystoreProperties['keyPassword']

????????????storeFile file(keystoreProperties['storeFile'])

????????????storePassword keystoreProperties['storePassword']

????????}

????????debug {

????????????keyAlias keystoreProperties['debugkeyAlias']

????????????keyPassword keystoreProperties['debugkeyPassword']

????????????storeFile file(keystoreProperties['debugstoreFile'])

????????????storePassword keystoreProperties['debugstorePassword']

????????}

????}



release {

????????????buildConfigField "boolean", "LOG_DEBUG", "false"

????????????zipAlignEnabled true

????????????shrinkResources true

????????????minifyEnabled true

????????????proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

????????????signingConfig signingConfigs.release

}

打开?Build Variants?工具窗口,并确保已选择发布版本类型。 选择?Build > Build Bundle(s) / APK(s)?下的选项,编译您的发布版本的 APK 或 app bundle。您应该会在模块的?build/outputs/?目录中看到相应编译输出。

由于您的编译文件不再包含敏感信息,您现在可以将其包含在源代码控制系统中或者上传到共享的代码库。请务必保障?keystore.properties?文件的安全。您可能需要将其从您的源代码控制系统中移除

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-22 11:03:19  更:2021-10-22 11:04:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:13:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码