android / camera-samples

Multiple samples showing the best practices in camera APIs on Android.
Apache License 2.0
4.95k stars 2.32k forks source link

java.lang.SecurityException: Permission Denial in Logcat after deploying project (Camera2Video) on the device - unable to launch app #537

Closed nishanthkumarg closed 1 year ago

nishanthkumarg commented 1 year ago
Steps

1) Import Camera2video sample on the EEPatch 2 or Flamingo RC1 2) Upgrade AGP to 8.0.0-rc1 3) Deploy app on the device (I used API 29 Pixel 3 XL) 4) Open Application build.gradle and update the safeargs version to 2.5.3

Actual

1) App installs on the device, but does not launch by itself after installation 2) Try to launch it manually, App crashes and I see below exception in logcat

--------- beginning of main
--------- beginning of system
2023-03-23 12:39:13.131  1942-1942  BaseDraggingActivity    com...le.android.apps.nexuslauncher  E  Unable to launch. tag=AppInfo(id=-1 type=APP container=-1 screen=-1 cell(-1,-1) span(1,1) minSpan(1,1) rank=0 user=UserHandle{0} title=Camera2Video componentName=ComponentInfo{com.android.example.camera2.video/com.example.android.camera2.video.CameraActivity}) intent=Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.example.camera2.video/com.example.android.camera2.video.CameraActivity bnds=[47,1668][316,2063] }
                                                                                                    java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.example.camera2.video/com.example.android.camera2.video.CameraActivity bnds=[47,1668][316,2063] } from ProcessRecord{5bddfe3 1942:com.google.android.apps.nexuslauncher/u0a151} (pid=1942, uid=10151) not exported from uid 10486
                                                                                                        at android.os.Parcel.createException(Parcel.java:2071)
                                                                                                        at android.os.Parcel.readException(Parcel.java:2039)
                                                                                                        at android.os.Parcel.readException(Parcel.java:1987)
                                                                                                        at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:3851)
                                                                                                        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1705)
                                                                                                        at android.app.Activity.startActivityForResult(Activity.java:5192)
                                                                                                        at com.android.launcher3.Launcher.startActivityForResult(SourceFile:3)
                                                                                                        at android.app.Activity.startActivity(Activity.java:5517)
                                                                                                        at com.android.launcher3.BaseDraggingActivity.startActivitySafely(SourceFile:19)
                                                                                                        at com.android.launcher3.Launcher.startActivitySafely(SourceFile:6)
                                                                                                        at com.android.launcher3.touch.ItemClickHandler.startAppShortcutOrInfoActivity(SourceFile:15)
                                                                                                        at com.android.launcher3.touch.ItemClickHandler.a(SourceFile:23)
                                                                                                        at c.a.a.p.c.onClick(Unknown Source:2)
                                                                                                        at android.view.View.performClick(View.java:7140)
                                                                                                        at android.view.View.performClickInternal(View.java:7117)
                                                                                                        at android.view.View.access$3500(View.java:801)
                                                                                                        at android.view.View$PerformClick.run(View.java:27351)
                                                                                                        at android.os.Handler.handleCallback(Handler.java:883)
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:100)
                                                                                                        at android.os.Looper.loop(Looper.java:214)
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:7356)
                                                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
                                                                                                    Caused by: android.os.RemoteException: Remote stack trace:
                                                                                                        at com.android.server.wm.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1043)
                                                                                                        at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:760)
                                                                                                        at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:583)
                                                                                                        at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1288)
                                                                                                        at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:514)
nishanthkumarg commented 1 year ago

Need to set android:exported="true" in the Manifest for launcher activity then it started working closing this bug