Vas*_*K V 5 android code-signing android-install-apk android-studio
我对 android 世界很陌生,我试图在我的手机上运行一个简单的 hello world 应用程序。当我尝试这个时,我了解到由 android studio 生成的 APK 是未签名的。所以为了签署这个,我经历了创建一个密钥存储的过程,然后是一个私钥,它的别名,我成功地签署了 APK 并安装在我的手机上并运行它。
然后我通过这个链接将签名配置添加到 gradle 以使用新创建的密钥存储文件自动签署版本。我已经正确地按照上述链接的步骤操作并且没有遗漏任何东西,但是当我完成我的签名配置时,我有一个错误说
Gradle 项目同步失败。基本功能(例如编辑、调试)将无法正常工作。
错误:(19, 0) 在 SigningConfig 容器上找不到属性“config”。
我吃了一惊!现在我也无法手动签署我的 APK。现在,当我尝试手动签名时,它说 gradle不同步
我想这个文件将有助于帮助我解决这个错误。项目的 build.gradle。我试图理解这里提到的内容与我在进行签名配置时通过 Android Studio UI 配置的内容相同。
apply plugin: 'com.android.application'
android {
signingConfigs {
release {
storeFile file("<path>\\firstKeystore.jks")
storePassword "******"
keyAlias "usual password"
keyPassword "******"
}
}
compileSdkVersion 19
buildToolsVersion '20.0.0'
defaultConfig {
applicationId 'com.tech.vasanth.newsfeed'
minSdkVersion 19
targetSdkVersion 19
versionCode 1
versionName '1.0'
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
debuggable false
jniDebugBuild false
renderscriptDebugBuild false
zipAlign true
}
debug {
signingConfig signingConfigs.config
}
}
productFlavors {
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Run Code Online (Sandbox Code Playgroud)
我一直在使用以下配置进行调试/发布。
signingConfigs {
release {
keyAlias 'keyAlias'
keyPassword 'keyPassword'
storePassword 'storePassword'
storeFile file("${rootDir}/keystores/app.keystore")
}
debug {
storeFile file("${rootDir}/keystores/debug.keystore")
keyAlias 'androiddebugkey'
keyPassword 'android'
storePassword 'android'
}
}
Run Code Online (Sandbox Code Playgroud)
定义发布模块时:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'other-rules.pro'
signingConfig signingConfigs.release
}
debug {
signingConfig signingConfigs.debug
}
}
Run Code Online (Sandbox Code Playgroud)
注意:这rootDir是您的项目根目录。请将您的密钥库存储在上述目录中。
buildTypes.release块中有错误。签名配置应该是:
signingConfig signingConfigs.release
Run Code Online (Sandbox Code Playgroud)
请注意,这就是您在signingConfigs上面的块中命名配置的方式。
还要省略buildTypes.debug块中的签名配置(或者,如果你真的想要它,像上面那样设置)。
| 归档时间: |
|
| 查看次数: |
7829 次 |
| 最近记录: |