13

最近从 Eclipse 更改为 Android Studio,我也将 JDK 从 更改java-open-jdkjdk1.7.0_45.

现在我正在尝试运行我的第一个应用程序并收到以下消息:

由于 APK 未签名或签名不正确,安装失败。
如果这是基于 Gradle 的项目,请确保签名配置
在 Gradle 构建脚本中指定

编辑:

当我从 Android Studio 运行时,我收到上面显示的错误。当我从命令行运行它时,我没有收到错误(应用程序正在运行并且我收到错误但与 gradle 无关)。

我从这里得到了代码

您可以在google repo上查看 build.gradle

更新 2:

我添加了这段代码

signingConfigs {
    release {
        storeFile file("john.keystore")
        storePassword "john"
        keyAlias "johnkeystore"
        keyPassword "john"
    }
}

buildTypes在 build.gradle 文件中的代码块上方。文件 john.keystore 位于我的项目的根目录上。我正在跑步gradlew assembleRelease,我得到一个 xxx-release-unsigned.apk.

4

8 回答 8

19

如果您确实使用 gradle 运行构建,则需要配置signingConfigs. Android 可以自动配置您的调试签名配置。您可以通过以下方式进行释放signingConfig

android {

    signingConfigs {

        release {

            storeFile file('android.keystore')
            storePassword "pwd"
            keyAlias "alias"
            keyPassword "pwd"
        }
    }

    buildTypes {

       release {

           signingConfig signingConfigs.release
       }
    }
}

在此处查看有关此主题的手册:http ://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Signing-Configurations

如果您仍有问题,请使用您的build.gradle. 最有可能的问题就在这里。我正在使用 JDK 1.7 并且 gradle 构建工作正常。

于 2013-10-27T11:35:51.380 回答
7

我遇到了同样的问题,我去了 Build->Clean Project 并重新执行该项目并且它工作正常。

于 2015-03-12T12:59:58.900 回答
0

我一直在努力使用 Android Studio esp。gradle 和 build 变体。

我已经从定义的构建类型中更改了它:

debug
release
于 2014-08-17T03:40:29.463 回答
0

当我遇到同样的问题(在开发和运行测试时)时,我去了 Build -> Rebuild Project然后重新启动了模拟器。这对我有用。

于 2015-11-05T05:03:56.090 回答
0

没有一个答案对我有用,即使从手机上卸载了应用程序,我也无法部署它。有效的方法是将应用程序安装到不同的设备上,然后当我尝试将它部署在以前的设备上时,它奇迹般地工作了。

于 2015-11-10T10:50:36.037 回答
0

如果您的目标不是为您的应用程序创建自定义构建,您可能希望从测试设备中清除有关它的所有数据,以防您使用模拟器,只需擦除设备中的所有数据。转到 -> Tools-> Android-> AVD Manager-> [您要擦除的设备](在操作选项卡中)-> Wipe Data

在此处输入图像描述

如果是实际设备,只需卸载应用程序和所有相关数据。

原因是未签名的 APK 具有签名,因此设备会看到您正在尝试安装与此处生成的包名称相同的东西。

希望这可以节省您一些时间。

于 2016-01-22T11:42:28.437 回答
0

如果您的设备有多个用户,在安装签名 APK 之前,请检查是否没有为其他用户安装相同的应用程序。如果它在那里,请将其删除。

对我来说,这是拒绝安装签名 APK 的根本原因。

于 2016-03-01T07:56:07.353 回答
0

只需构建-> 重建项目,然后重新启动模拟器。这对我有用。

于 2016-09-15T10:43:36.103 回答