我在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。 我该怎么办?


当前回答

我的问题是通过改变Stéphane所建议的构建变量来解决的,如果有人像我一样很难找到“构建变量”,这里是一个截图,你可以在那里找到它。

其他回答

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

注意,您可以使用自签名证书对apk进行签名。

备选方案可以是:

下载已签名的apk(如有)。 下载源代码,编译它们(用Android-Studio或gradle或…)它将生成多个apk,其中一个将与您的调试密钥(因此您将能够安装它)进行签名。

始终使用您的构建对您的构建进行签名。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插件用户指南

最后对我有用的,我也不知道为什么,是:

去了LastPass(我用来保存所有密码的服务) 把光标放在密码上方,双击,选择我的密码 一旦选择,我按cmd C复制 切换到Android study,点击cmd V进行粘贴

请注意,我多次尝试通过在密码末尾单击并移动鼠标选择密码来复制密码。

这很奇怪,但它只能通过双击密码顶部来复制它。

我也使用了打开模块设置>签名…方法由@NightFury在这篇文章中解释。

我的问题是通过改变Stéphane所建议的构建变量来解决的,如果有人像我一样很难找到“构建变量”,这里是一个截图,你可以在那里找到它。

用于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")
    }
}