Dart 颤振无法突然将apk安装到实际设备中
我目前正在使用Flatter,当我从设备上卸载应用程序并从终端上重新运行Flatter run时,一切突然都很好。它突然无法将apk安装到真正的设备上。它甚至没有给出任何错误,只是在安装过程中被停止 是什么导致了这个问题 我与sqflite一起工作,一切都很好。因此,我不得不更改模式并添加另一个失败的表。正在搜索,因此回答者建议卸载应用程序,然后重新安装(已接受回答)。所以我这样做了,但每次我在运行颤振运行时,它都没有安装APK 我正在运行Mac Os High Sierra 10.13.6,并且运行Flatter doctor使一切正常,因为我说过它工作正常,但卸载后没有重新安装。问题 从主页卸载应用程序将导致后续的Dart 颤振无法突然将apk安装到实际设备中,dart,flutter,Dart,Flutter,我目前正在使用Flatter,当我从设备上卸载应用程序并从终端上重新运行Flatter run时,一切突然都很好。它突然无法将apk安装到真正的设备上。它甚至没有给出任何错误,只是在安装过程中被停止 是什么导致了这个问题 我与sqflite一起工作,一切都很好。因此,我不得不更改模式并添加另一个失败的表。正在搜索,因此回答者建议卸载应用程序,然后重新安装(已接受回答)。所以我这样做了,但每次我在运行颤振运行时,它都没有安装APK 我正在运行Mac Os High Sierra 10.13.6,并
flatter run
命令在安装阶段挂起
使用flatter run-v
运行表明它已成功安装,但当adb尝试运行它时,该活动将无法运行
错误输出
错误消息是class 3${packageName}/${packagName}。找不到MainActivity
黑补丁
更改android应用程序包名称会导致它再次工作,直到我从手机上手动卸载它
不起作用的步骤
flatter clean
不起作用adb shell pm list package${packageName}
没有在列表中显示它,因此没有任何东西需要清理adb卸载${packageName}
并显示“成功”。现在,后续的“颤振”运行工作正常
可能原因
从主屏幕卸载应用程序似乎确实会在某些缓存中留下一些意图或活动。确保设备上没有工作配置文件。如果您这样做,您需要卸载您的个人资料和工作资料下的所有相同应用程序。我尝试使用
adb uninstall
卸载该应用程序,但它对我无效。我的解决方案是使用adb install-r“myapp release.apk”
重新安装应用程序升级Android SDK 29后,使用AndroidX release build(带签名配置)重新安装新的Flatter项目也会出现同样的问题
--配置--
Android SDK 29,
梯度5.4.1
依赖项。。com.android.tools.build:gradle:3.4.1
颤振稳定v1.5.4-hotfix-2
--解决--
更新Android\App\build.gradle,如下所示
(一)
禁用minifyEnable和proguard。
再添加3个依赖项(不包括在新的颤振项目中)
(二)
问题是颤振应用程序将安装在您真实手机的所有用户中 就我而言: younes是主要用户,yns是第二个用户 ->这是我的主要用户(younes),我取消了所有Flatter应用程序的销售,因此应该从我的手机中删除所有Flatter应用程序,但事实并非如此 ->这是我的第二个用户(yns),尽管我从主用户那里取消了应用程序的销售,但仍然安装了4个颤振应用程序
解决方案是确保您从所有用户(而不仅仅是主用户)处取消安装颤振应用程序。我无法通过卸载软件包或清理颤振版本来解决此问题。问题是由于从主屏幕手动卸载后剩余的程序包文件。您可以通过尝试从包括guest在内的所有用户中删除应用程序来解决此问题
如果您不需要guest用户,您可以通过切换到guest用户->快速向下滑动设置->单击guest用户图标->删除guest来删除它。从android手机中删除所有其他用户配置文件。只保留管理员档案。这对我有用
我还尝试重新创建emulator,因为我有时也会使用emulator。如果您正在使用仿真器,请创建一个新仿真器并删除旧仿真器。请执行
flatter clean
并重试
这对我有用 这是因为您以前安装的应用程序在“应用程序安装”状态下崩溃,因此,如果您尝试使用以前的名称构建另一个应用程序,该应用程序将不会安装在您的设备上尝试使用不同的名称,它会工作。对我来说,当设备中有多个用户时,就会发生这种情况。当您运行Flatter应用程序时,它会在所有用户配置文件中安装该应用程序。因此,当您刚刚卸载应用程序时,它只卸载当前配置文件中的应用程序。但该应用程序仍安装在其他配置文件中。这会在重新运行应用程序时导致问题 要解决这个问题,
- 转到应用程序信息
- 点击右上角的菜单
- 单击为所有用户卸载
我也有同样的问题,我换了5个位置
src/profile/AndroidManifest.xml
src/debug/AndroidManifest.xml
src/main/AdroidManifest.xml
defaultConfig{
applicationId
MainActivity.java
关于“包”我发现问题出在
src/main/AdroidManifest.xml
在颤振升级后,我无法在物理设备中安装和调试APK。此外,设备将继续重新启动。
更新颤振版本后,我通过更新Visual Studio代码解决了问题。您必须从不同的美国卸载该应用程序
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.android.material:material:1.0.0'
flutter build apk --no-shrink