Flutter无法将APK突然安装到真实设备中

时间:2018-08-12 13:49:22

标签: dart flutter

我目前正在使用flutter,当我从设备上卸载应用程序并从终端重新运行 flutter run 时,一切突然变好了,它突然无法将apk安装到真实设备中。只是在安装过程中被停止,它甚至没有给出任何错误。

导致此问题的原因

我正在使用 sqflite ,一切都很好。因此,我不得不更改架构并添加了另一个失败的表。在SO Answerer上搜索建议先卸载应用,然后重新安装(已接受回答)。因此,我这样做了,但是每次我运行 flutter run 后,它都没有安装APK。

我正在运行Mac Os High Seirra 10.13.6,并且正在运行 flutter doctor 可以使一切正常,因为我说它可以正常工作,但在卸载后无法重新安装。

15 个答案:

答案 0 :(得分:6)

问题

从主页上卸载应用程序将导致随后的flutter run命令在安装阶段挂起。

使用flutter run -v运行表明它已成功安装,但是当adb尝试运行该活动时,该活动将无法运行。

错误输出

未找到错误消息3类${packageName}/${packagName}.MainActivity

错误修复

更改android应用程序包名称将导致它再次运行,直到我从手机上手动将其卸载为止。

无效的步骤

  1. 多次重启手机
  2. flutter clean无效
  3. 重新启动Android Studio
  4. 重新启动计算机
  5. 重新启用USB调试
  6. 通过USB调试撤销和授权我的计算机
  7. 重新启用开发人员模式
  8. adb shell pm list package ${packageName}不在列表中显示,因此没有需要清理的地方

永久修复

adb uninstall ${packageName}并显示“成功”。现在,随后的颤动运行非常完美。

可能的原因

从主屏幕上卸载应用程序似乎确实将某些意图或活动留在了某些缓存中。

答案 1 :(得分:3)

我昨天遇到了同样的问题,我已经尝试了所有的解决方案。

最后我得到了解决方案,因为我在构建 apk 的命令中添加了 --no-shrink

flutter build apk --no-shrink

希望它会奏效。

谢谢。

答案 2 :(得分:2)

对我来说,它发生在设备中有多个用户时。运行flutter应用程序时,它将在所有用户配置文件中安装该应用程序。因此,当您仅卸载应用程序时,它仅会卸载当前配置文件中的应用程序。但是该应用仍然安装在其他配置文件中。当您重新运行应用程序时,这会导致问题。

要解决此问题

  • 转到应用信息
  • 点击右上方菜单
  • 点击为所有用户卸载

此说明仅适用于设备 运行 Stock Android 10

答案 3 :(得分:0)

确保您的设备上没有工作资料。如果这样做,则需要卸载您的个人资料和工作资料下的所有相同应用。

答案 4 :(得分:0)

我尝试使用adb uninstall卸载该应用程序,但是它对我不起作用。我的解决方案是使用adb install -r "myapp-release.apk"重新安装该应用程序

答案 5 :(得分:0)

在升级Android SDK 29之后使用签名配置进行AndroidX发布构建后,新的flutter项目也会发生相同的问题。

-配置- Android SDK 29, 摇篮5.4.1 依赖.. com.android.tools.build:gradle:3.4.1 Flutter稳定版v1.5.4-hotfix-2

-解决- 如下更新Android \ App \ build.gradle。

1) 禁用minifyEnable并进行保护。 再添加3个依赖项(不包括在新的flutter项目中)。

2)

implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.android.material:material:1.0.0'

答案 6 :(得分:0)

问题是Flutter应用程序将安装在您真实手机中的所有用户中

在我的情况下: younes是主要用户,yns是第二个用户 Show image

->这是我的主要用户(年轻人),我已取消安装所有flutter应用程序,因此这应从手机中删除所有flutter应用程序,但并非如此

Show image

->这是我的第二个用户(yns)仍然安装了4个flutter应用程序,即使我从主要用户那里取消安装了该应用程序

Show image

解决方案是确保您从所有用户(不仅是主要用户)那里取消安装flutter应用程序

答案 7 :(得分:0)

我无法通过卸载软件包或清理flutter版本来解决此问题。问题是由于从主屏幕手动卸载后剩余的软件包文件引起的。您可以通过尝试从包括来宾在内的所有用户中删除该应用程序来解决此问题。

如果您不需要来宾用户,则可以通过切换到来宾用户->向下滑动快速设置->单击来宾用户图标->删除来宾将其删除。

答案 8 :(得分:0)

从您的android手机中删除所有其他用户个人资料。只保留管理员个人资料。这对我有用!

答案 9 :(得分:0)

请执行flutter clean,然后重试。

这对我有用!

答案 10 :(得分:0)

这是因为您先前安装的应用在应用安装状态下崩溃了,因此,如果您尝试使用该先前名称构建另一个应用,则该应用不会安装在您的设备上。 尝试使用其他名称即可。

答案 11 :(得分:0)

我遇到了同样的问题,并且在5个位置进行了更改。

  1. src/profile/AndroidManifest.xml
  2. src/debug/AndroidManifest.xml
  3. src/main/AdroidManifest.xml
  4. build.gradle。
    defaultConfig {
    applicationId
  5. MainActivity.java上的“包装”

修改以上文件后。我可以运行该应用程序而没有任何问题。

我发现问题出在src/main/AdroidManifest.xml

答案 12 :(得分:0)

Flutter升级后,我无法在物理设备中安装和调试APK。设备也会继续重启。 更新Flutter版本后,我通过更新Visual Studio代码解决了该问题。

答案 13 :(得分:0)

您还必须从手机的其他用户(访客用户等)卸载应用程序!

答案 14 :(得分:0)

对于我来说,在具有第二个空间的小米手机上,我必须从第二个空间中手动删除该应用程序之后,也必须从第二个空间中删除该应用程序。