我在github上下载了一个Android应用程序的zip文件,我试图运行它,但我得到了一个带有此消息的对话框
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应用程序的zip文件,我试图运行它,但我得到了一个带有此消息的对话框
app-release-unsigned.apk is not signed. Please configure the signing information for the selected flavor using the Project Structure dialog.
我使用Android Studio。 我该怎么办?
当前回答
我是怎么解决的
发生此错误是因为您已将构建变量设置为发布模式。将其设置为构建模式并再次运行项目。
如果你想在发布模式下运行,只需生成一个签名的apk,就像我们在发布应用程序时通常做的那样
其他回答
我也出现了这个问题,下面是我的代码
storeFile file(properties.getProperty("filepath"))
storePassword properties.getProperty("keypassword")
keyAlias properties.getProperty("keyAlias")
keyPassword properties.getProperty("keypassword")
原因是属性名错误,它应该是keyPassword而不是keyPassword
确保构建变量在Android Studio中被设置为调试(而不是发布)(检查构建变量面板)。
如果设置为调试,它应该自动使用自动生成的调试密钥库对应用程序进行签名,而不需要编辑构建脚本。
但是,您将需要创建和配置一个特定的密钥存储库来发布。
官方文档,包括调试和发布模式:https://developer.android.com/tools/publishing/app-signing.html
我的解决方案是将签名配置的名称从默认的“config”更改为“debug”。为了验证,我将其更改为其他一些随机名称并再次得到错误,然后将其更改为“调试”,错误就消失了。所以,虽然这看起来是人为的,我倾向于不相信这是全部的故事,尝试一下这个解决方案。
最后对我有用的,我也不知道为什么,是:
去了LastPass(我用来保存所有密码的服务) 把光标放在密码上方,双击,选择我的密码 一旦选择,我按cmd C复制 切换到Android study,点击cmd V进行粘贴
请注意,我多次尝试通过在密码末尾单击并移动鼠标选择密码来复制密码。
这很奇怪,但它只能通过双击密码顶部来复制它。
我也使用了打开模块设置>签名…方法由@NightFury在这篇文章中解释。
始终使用您的构建对您的构建进行签名。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构建系统,请访问:
Gradle插件用户指南