我在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.我应该做些什么?
始终使用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构建系统,请访问:
Gradle插件用户指南
出于安全原因,您无法在Android上安装未签名的apk.因此,如果您只有未签名的apk:您必须签名.以下是如何做到这一点:链接
请注意,您可以使用自签名证书对apk进行签名.
另一种选择可以是:
下载签名的apk(如果有).
下载源代码,编译它们(使用Android-Studio或gradle或...).它将生成多个apks,其中一个将使用您的调试密钥签名(因此您将能够安装它)
您下载的应用程序项目可能在build.gradle文件中包含签名信息。如果您看到类似以下的代码:
buildTypes { debug { signingConfig signingConfigs.release } release { signingConfig signingConfigs.release } }
您可以删除它们,然后重试。
确保在Android Studio 中将构建变体设置为debug(而不是release)(检查构建变体面板).
如果设置为debug,它应该使用自动生成的调试密钥库自动对应用程序进行签名,而无需编辑构建脚本.
但是,您需要创建和配置特定的密钥库以供发布.
官方文档,涵盖调试和发布模式:https://developer.android.com/tools/publishing/app-signing.html
signingConfigs应该在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 } }
我成功地能够调试已签名的APK,请按照以下步骤操作: -
在"Build Variant"工具栏中选择"发布"版本
在为发布版本类型Build.gradle
设置的模块中debuggable true
转到文件 - >项目结构 - >在签名选项卡下填写所有信息 - >在Flavors选项卡下 - >选择签名配置您刚刚创建
设置断点
在调试模式下运行应用程序
对于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") } }
如果有人想使用Android Studio 调试发布版本,请按照下列步骤操作:
将构建变体设置为释放模式.
右键单击左侧导航窗格中的应用程序,单击" 打开模块设置".
转到签名选项卡.添加签名配置并填写信息.选择你的钥匙串.
转到" 构建类型"选项卡.选择发布模式并设置:
- 可以判断为真.
- 将配置指定给配置.(你刚刚创建的那个).
同步你的gradle.请享用!
如果你想在调试模式下运行应用程序
1)查看左侧底部,在收藏夹上方有Build Variants
2)单击Build Variants.单击发行版并选择调试
它完美!