我有一个大型/相当复杂的 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 开发新手,只知道足够的知识,这很危险:)
蒂亚!
好的 - 所以这是实际的答案 - 问题是清单.. 当我添加深层链接并创建一个永远无法满足的“不可能”意图时,我的意图过滤器部分相当错误。
旧的 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>
Run Code Online (Sandbox Code Playgroud)
意图过滤器是 AND 逻辑..创建一个不可能的意图..新的工作版本是:
<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>
Run Code Online (Sandbox Code Playgroud)
这会创建两个单独的意图过滤器。一个用于启动器,另一个用于根据需要的深层链接。
瞧!
| 归档时间: |
|
| 查看次数: |
707 次 |
| 最近记录: |