首页 > 解决方案 > 关于为什么将“flutter install”安装到 android 设备上的任何想法都没有显示任何内容,但“flutter run”工作正常

问题描述

我有一个大型/相当复杂的 Flutter 应用程序,我们已经编写了几个月。Soo - 我们一直在针对模拟器等以及在各种 Android 设备上使用 Flutter 运行(通过 USB 电缆)的真实设备运行,没有问题..

然而,要发布我们显然必须创建一个 APK 包等。这就是奇怪的地方——

与“flutter run”工作正常的相同构建的“flutter install”不会在设备上显示任何工件,无论是模拟器还是物理设备。没有显示图标(我们的自定义图标)--“应用程序列表”中没有显示应用程序..但是,在“设置”->“应用程序”中,确实看到了我们列出的应用程序..但是点击时它什么也没做...

我们在这里有点机智 - 哦,一切都很好用 iOS .. 我们可以用 TestFlight 发布没有问题.. 所以问题是纯 Android ..

我们很确定它一定与 Manifest.xml 文件有关.. 但我们一直在查看它并查看它并没有弹出任何东西,对我们来说,解释了这种行为。为什么“flutter run”有效而“flutter install”无效?

这不仅仅是我的环境——其他 3 名程序员中的任何一个都有完全相同的问题/问题.. 并且“flutter doctor -v”都是绿色的,“flutter run”按预期工作(即应用程序已安装并且启动并运行)..

有人见过这个吗?关于如何调试包中不喜欢的 Android 的任何想法?我们有点像新手 Android 开发人员,只知道足够的危险知识 :)

蒂亚!

标签: androidflutter

解决方案


好的-这是实际的答案-问题是清单..当我添加深层链接并创建了一个永远无法满足的“不可能”意图时,我的意图过滤器部分相当错误。

旧 Manifest.xml 意图:

<intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
    <!-- Deep Links -->
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="missionmode4" />
</intent-filter>

意图过滤器是 AND 逻辑 .. 创建一个不可能的 Intent .. 新的工作版本是:

<intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
 </intent-filter>
 <!-- Deep Links -->
<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="missionmode4" />
</intent-filter>

这会创建两个独立的意图过滤器 .. 一个用于启动器,一个用于所需的深层链接。

瞧!


推荐阅读