You uploaded an APK or Android App Bundle which has an activity, activity alias, service or broadcast receiver with intent filter, but without the 'android:exported' property set. This file can't be installed on Android 12 or higher. See: developer.android.com/about/versions/12/behavior-changes-12#exported
Harjinderbains01 opened this issue · 11 comments
Facing issues while publishing app.
You uploaded an APK or Android App Bundle which has an activity, activity alias, service or broadcast receiver with intent filter, but without the 'android:exported' property set. This file can't be installed on Android 12 or higher. See: developer.android.com/about/versions/12/behavior-changes-12#exported
Facing issues while publishing app.
You uploaded an APK or Android App Bundle which has an activity, activity alias, service or broadcast receiver with intent filter, but without the 'android:exported' property set. This file can't be installed on Android 12 or higher. See: developer.android.com/about/versions/12/behavior-changes-12#exported
Please were you able to solve this issue
I am facing same error and I am unable to change all compile and target version 30. Any other solution from your side ?
I have the same error. Any updates?
I forked the package and tried to add in AndroidManifest.xml file android:exported="true" everywhere, but without result.
I need to update an app on google play, but they don't let me because i am targeting sdk 30. And with sdk 31 this error appears.
I solved this issue by adding the following inside the application tag. This will override all activity items that are not adding the export attribute.
<activity
android:name="com.stripe.android.view.Stripe3ds2CompletionActivity"
android:exported="false"
tools:node="merge"
tools:overrideLibrary="com.stripe.android" />
<activity
android:name="com.stripe.android.paymentsheet.PaymentSheetActivity"
android:exported="false"
tools:node="merge"
tools:overrideLibrary="com.stripe.android" />
<activity
android:name="com.stripe.android.paymentsheet.PaymentOptionsActivity"
android:exported="false"
tools:node="merge"
tools:overrideLibrary="com.stripe.android" />
<activity
android:name="com.stripe.android.googlepay.StripeGooglePayActivity"
android:exported="false"
tools:node="merge"
tools:overrideLibrary="com.stripe.android" />
<activity
android:name="com.stripe.android.view.PaymentRelayActivity"
android:exported="false"
tools:node="merge"
tools:overrideLibrary="com.stripe.android" />
<activity
android:name="com.stripe.android.payments.StripeBrowserLauncherActivity"
android:exported="false"
tools:node="merge"
tools:overrideLibrary="com.stripe.android" />
<activity
android:name="com.stripe.android.stripe3ds2.views.ChallengeActivity"
android:exported="false"
tools:node="merge"
tools:overrideLibrary="com.stripe.android" />
<activity
android:name="com.stripe.android.stripe3ds2.views.ChallengeProgressActivity"
android:exported="false"
tools:node="merge"
tools:overrideLibrary="com.stripe.android" />
<activity
android:name="com.stripe.android.view.Stripe3ds2CompletionActivity"
android:exported="false"
tools:node="merge"
tools:overrideLibrary="com.stripe.android" />
<activity
android:name="com.stripe.android.paymentsheet.PaymentSheetActivity"
android:exported="false"
tools:node="merge"
tools:overrideLibrary="com.stripe.android" />
<activity
android:name="com.stripe.android.paymentsheet.PaymentOptionsActivity"
android:exported="false"
tools:node="merge"
tools:overrideLibrary="com.stripe.android" />
<activity
android:name="com.stripe.android.googlepay.StripeGooglePayActivity"
android:exported="false"
tools:node="merge"
tools:overrideLibrary="com.stripe.android" />
@FilledStacks you saved my day as of today Android Google play store only accepts sdk version 31+
I finally fixed this issue
in this blog solved with cordova-custom-config
[](https://shaileshpendam.com/blog/activity_alias/)
I solved this issue by adding the following inside the application tag. This will override all activity items that are not adding the export attribute.
<activity android:name="com.stripe.android.view.Stripe3ds2CompletionActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.paymentsheet.PaymentSheetActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.paymentsheet.PaymentOptionsActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.googlepay.StripeGooglePayActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.view.PaymentRelayActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.payments.StripeBrowserLauncherActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.stripe3ds2.views.ChallengeActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.stripe3ds2.views.ChallengeProgressActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.view.Stripe3ds2CompletionActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.paymentsheet.PaymentSheetActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.paymentsheet.PaymentOptionsActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.googlepay.StripeGooglePayActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" />
This worked for me. But i had to add xmlns:tools="http://schemas.android.com/tools" to <manifest xmlns:android= Manifest file so in the header of Mainifest should be like this
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.packagename">
I solved this issue by adding the following inside the application tag. This will override all activity items that are not adding the export attribute.
<activity android:name="com.stripe.android.view.Stripe3ds2CompletionActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.paymentsheet.PaymentSheetActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.paymentsheet.PaymentOptionsActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.googlepay.StripeGooglePayActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.view.PaymentRelayActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.payments.StripeBrowserLauncherActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.stripe3ds2.views.ChallengeActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.stripe3ds2.views.ChallengeProgressActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.view.Stripe3ds2CompletionActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.paymentsheet.PaymentSheetActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.paymentsheet.PaymentOptionsActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" /> <activity android:name="com.stripe.android.googlepay.StripeGooglePayActivity" android:exported="false" tools:node="merge" tools:overrideLibrary="com.stripe.android" />
@FilledStacks Thank you so much. It works, you have provided the best solution.
<queries>
<intent>
<action android:name="android.speech.RecognitionService" />
</intent>
</queries>
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/launch_background"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name="com.yalantis.ucrop.UCropActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
/>
<activity android:name=".P2PActivity"
android:theme="@style/Theme.P2PSampleApp"
/>
<meta-data
android:name="flutterEmbedding"
android:value="2" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_channel_id"
android:value="Connect_One" />
<service android:name=".MeetingService"
android:foregroundServiceType="camera|microphone"
android:stopWithTask="true"/>
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>