crdroidandroid/android_frameworks_base

Gearhead missing permissions for MANAGE_USB

m0ddixx opened this issue · 2 comments

I have a problem using Android Auto. When wiring up my OnePlus 5 with crDroid 7 to my car it will eventually halt Android Auto and has to be force closed. I pinned the issue down to missing permissions.

[11-13 15:03:12.273 12148:12148 E/AndroidRuntime]
FATAL EXCEPTION: main
Process: com.google.android.projection.gearhead:car, PID: 12148
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.google.android.projection.gearhead/com.google.android.apps.auto.carservice.gmscorecompat.FirstActivityImpl}: java.lang.SecurityException: Neither user 10299 nor current process has android.permission.MANAGE_USB.
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3449)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:223)
	at android.app.ActivityThread.main(ActivityThread.java:7656)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.SecurityException: Neither user 10299 nor current process has android.permission.MANAGE_USB.
	at android.os.Parcel.createExceptionOrNull(Parcel.java:2373)
	at android.os.Parcel.createException(Parcel.java:2357)
	at android.os.Parcel.readException(Parcel.java:2340)
	at android.os.Parcel.readException(Parcel.java:2282)
	at android.hardware.usb.IUsbManager$Stub$Proxy.getPorts(IUsbManager.java:1706)
	at android.hardware.usb.UsbManager.getPorts(UsbManager.java:875)
	at com.google.android.gms.car.usb.SystemUsbStatusProvider.a(SourceFile:4)
	at knu.a(SourceFile:9)
	at knu.a(SourceFile:51)
	at kmu.a(SourceFile:31)
	at com.google.android.gms.carsetup.FirstActivityImpl.onCreate(SourceFile:89)
	at android.app.Activity.performCreate(Activity.java:8000)
	at android.app.Activity.performCreate(Activity.java:7984)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
	... 11 more
Caused by: android.os.RemoteException: Remote stack trace:
	at android.app.ContextImpl.enforce(ContextImpl.java:2018)
	at android.app.ContextImpl.enforceCallingOrSelfPermission(ContextImpl.java:2046)
	at com.android.server.usb.UsbService.getPorts(UsbService.java:655)
	at android.hardware.usb.IUsbManager$Stub.onTransact(IUsbManager.java:828)
	at android.os.Binder.execTransactInternal(Binder.java:1154)

I found another issue tracked by OpenGapps opengapps/opengapps#742 but it seems to be a different issue.

The full log: https://gist.github.com/m0ddixx/d68621db9e9c5b4071ea8986adc1aa6b

try new NikGapps with AA support and report back

try new NikGapps with AA support and report back

It does work indeed. Thank you.