anestisb / android-prepare-vendor

Set of scripts to automate AOSP compatible vendor blobs generation from factory images
347 stars 155 forks source link

Bullhead (Nexus 5x) API-26 support #85

Closed anestisb closed 6 years ago

anestisb commented 7 years ago
anestisb commented 6 years ago

Without resolving the bytecode de-optimisation issue bullhead with not receive fully-featured Oreo support. I'm planning to temporarily remove the problematic packages until the issues is resolved.

anestisb commented 6 years ago

The bytecode repair issue is systemic and does affect only individual packages. Until a reliable method is identified to repair Oreo optimized bytecode Angler / Bullhead support is fully blocked. Maybe picking the some essential individual packages from other devices might help, although I don't plan to do this type of investigation.

10-24 07:23:39.239  3410  3410 E AndroidRuntime: Process: com.qualcomm.qcrilmsgtunnel, PID: 3410
10-24 07:23:39.239  3410  3410 E AndroidRuntime: java.lang.VerifyError: Verifier rejected class com.qualcomm.qcrilmsgtunnel.QcrilMsgTunnelSocket$QcRilReceiver: void com.qualcomm.qcrilmsgtunnel.QcrilMsgTunnelSocket$QcRilReceiver.run() failed to verify: void com.qualcomm.qcrilmsgtunnel.QcrilMsgTunnelSocket$QcRilReceiver.run(): [0x9B] Cannot infer method from invoke-virtual-quick (declaration of 'com.qualcomm.qcrilmsgtunnel.QcrilMsgTunnelSocket$QcRilReceiver' appears in /system/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk)
10-24 07:23:39.239  3410  3410 E AndroidRuntime:        at com.qualcomm.qcrilmsgtunnel.QcrilMsgTunnelSocket.<init>(QcrilMsgTunnelSocket.java:160)
10-24 07:23:39.239  3410  3410 E AndroidRuntime:        at com.qualcomm.qcrilmsgtunnel.QcrilMsgTunnelIfaceManager.<init>(QcrilMsgTunnelIfaceManager.java:77)
10-24 07:23:39.239  3410  3410 E AndroidRuntime:        at com.qualcomm.qcrilmsgtunnel.QcrilMsgTunnelService.onCreate(QcrilMsgTunnelService.java:52)
10-24 07:23:39.239  3410  3410 E AndroidRuntime:        at android.app.ActivityThread.handleCreateService(ActivityThread.java:3404)
10-24 07:23:39.239  3410  3410 E AndroidRuntime:        at android.app.ActivityThread.-wrap4(Unknown Source:0)
10-24 07:23:39.239  3410  3410 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1683)
10-24 07:23:39.239  3410  3410 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:105)
10-24 07:23:39.239  3410  3410 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:164)
10-24 07:23:39.239  3410  3410 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6541)
10-24 07:23:39.239  3410  3410 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
10-24 07:23:39.239  3410  3410 E AndroidRuntime:        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
10-24 07:23:39.239  3410  3410 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
10-24 07:23:39.244  3410  3410 I Process : Sending signal. PID: 3410 SIG: 9
anestisb commented 6 years ago

Unquicken logic added to oatdump (see more info here) appears to resolve the problem globally.

Did some testing with naked config and no obvious problem surfaced.

anestisb commented 6 years ago

Full configs also tested (not with GApps installed tough). Nexus 5x support appears to have a stable enough state to close the master issue. Specific issues can be reported as a separate bug.