我目前正在使用颤振,一切都很好,当我从设备上卸载应用程序并重新运行从终端运行时,它突然无法将apk安装到真实设备中。它甚至没有给出任何错误只是在安装过程中停止。
是什么导致了这个问题
我正在使用sqflite,一切都很好。所以我不得不更改架构并添加另一个失败的表。搜索SO answerer建议卸载应用程序然后重新安装它(被接受的答案)。所以我这样做了但是每次我跑步时都会跑掉它而不是安装APK。
我正在运行Mac Os High Sierra 10.13.6并且正在运行扑克医生正在给予一切正确,因为我说它工作正常但卸载后没有重新安装。
从主页卸载应用程序将导致后续的flutter run
命令在安装阶段挂起。
使用flutter run -v
运行显示它已成功安装,但当adb尝试运行它时,活动将无法运行。
错误消息是找不到类3 ${packageName}/${packagName}.MainActivity
。
更改Android应用程序包名称将导致它再次工作,直到我从手机手动卸载它。
flutter clean
没有工作adb shell pm list package ${packageName}
没有在列表中显示它,因此那里没有什么可以清理的adb uninstall ${packageName}
和它显示'成功'。现在随后的颤振运行完美。
似乎从主屏幕卸载应用程序确实会在某个地方的某个缓存中留下一些意图或活动。
确保您的设备上没有工作资料。如果您这样做,则需要在个人资料和工作资料下卸载所有相同的应用程序。
我试图用adb uninstall
卸载应用程序,但它对我不起作用。我的解决方案是使用adb install -r "myapp-release.apk"
重新安装应用程序
在升级Android SDK 29之后使用签名配置进行AndroidX发布构建之后,新的flutter项目也会出现同样的问题。
- 配置 - Android SDK 29,Gradle 5.4.1依赖项.. com.android.tools.build:gradle:3.4.1 Flutter stable v1.5.4-hotfix-2
- 解决 - 更新Android \ App \ build.gradle,如下所示。
1)禁用minifyEnable和proguarde。添加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'