升级 gradle 后出现深度链接问题

Deeplink issue after upgrading gradle

提问人:masztalski 提问时间:8/11/2023 最后编辑:masztalski 更新时间:11/10/2023 访问量:149

问:

我有使用带有导航组件的深层链接的应用程序。在使用 AGP 8.0.2 和 gradle wrapper 8.0 之前,一切都很完美。 我已经验证了此更新导致识别系统中的深层链接崩溃,从而导致错误“活动未启动,无法解析意图”

我的深度链接配置如下:

//MAnifest
<activity
            android:name=".delivery.DeliveryActivity"
            android:exported="true"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustPan"
            tools:ignore="LockedOrientationActivity">
            <nav-graph android:value="@navigation/delivery_nav_graph" />

            <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="myschemea://"
                    android:host="myhost.com"
                    android:pathPrefix="/receipt/delivery" />
            </intent-filter>
        </activity>
/**
* Graph
*/

 <fragment
        android:id="@+id/delivery_payment_result"
        android:name="mypackage.delivery.payment.DeliveryPaymentResultFragment"
        android:label="@string/payment_result_title">

        <deepLink
            android:autoVerify="false"
            app:mimeType="type/subtype"
            app:uri="myschema://myhost/receipt/delivery" />
     
    </fragment>

我无权(WTF)将其发布在谷歌问题跟踪器上,所以在这里写。也许有人知道发生了什么? 如前所述 - 比较了当前版本的应用程序和相同但具有反向 gradle 更新,结果非常清楚

编辑: 我运行了更多的检查,似乎仅更新AGP就会造成麻烦。他们现在已经发布了 8.1.1,问题保持不变。

android gradle android-gradle-plugin android-manifest android-deep-link

评论

4赞 ianhanniballake 8/27/2023
“我没有权利 (WTF) 将其发布在谷歌问题跟踪器上”——请注意,如果您试图将某些内容放在组件的子类别中,这确实是不允许的。他们的过程是对直接添加到组件的所有错误进行分类 - 他们会将其移动到适合您的子组件中。Android StudioAndroid Studio

答:

0赞 masztalski 11/10/2023 #1

好的,我发现了问题。 似乎在以前的工具版本中,架构如下: “mySchema://”或“HTTP://”在 8.1 中被接受。 gradle 工具不再存在,它应该没有前导 ://,例如: “mySchema”或“HTTP”