wrobins / cordova-plugin-msal

Use the newest Microsoft MSAL library in your Cordova-based project!
Apache License 2.0
23 stars 63 forks source link

Android 12: Browser activity needs exported="true" in order to compile with target SDK version 31 #98

Closed peitschie closed 1 year ago

peitschie commented 1 year ago

Android 12 now requires an explicit android:exported='...' value to be specified for every service/activity/receiver. According to https://docs.microsoft.com/en-us/java/api/com.microsoft.identity.client.browsertabactivity?view=azure-java-stable, this should be exported so deep links from the browser functions.

Relevant links

As an interim workaround, the following snippet can be added in config.xml

<widget>
  ...
  <platform name="android">
     ...
    <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" 
        target="/manifest/application/activity[@android:name='com.microsoft.identity.client.BrowserTabActivity']">
      <!-- https://github.com/wrobins/cordova-plugin-msal/issues/98 -->
      <activity android:exported="false" />
    </edit-config>
    ...
  </platform>
</widget>