我有一个具有以下结构的项目:
Root
\__main_project
|
\__modules
\__
| library1
|
\__
library2
我的gradle中有以下配置:
android {
compileSdkVersion 19
buildToolsVersion '19.0.0'
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
}
signingConfigs {
release {
storeFile file('/home/home/.signing/test.keystore')
storePassword 'testtest'
keyAlias 'testtest'
keyPassword 'testtest'
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
构建我的项目我运行以下命令:
./gradlew :main_project:assembleRelease
但它只生成main_project-release-unsigned.apk
所以我的问题是,当我指定所有必需的配置时,它会产生unsigned apk。 谢谢。
答案 0 :(得分:8)
"官方"详细说明here解释了按照Google推荐的方式配置build.gradle文件的方法。
基本上,您可以在其中添加" signinConfig",您可以在其中指定密钥库的密码位置。 然后,在发布版本类型中,请参阅该签名配置。
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file("myreleasekey.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...
然后使用" assembleRelease"构建应用程序。任务。
答案 1 :(得分:1)
尝试./gradlew assembleRelease
。
您也可能想要扩充buildTypes发布部分
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
zipAlign true
}
}
另请参阅How to create a release signed apk file using Gradle?上的task askForPasswords
,了解如何提示输入密码,以便将密码存储在此文件中。