airsdk / Adobe-Runtime-Support

Report, track and discuss issues in Adobe AIR. Monitored by Adobe - and HARMAN - and maintained by the AIR community.
206 stars 11 forks source link

AIR 33.1.1.856: Current Android sdk version doesn't support intent as xml tag #1905

Open mwelk opened 2 years ago

mwelk commented 2 years ago

Problem Description

Since AIR 33.1.1.856 building APK fails with the following error:

Current Android sdk version doesn't support intent as xml tag

Java version:

java --version
openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment Corretto-11.0.13.8.1 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.13.8.1 (build 11.0.13+8-LTS, mixed mode)

ADT command line: java.exe -jar adt.jar -package -target apk-captive-runtime -arch armv8 -platformsdk Android-Sdk ...

ANE's:

apm list
├──com.distriqt.admob.FacebookAudience@6.8.001
├──com.distriqt.firebase.Performance@7.1.1
├──com.distriqt.Notifications@6.3.1
├──com.distriqt.admob.AdColony@4.6.500
├──com.distriqt.Share@7.1.3
├──com.distriqt.facebook.Login@10.0.1
├──com.distriqt.ApplicationRater@6.1.3
├──com.distriqt.NetworkInfo@4.0.12
├──com.distriqt.Adverts@13.5.0
├──com.distriqt.facebook.Core@10.0.1
├──com.distriqt.playservices.Auth@20.1.0
├──com.distriqt.firebase.Crashlytics@7.1.1
├──com.distriqt.RestartApp@3.0.14
├──com.distriqt.IDFA@5.1.0
├──com.distriqt.Dialog@8.6.11
├──com.distriqt.admob.TapJoy@12.9.0
├──com.distriqt.admob.AppLovin@11.1.0
├──com.distriqt.admob.IronSource@7.2.001
├──com.distriqt.playservices.Identity@18.0.1
├──com.distriqt.GoogleIdentity@5.3.1
├──com.distriqt.firebase.Auth@7.1.1
├──com.distriqt.Application@6.8.5
├──com.distriqt.InAppBilling@13.2.1
├──com.distriqt.Memory@4.0.11
├──com.distriqt.PushNotifications-FCM@11.0.0
├──com.distriqt.admob.UnityAds@4.0.0
├──com.distriqt.AppleSignIn@2.2.94
├──com.distriqt.NativeWebView@5.3.9
└──com.distriqt.firebase.DynamicLinks@7.1.1

Manifest infos generated by apm:

<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/33.1" >
...
  <android>
    <manifestAdditions>
    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="31"/>
...
    <queries>
    <intent>
      <action android:name="android.intent.action.VIEW"/>
      <data android:scheme="https"/>
    </intent>
    <intent>
      <action android:name="android.intent.action.VIEW"/>
      <data android:scheme="http"/>
    </intent>
    <!-- For browser content -->
    <intent>
      <action android:name="android.intent.action.VIEW"/>
      <category android:name="android.intent.category.BROWSABLE"/>
      <data android:scheme="https"/>
    </intent>
    <!-- End of browser content -->
    <!-- For CustomTabsService -->
    <intent>
      <action android:name="android.support.customtabs.action.CustomTabsService"/>
    </intent>
    <!-- query for checking email apps -->
    <intent>
      <action android:name="android.intent.action.SEND"/>
      <data android:mimeType="message/rfc822"/>
    </intent>
  </queries>

Known Workarounds

Switch back to AIR 33.1.1.821

ajwfrost commented 2 years ago

That's very annoying! We'd added a 'queries' section into our template, and the additional workaround that was required to merge any existing queries section into it has then led to this problem (and as you can tell, our test used a 'package' section in the 'queries' - which works - but not 'intent' ....)

Below is a zip that contains a patched version of ADT from 33.1.1.856, to give you an option for the short term... adt.zip

thanks

mwelk commented 2 years ago

Thanks for the quick reply! I can confirm that the patch fixes the build problem.

marchbold commented 2 years ago

I haven't tested it yet, but does this also include the other tags that can be in the queries element (eg provider)?

ajwfrost commented 2 years ago

Yes - I checked the spec for queries, the code should work okay with the three tags that are expected/allowed here: provider, package, intent.

thanks

davecates commented 2 years ago

Thanks for prompt responses @ajwfrost much appreciated!