Waz*_*_Be 38 android android-studio
当我使用Google Maps API时,我习惯使用Eclipse中的自定义调试键(实际上是我的生产键)
这种操作允许我在我的调试和发布版本中使用相同的地图API密钥和大部分Google Play服务(在应用计费中).
这非常方便,因为无需更改清单中的密钥.

不幸的是,随着迁移到Android Studio,我错过了这个功能.
知道我可以在哪里找到这个选项吗?
非常感谢.
小智 66
您可以在build.gradle文件中定义密钥库.请参阅此处的"签名配置"部分:https://developer.android.com/studio/build/index.html
在您的情况下,您希望重新定义调试变量的密钥库:
android {
signingConfigs {
debug {
storeFile file("your.keystore")
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,您应该使用两个不同的密钥库来进行调试和发布配置.
Joh*_*ohn 25
在最近的Android Studio 0.8.9上,你会发现这是一个更好的地方:
File->Project Structure
Run Code Online (Sandbox Code Playgroud)
它创建了gradle东西,在"Apply"上自动同步并立即像魅力一样工作.
Kir*_* A. 17
嗨如果您不想要所有这些东西的硬代码,那么请采取以下简单的步骤
->Your project
->Your Module
->Right click on your module
->go to open module settings
->Go to Signing section
->Specify all the attribute here and browse your Custom debug key in Store File
Run Code Online (Sandbox Code Playgroud)
然后你会发现下面的代码将由build Studio在build.gradle中自动创建
signingConfigs {
debug {
storeFile file('custom_debug_keystore')
keyAlias 'androiddebugkey'
keyPassword 'android'
storePassword 'android'
}
}
Run Code Online (Sandbox Code Playgroud)
注意:
1)请不要手动在代码中使用.keystore进行手动配置
2)请指定正确的别名和密码
以下是我将我的两个密钥从gradle.build文件中移动到一个文件中的完整步骤,该文件不会包含在任何构建或存储库提交中.
1) 创建一个gradle.properties(如果你还没有).
此文件的位置取决于您的操作系统:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
Run Code Online (Sandbox Code Playgroud)
2)添加指向yourprojectname.properties文件的条目.
(Windows的示例)
yourprojectname.properties=c:\\Users\\<username>\\signing\\yourprojectname.properties
Run Code Online (Sandbox Code Playgroud)
3)yourprojectname.properties使用以下信息在步骤2中指定的位置创建文件:
keystore=C:\\path\\to\\keystore\\yourapps.keystore
keystore.password=your_secret_password
Run Code Online (Sandbox Code Playgroud)
4)修改gradle.build文件以指向yourprojectname.properties文件以使用变量.
if(project.hasProperty("yourprojectname.properties")
&& new File(project.property("yourprojectname.properties")).exists()) {
Properties props = new Properties()
props.load(new FileInputStream(file(project.property("yourprojectname.properties"))))
android {
signingConfigs {
release {
keyAlias 'release'
keyPassword props['keystore.password']
storeFile file(props['keystore'])
storePassword props['keystore.password']
}
debug {
keyAlias 'debug'
keyPassword props['keystore.password']
storeFile file(props['keystore'])
storePassword props['keystore.password']
}
}
compileSdkVersion 19
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "your.project.app"
minSdkVersion 16
targetSdkVersion 17
}
buildTypes {
release {
}
}
}
}
dependencies {
...
}
Run Code Online (Sandbox Code Playgroud)
5)享受! 现在,您的所有密钥都将位于目录的根目录之外,但您仍然可以为每个构建获得自动化的乐趣.
如果你的gradle.build文件中出现关于"props"变量的错误,那是因为你没有if在props变量被赋值的第一个条件内执行"android {}"块,所以只需移动整个android {... } section进入分配props变量的条件然后再试一次.
您可以单独debug.keystore为项目 指定.
使用以下图像的两个步骤:(Android Studio v0.5.2)步骤1:单击按钮.
project structure
第2步:添加debug.keystore如下.

| 归档时间: |
|
| 查看次数: |
43094 次 |
| 最近记录: |