自 AS 3.0 (gradle 4.1) 起无法安装通过 Gradle 自动签名的 APK

Automatically signed APK via Gradle cannot be instaled since AS 3.0 (gradle 4.1)

自从使用 gradle 4.1 更新到 Android Studio 3.0 后,我遇到了这个问题。

如果我使用 Build & 运行 创建 apk,然后将此 apk(路径 app/build/outputs/apk/...)上传到设备并尝试安装它(它是全新安装应用程序不在设备上)我收到 "App not installed" 错误。

我的 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?

修复自动签名

一些附加信息:

我运行昨天进入了这个。显然,运行 的输出不再可以通过 Android Studio 以外的方式直接安装。 Android Studio 自动添加 android:testOnly="true" to the <application> element in the manifest。尽管有文档,但此 APK 无法通过 Android Studio 以外的任何方式安装 — 我专门尝试通过 adb 安装但失败了。

运行完成 assembleRelease 任务后,您会获得一个可以使用的 APK,就像 In-Studio 向导一样。