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,请按照下列步骤操作:
- 将生成变体设置为释放模式。
-
右键单击左侧导航窗格中的应用程序 ,单击打开模块设置 。
-
转到签名选项卡。 添加签名configuration并填写信息。 select你的钥匙链。
- 转到生成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,按照此过程: –
- 在“Build Variant”工具栏中select“release”版本
- 在模块的
Build.gradle
,对于发布版本types,设置为debuggable true
- 转到文件 – >项目结构 – >签名选项卡下填充所有信息 – >在风味选项卡 – >select签署configuration您刚刚创build
- 设置断点
- 在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
它的作品完美!