【问题标题】:How to fix INSTALL_PARSE_FAILED_NO_CERTIFICATES for xiaomi/redmi/miui while debugging?如何在调试时修复 xiaomi/redmi/miui 的 INSTALL_PARSE_FAILED_NO_CERTIFICATES?
【发布时间】:2020-05-28 17:22:20
【问题描述】:

我在使用我的 xiaomi redmi note 7 (pie) 时只有这个错误信息。我以前用的手机是红米2,现在还能用。我尝试从颤振或 android studio 项目调试仍然得到同样的错误。当我想尝试调试我的朋友手机三星 A50 时,它运行良好。 我尝试了来自this answer 的任何东西,但没有一个对我有用。

来自 Flutter

Error: ADB exited with exit code 1
Performing Streamed Install

adb: failed to install D:\pks\flutter\delisia\build\app\outputs\apk\app.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl1357086466.tmp/base.apk using APK Signature Scheme v2: SHA-256 digest of contents did not verify]
Error launching application on Redmi Note 7.

来自 Android Studio

11:12 AM    Session 'app': Installation did not succeed.
                    The application could not be installed: INSTALL_PARSE_FAILED_NO_CERTIFICATES
                    Retry

11:14 AM    Executing tasks: [:app:assembleDebug] in project D:\kuliah\Aplikasi\MoLearn

11:14 AM    Gradle build finished in 7 s 93 ms

11:14 AM    Failed to commit install session 652017913 with command cmd package install-commit 652017913. Error: INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl652017913.tmp/0_app-debug using APK Signature Scheme v2: SHA-256 digest of contents did not verify

11:14 AM    Session 'app': Installation did not succeed.
                    The application could not be installed: INSTALL_PARSE_FAILED_NO_CERTIFICATES
                    Retry

所以,我可以使用我的手机进行调试,我只能从我的模拟器 nox 进行调试,而且速度非常慢。 但我不知道为什么在我的手机 Redmi Note 7 上安装了该应用程序,当我尝试更新某些代码时,该应用程序会自动卸载并且再次显示错误。

我可以安装my own app from play store,但它是一个发布应用程序。我无法从中调试。

【问题讨论】:

  • 您是在使用多用户还是已经安装了一个应用程序。如果是,请卸载它
  • Play商店中的一个正在使用多个用户。但即使我制作了只显示“hello world”的新项目,错误仍然存​​在。但是当我在模拟器或旧手机上运行它时一切都好;v.
  • 切换到其他用户并卸载所有用户的应用。
  • 我也是这样。我重启了我的小米手机很好,但再次运行时又出错了。如何解决这个问题

标签: android android-studio debugging flutter adb


【解决方案1】:

在我的情况下,我在尝试以发布模式 (flutter run --release) 运行颤振时遇到此错误,这是因为我的应用程序级别构建 gradle (..android/app/build.gradle) 设置不正确.

您需要确保在“android”对象中有“signingConfigs”对象,并设置相应的“buildType”

例如

android {
    compileSdkVersion 30

    lintOptions {
        disable 'InvalidPackage'
    }

    signingConfigs {
        release {
            storeFile file('<path to key store file>')
            storePassword '<key store password>'
            keyAlias '<key alias>'
            keyPassword '<key password>'
        }
        debug {
            storeFile file('<path to key store file>')
            storePassword '<key store password>'
            keyAlias '<key alias>'
            keyPassword '<key password>'
        }
    }  

    defaultConfig {
        applicationId "XXXXXXXXXXX"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
        debug {
            signingConfig signingConfigs.debug
        }
    }
}

【讨论】:

    【解决方案2】:

    转到手机开发者设置。

    并通过 USB 开启/关闭验证应用程序

    【讨论】:

      【解决方案3】:

      就我而言,这是由于更新了 Android Studio 4.0。升级颤振和酒吧对我有用:

      flutter upgrade
      flutter pub upgrade
      

      【讨论】:

        【解决方案4】:

        只需转到手机开发者设置。

        1. 打开调试模式(您已经这样做了)
        2. 开启通过 USB 安装。
        3. 更改设置 MIUI 优化设置(开发者设置中的 End Item。

        【讨论】:

          【解决方案5】:

          如果你使用 Android Studio 并使用 Nox 作为模拟器,至少调整 SDK 版本!如果 NOX 使用 SDK 版本 22,请将 gradle 设置中的最低 SDK 更改为版本 22!希望对你有帮助:D

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-08-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-12-19
            相关资源
            最近更新 更多