android:exported needs to be explicitly specified for element <activity#com.razorpay.CheckoutActivity>. Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.
C:\Users\naray\OneDrive\Desktop\Indiahaat\Indiahaat\app\src\main\AndroidManifest.xml:12:9-16:20 Error:
android:exported needs to be explicitly specified for element <receiver#com.razorpay.RzpTokenReceiver>. Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.
我已经尝试从 android 12 开始解决这个问题我为 android:exported 指定一个明确的值 所以我对主要活动和其他活动也做了同样的事情,错误也开始消失了,
但是对于RazorPay 活动和接收者,我无法在项目清单中找到它们。我不知道它们位于何处以便我可以明确标记导出的属性.
我是支付网关的新手。
提前致谢!!!
您可以在
Merged Manifest
中找出问题,然后解决它们。要导航到 Merged Manifest
,请按照以下步骤操作:
AndroidManifest.xml
-> Merged Manifest
标签从底部。在那里你会看到 Red color
中的任何错误。没有你的清单我无法解决你的问题。但我肯定可以并且正在给你一个线索
请将库更新到更新版本,它已修复
在
AndroidManifest.xml
中添加此代码将覆盖 Razorpay Android SDK 的值并且它将起作用。
<receiver
android:name="com.razorpay.RzpTokenReceiver"
android:exported="false">
<intent-filter>
<action android:name="rzp.device_token.share" />
</intent-filter>
</receiver>
<activity
android:name="com.razorpay.CheckoutActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:exported="true"
android:theme="@style/CheckoutTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<data
android:host="rzp.io"
android:scheme="io.rzp" />
</intent-filter>
</activity>
尝试将您的 androidx.test.ext:junit 依赖项更新为 1.1.3 或更高版本。这应该可以解决您的问题。
androidTestImplementation "androidx.test.ext:junit:1.1.3"