【问题标题】:Can't install React Native app in debug mode after installing production build安装生产版本后无法在调试模式下安装 React Native 应用程序
【发布时间】:2021-08-16 15:23:35
【问题描述】:

我在手机中(不使用模拟器)安装了我正在使用 React Native 构建的应用的发布版本。之后,我无法使用yarn android 安装调试版本。

这是我得到的错误:

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Unknown failure: Exception occurred while executing 'install':
  java.lang.IllegalArgumentException: Error: Failed to parse APK file: /data/local/tmp/app-debug.apk: Failed to parse /data/local/tmp/app-debug.apk

我尝试从构建输出中删除发布 apk 文件。我还删除了清除应用程序的数据和缓存,然后将其从手机中删除。仍然遇到同样的问题。

This other question 也没有成功。

知道如何解决这个问题吗?

【问题讨论】:

  • 您是否尝试过在 Android Studio 上运行该项目?您是如何安装该应用的发布版本的?
  • @Daniel Reina - 你是如何安装发行版的?您是否创建了签名的 apk 或者您是否正在尝试安装调试 apk?请解释一下您是如何将 apk 安装到手机中的
  • 您是否进行了 gradle clean (./gradlew clean) 并尝试再次安装该应用程序?
  • 在这种情况下帮助我的是使用包管理器删除您的应用程序 adb shell pm -k --user 0 uninstall com.example.MyApp
  • 有时 android 设备 (onePlus 7T) 也会将应用程序安装在其他用户中。因此,仅从管理员用户中删除是行不通的。我不得不切换到来宾用户并从那里卸载。

标签: android react-native


【解决方案1】:

根据Pasindu Dilshan 的评论并进一步调试,我最终进入了工作状态。非常感谢您为我指明了正确的方向?。

我遵循的步骤是:

  1. 在“{project_path}/android”中运行./gradlew clean。这给了我在任务:app:mergeExtDexDebug 中的一个新错误,可以通过this answer 中的说明解决,我将在下面重现以完成。
  2. 在 Android Studio 中,选择 File > Invalid Cache and Restart。
  3. 在终端中打开您的项目目录。
  4. rm -rf .gradle
  5. rm -rf android/.gradle android/.idea
  6. rm android/app/app.iml android/<PROJECT_NAME>.iml

作为参考,我会注意到步骤 3. 和 6. 在我的特定情况下不是必需的,因为这些文件夹和文件在我的项目中不存在。但是,如果它们存在于您的文件中,则应将其删除。

请联系David 了解步骤 2-6。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    • 1970-01-01
    • 2018-08-14
    • 2022-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多