app-release-unsigned.apk没有签名

我在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。 我应该做些什么?

如果有人想使用Android Studiodebugging版本构build,请按照下列步骤操作:

  1. 将生成变体设置为释放模式。

在这里输入图像说明

  1. 右键单击左侧导航窗格中的应用程序 ,单击打开模块设置

  2. 转到签名选项卡。 添加签名configuration并填写信息。 select你的钥匙链。

在这里输入图像说明

  1. 转到生成types选项卡。 select发布模式并设置:

– 可以调整为

– 签名configuration到configuration 。 (你刚创build的那个)。

在这里输入图像说明

同步你的gradle。 请享用!

确保构build变体设置为在Android Studio中进行debugging (而不是发布 )(请查看构build变体面板)。

如果设置为debugging,则应该使用自动生成的debugging密钥库自动对应用程序进行签名,而无需编辑构build脚本。

但是,您需要创build并configuration特定的密钥库才能发布。

官方文档,涵盖debugging和发布模式: https : //developer.android.com/tools/publishing/app-signing.html

总是使用你的build.gradle DSL脚本来签署你的构build:

  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构build系统,请访问:

Gradle插件用户指南

我成功地能够debugging签名APK,按照此过程: –

  1. 在“Build Variant”工具栏中select“release”版本
  2. 在模块的Build.gradle ,对于发布版本types,设置为debuggable true
  3. 转到文件 – >项目结构 – >签名选项卡下填充所有信息 – >在风味选项卡 – >select签署configuration您刚刚创build
  4. 设置断点
  5. 在debugging模式下运行应用程序

出于安全原因,您无法在Android上安装未签名的apk。 所以如果你只有未签名的apk,你必须签名。 这是如何做到这一点: 链接

请注意,您可以使用自签名证书签署apk。

另一种可以是:

  • 如果可用,下载已签名的apk。
  • 下载源代码,编译它们(使用Android-Studio或Gradle或…)。 它会产生多个apks,其中一个会用你的debugging密钥签名(所以你可以安装它)

signedConfigs应该在buildTypes之前

 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 } } 

您下载的应用程序项目可能包含build.gradle文件中的签名信息。 如果你看到这样的代码:

 buildTypes { debug { signingConfig signingConfigs.release } release { signingConfig signingConfigs.release } } 

你可以删除它们,然后重试。

我的解决scheme是将我的签名configuration的名称从默认的“config”更改为“debug”。 为了validation,我把它改成其他一些随机的名字,并再次得到错误,然后把它改回“debug”,错误消失了。 所以虽然看起来很模糊,但我总是不相信这是整个故事,试试这个解决scheme。

我也出现这个问题,我的代码如下

  storeFile file(properties.getProperty("filepath")) storePassword properties.getProperty("keypassword") keyAlias properties.getProperty("keyAlias") keyPassword properties.getProperty("keypassword") 

原因是属性名称错误,应该是keyPassword而不是keypassword

在工具窗口栏中selectBuild Variants,将Build Variant从Release下载到Debug

如果你想在debugging模式下运行应用程序

1)看左侧底部,上面的collections夹有build立变种

2)点击Build Variants。 点击发布并selectdebugging

它的作品完美!