Ada*_*dam 6 android build gradle android-studio
我正在尝试使用gradle构建文件来签署我的应用程序.当我使用普通的signedConfigs时,它可以工作(signingConfigs.release)!但如果我试图从属性文件中读取属性,它将无法工作.(signingConfigs.config)
Properties props = new Properties();
props.load(new FileInputStream(file(rootProject.file("signing.properties"))))
android {
signingConfigs {
config {
storeFile file(props["storeFile"])
storePassword props["storePassword"]
keyAlias props["keyAlias"]
keyPassword props["KeyPassword"]
}
release {
storeFile file("..\\xyz.jks")
storePassword "****"
keyAlias "****"
keyPassword "****"
}
}
.
.
.
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
}
debug {
applicationIdSuffix '.debug'
versionNameSuffix '-SNAPSHOT'
}
}
Run Code Online (Sandbox Code Playgroud)
属性文件:
storeFile=xyz.jks
storePassword=xyz
keyAlias=xyz
keyPassword=xyz
Run Code Online (Sandbox Code Playgroud)
当我运行该项目时,android工作室会显示一个对话框,其中显示:
xyz.apk未签名.请使用"项目结构"对话框配置所选flavor的签名信息.
正确读取属性文件,因为我可以从文件中记录一些属性抛出控制台.
我的一些系统细节:
Android Studio 0.8.6 Windows 8.1 x64 gradle 1.12
希望有人能帮助我.如果你想了解更多细节,请问我.
ari*_*ets 13
这就是我的工作,它对我有用:
signingConfigs {
release {
def Properties localProps = new Properties()
localProps.load(new FileInputStream(file('../local.properties')))
def Properties keyProps = new Properties()
assert localProps['keystore.props.file'];
keyProps.load(new FileInputStream(file(localProps['keystore.props.file'])))
storeFile file(keyProps["store"])
keyAlias keyProps["alias"]
storePassword keyProps["storePass"]
keyPassword keyProps["pass"]
}
}
Run Code Online (Sandbox Code Playgroud)
我的local.properties文件包含"keystore.properties"文件的路径.那包含我关于密钥库的信息:
store=***
alias=***
pass=***
storePass=***
Run Code Online (Sandbox Code Playgroud)
也许加载两个Propreties文件是多余的,但它确实对我有用.
归档时间: |
|
查看次数: |
8572 次 |
最近记录: |