我从GitHub下载了一个Android应用的压缩文件并尝试运行它,但是出现了一个提示对话框,其中显示:
app-release-unsigned.apk is not signed. Please configure the signing information for the selected flavor using the Project Structure dialog.
我正在使用Android Studio。 我应该怎么做?
我从GitHub下载了一个Android应用的压缩文件并尝试运行它,但是出现了一个提示对话框,其中显示:
app-release-unsigned.apk is not signed. Please configure the signing information for the selected flavor using the Project Structure dialog.
我正在使用Android Studio。 我应该怎么做?
请确保在Android Studio中的构建变体设置为debug模式(而非release模式)(检查构建变体面板)。
如果设置为debug模式,应该会自动使用自动生成的调试密钥库对应用程序进行签名,无需编辑构建脚本。
但是,您需要创建和配置一个特定的密钥库以供发布使用。
官方文档,涵盖了debug和release模式:https://developer.android.com/tools/publishing/app-signing.html
始终使用 build.gradle DSL 脚本对你的构建进行签名,如下所示:
android {
signingConfigs {
debug {
storeFile file("debug.keystore")
}
myConfig {
storeFile file("other.keystore")
storePassword "android"
keyAlias "androidotherkey"
keyPassword "android"
}
}
buildTypes {
bar {
debuggable true
jniDebugBuild true
signingConfig signingConfigs.debug
}
foo {
debuggable false
jniDebugBuild false
signingConfig signingConfigs.myConfig
}
}
}
如果你想更好地了解与Android Studio相关的Gradle构建系统,只需访问:
我成功地调试了已签名的APK,按照以下步骤进行:
Build.gradle
中,为release构建类型设置debuggable true
对于Gradle Kotlin dsl
signingConfigs {
create("releaseConfig") {
storeFile = file("your keystore file path")
storePassword = "storePassword"
keyAlias = "keyAlias"
keyPassword = "keyPassword"
}
}
buildTypes {
getByName("release") {
signingConfig = signingConfigs.getByName("releaseConfig")
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
}
签名配置应该在构建类型之前。
signingConfigs {
debug {
storeFile file("debug.keystore")
}
myConfig {
storeFile file("other.keystore")
storePassword "android"
keyAlias "androidotherkey"
keyPassword "android"
}
}
buildTypes {
bar {
debuggable true
jniDebugBuild true
signingConfig signingConfigs.debug
}
foo {
debuggable false
jniDebugBuild false
signingConfig signingConfigs.myConfig
}
}
如果你想以调试模式运行应用程序
1)看左下角,收藏夹上方有构建变体
2)点击构建变体。 点击发布并选择调试
它完美地工作!
你下载的应用项目可能在 build.gradle 文件中包含已签名的信息。如果你看到类似下面的代码:
buildTypes {
debug {
signingConfig signingConfigs.release
}
release {
signingConfig signingConfigs.release
}
}
你可以删除它们,然后再试一次。