Mobile SDK 4.17 incompatible with Android 14 (API 34) - registerApp() method problem
已完成Hello,
I'm interested when will this problem be fixed:
Error message:
FATAL EXCEPTION: UrgentThreadPool#1
Process: com.example.djicommander, PID: 31213
java.lang.SecurityException: com.example.djicommander: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts
at android.os.Parcel.createExceptionOrNull(Parcel.java:3069)
at android.os.Parcel.createException(Parcel.java:3053)
at android.os.Parcel.readException(Parcel.java:3036)
at android.os.Parcel.readException(Parcel.java:2978)
at android.app.IActivityManager$Stub$Proxy.registerReceiverWithFeature(IActivityManager.java:6157)
at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1913)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1853)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1841)
at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:772)
at dji.sdk.sdkmanager.DJISDKManager.registerProductAccessManager(Unknown Source:36)
at dji.sdk.sdkmanager.DJISDKManager.initParams(Unknown Source:196)
at dji.sdk.sdkmanager.DJISDKManager.initSDKManager(Unknown Source:12)
at dji.sdk.sdkmanager.DJISDKManager.registerApp(Unknown Source:37)
at dji.sdk.sdkmanager.DJISDKManager.access$1300(Unknown Source:0)
at dji.sdk.sdkmanager.DJISDKManager$8.onDownloadSuccess(Unknown Source:6)
at dji.internal.flysafe.fdd.fdd(Unknown Source:19)
at dji.sdk.sdkmanager.DJISDKManager.lambda$registerApp$2(Unknown Source:27)
at dji.sdk.sdkmanager.DJISDKManager$$Lambda$5.run(Unknown Source:2)
at dji.sdksharedlib.util.dgh$fdd.run(Unknown Source:5)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.am.ActivityManagerService.registerReceiverWithFeature(ActivityManagerService.java:16680)
at android.app.IActivityManager$Stub.onTransact$registerReceiverWithFeature$(IActivityManager.java:11613)
at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2961)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3199)
at android.os.Binder.execTransactInternal(Binder.java:1380)
A lot of users online are witing for an update on this so we can run our apps on android 14. Could you please fix this issue quickly?
Here is the possible sollution:
In the registerApp method, add "Context.RECEIVER_NOT_EXPORTED" like so:
registerReceiver(mReceiver, filter, Context.RECEIVER_NOT_EXPORTED);
Looking forward to your reply,
Luka
-
Could you just make a quick fix for this and push it to the 4.17 version? 3 months is a long time to wait, and it messes up my work schedule and deadlines. It does not have to support all features, just so that we can run the basic app in Android 14. We cant keep developing in older versions because Google enforces API 34 and cant rollback android version to android 14.
-
Google has provided an extension option for users who are temporarily unable to adapt to Android 14, allowing a delay until November at the latest. We will strive to release a version compatible with Android 14 before the final deadline given by Google. Due to the current manpower constraints, the MSDK team is unable to complete the adaptation for Android 14 this month. -
The option for extension can be found in the announcement provided by Google: https://support.google.com/googleplay/android-developer/answer/11926878?hl=en Apps using MSDK version 4.17 can also run on devices with Android 14 when the targetSDKVersion is set to 33. As for the exact adaptation timeline, I am currently unable to confirm it. However, we will do our best to complete the final version release before November.
请先登录再写评论。
评论
6 条评论