1

Following on from this question where I had a real issue with AppLinks. The problem was eventually narrowed down to the fact that the build process was dragging the host from the network_security_config.xml into the merged manfest file section specifying the AppLinks. This unexpected host that I used for testing wasn't hosting an assetlinks.json specifying the correct signatures.

Details of the answer can be found here.

So, why does the build process turn this

        <intent-filter android:autoVerify="true">
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:host="letsdraw.fun" android:pathPrefix="/ec" android:scheme="https" />
            <data android:host="letsdraw.fun" android:pathPrefix="/restore" android:scheme="https" />
        </intent-filter>

Into this?

        <intent-filter
            android:autoVerify="true">

            <action
                android:name="android.intent.action.VIEW" />

            <category
                android:name="android.intent.category.DEFAULT" />

            <category
                android:name="android.intent.category.BROWSABLE" />

            <data
                android:scheme="http"
                android:host="scribble-cloud-v24-test-dot-scribble-cloud.appspot.com"
                android:pathPrefix="/ec" />

            <data
                android:scheme="https"
                android:host="scribble-cloud.appspot.com"
                android:pathPrefix="/ec" />

            <data
                android:scheme="https"
                android:host="letsdraw.fun"
                android:pathPrefix="/ec" />

            <data
                android:scheme="https"
                android:host="letsdraw.fun"
                android:pathPrefix="/restore" />
        </intent-filter>
Will Calderwood
  • 4,393
  • 3
  • 39
  • 64
  • 1
    Is `scribble-cloud` something of yours? Are you in position to create an app that can reproduce the manifest merger problem? This feels like a bug, but the only way we are going to be able to get it fixed is if we give Google a project that reproduces the issue. Whereas with your original problem, the Play Store APK would be enough, this time they will need something that they can build. – CommonsWare Dec 09 '20 at 12:23
  • @CommonsWare scribble-cloud is mine. I don't know why it's dragging in either of the appspot domains. I'll try to reproduce with a simple example. – Will Calderwood Dec 09 '20 at 22:00
  • 1
    Sounds good! Also, are you sure you are not using those domains anywhere else? In your earlier work, you pegged `network_security_config.xml` as the source of the rogue domains, but I'm wondering if you are using those domains in some other file that some other plugin might be using (e.g., something Firebase). – CommonsWare Dec 09 '20 at 23:03
  • @CommonsWare I searched all files and the only mention of the `scribble-cloud-v24-test-dot-scribble-cloud.appspot.com` domain was in the `network_security_config.xml`. The `scribble-cloud.appspot.com` is used elsewhere, but nothing that explains the manifest merge. – Will Calderwood Dec 10 '20 at 08:58
  • 1
    @CommonsWare I've been unable to reproduce this in a smaller project. There's clearly something specific about my main project that's causing it but I can't work out what. I certainly can't see a reason for it to happen, so as you say, it does look like a bug. – Will Calderwood Dec 15 '20 at 12:48

0 Answers0