自AS 3.0(gradle 4.1)以来,通过Gradle自动签名的APK无法安装。

3
自从更新到带有“gradle”4.1的Android Studio 3.0版本以来,我一直面临着这个问题。
如果我使用“Build”和“Run”创建apk,然后将此apk(路径为app/build/outputs/apk/...)上传到设备并尝试安装它(该应用程序未在设备上),则会出现“应用程序未安装”错误。
我的“gradle”设置片段:
signingConfigs {

        release {
            storeFile file("../path_to_keystore/keystore.jks")
            storePassword "mypass"
            keyAlias "myAlias"
            keyPassword "mypass"
        }
    }

buildTypes {
        release {
            minifyEnabled true
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        debug {
            versionNameSuffix "-debug"
        }
    }

如果我通过生成已签名 APK 向导来签署 APK,则可以安装 APK。在以前的 Android Studio 版本中,使用构建和运行方法可以工作。

有人遇到相同的问题吗?并且知道如何通过 Gradle 自动签名解决此问题吗?

一些额外的信息:

  • 即时运行已禁用
  • 通过调试和发布配置进行构建和运行的版本可以正常上传并通过 AS 在设备上安装
1个回答

5
我昨天遇到了这个问题。似乎现在不能直接通过除Android Studio以外的方式安装Run的输出。Android Studio会自动将android:testOnly="true"添加到清单文件中的<application>元素中。尽管有文档说明,但这个APK不能通过任何方式安装,除了Android Studio——我特意尝试使用adb进行安装,但失败了。
运行assembleRelease任务可以生成可用的APK,同样,在Studio向导中也可以生成。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接