[ROM][RC1] Huawei P8 unofficial Cyanogenmod 13.0

nexolight

Senior Member
Nov 7, 2013
343
748
0
Olten


Target device: GRA-L09 (Huawei P8)
GRA-LU00 has been reported to work but you may mess with phone.prop and build.prop to get dualsim working.

(Video is outdated)

GIT & Bugreports
Devs or contributors go here - https://github.com/CM-Huawei-P8-Development/local_manifests_gra_l09
Bugreportes go here - https://github.com/CM-Huawei-P8-Development/device_gra_l09/issues
Watchers go here - https://github.com/CM-Huawei-P8-Development/device_gra_l09/commits/cm-13.0-ZNH5Y

Done so far (basically everything)
  • SDCard
  • GPS
  • Camera (Use an app with the old api like footej for video recording)
  • Flashlight
  • MTP/PTP/ADB
  • Tethering (USB/WIFI/BT)
  • WiFi
  • Bluetooth
  • Audio output (Speaker, Headphones, A2DP) / Mic
  • RIL (Read the bugs before you complain about signal strenght)
  • Backlight and LEDs
  • HWC (XePeleato)
  • CPU and GPU are fine
  • Power profile (stock is somehow messed up 0o)
  • All the sensors
  • TWRP-3.0.2 Vanilla & Materialized dark (thx AD2076)
  • NFC

Bugs
  • Youtube (general?) video playback @60 fps doesn't work.
  • FM Radio (this won't get a fix soon)

Downloads (RC1)
Just to make it clear I'm not responsible for whatever damage this could possibly cause to your device. I

You must update to official android6.0 first! - For updating an already modified device to the android6.0 see:
http://forum.xda-developers.com/showpost.php?p=69383769&postcount=303
I strongly recommend to use this one:
Huawei P8 Firmware (GRA-L09, Android 6.0, EMUI4.0, C432B321, Nordic European)
mega.nz mirror
Or at least any B321 release.


Here is a step by step (Installation)


Changelog - 12.05.2017
Code:
- Fix mac address change on reboot (unconfirmed)
- Fix equalizer (unconfirmed - works for me)
- Fix reported signal strength (sort of)
- Fix USB tethering
- Glove mode (unconfirmed)
- Removed emulator traces
- A little more space in the ramdisk (2 binaries less, 3 more headroom)
- Improved power consumption (36h standby for me)
- ... maybe more (A lot but not all was applied from the lineage13.0 branch from AD2076)
[URL="https://mega.nz/#!QxcjVLAI!FYKIZV3q6cK6shPD2Xzo_g9KfO-eFy_I-DpsWtcoLKM"]system.img[/URL] (0043e055136131faf434d59525d114f8)[URL="https://mega.nz/#!k0kUyIxR!vJGlHdkazsF2ExDTcsFNIfqus8hWMDSczkxdTpzAamY"]boot.img[/URL] (ea8c5d7dd6a58920e05ec02a187daf5d)
Changelog - 28.03.2017 (2)
Code:
- Tearing fix
[URL="https://mega.nz/#!5oNUDbrB!lhIGa7eofdd2dah079e25754WBZysD8GarYUuRkir20"]system.img [/URL](b2d3b3f23154828a52624e1cae2ca7d2)
Changelog - 28.03.2017
Code:
News:
HWC Replacement with the one from XePeleato
- ^ Video recording trough *some* apps. (Confirmed with footej)
- ^ No more app crashes
- SDCard as internal storage & portable (fix)
- Automatic screen brightness (fix)

[URL="https://mega.nz/#!101wSRAI!SAU5TfkZB419ucoC7w2bEsFa07YLrA4-h4UfG2cJCkk"]boot.img[/URL] (fe9c9dbdf920dfd35eacde5a08b869b7)
 [URL="https://mega.nz/#!hoFRiRIS!TCVuwgQU9wnseG4Vd5tK2bUvS4T8J6EwTWVL4YJeR7A"]system.img[/URL] (c04b4e792357291f166fed2f938009c6)

Notice:
Someone tried to install Xposed and reported it as a success. Also there shouldn't be a reason why it would not work.
Changelog - 13.02.2017
Code:
Fix - 1 out of n cases where apps would crash.
GPS
[URL="https://mega.nz/#!Ys1WwRBb!Yp7ApOysowX2IwUeqg4Lk92jCsjPO3On7QESEQEpUcE"]system.img (unclean build)[/URL]
Changelog - 31.01.2017
Code:
-Camera (Partial - see bugs)
-Flashlight
-MTP/PTP fix - THX [email protected]
-2G/3G/LTE switch fix
-SDCard fix (not yet tested) - THX [email protected], [email protected] (See bugs)
[URL="https://mega.nz/#!g8dAmTTb!QqtHFOaHjVdHTaB7iZoDr12bC9ci-abrkplXu6eYNws"]boot.img[/URL] (a7c05257971b06017cfd9e3f6d248c01)
[URL="https://mega.nz/#!EhkDwYKT!tBNQOXH8fRVczBkecztC9Ev2u50x1ypGMp_1nKOBxtQ"]system.img[/URL] (ec5d3988fbf2939f8949db07c3dc438c)
Changelog - 28.12.2016 (2nd)
Code:
-NFC
[URL="https://mega.nz/#!px9jEarC!U78kDt0QQfC5IY9YXUcOPDR-xcsKIO01KC6lyU1OX3s"]boot.img[/URL]
[URL="https://mega.nz/#!9kM3HBCI!VUFxttP0n632PWf8L0ZnGSRh7ytCaxzVh0-Lmef-WQg"]system.img[/URL]
Changelog - 28.12.2016
Code:
-Power-off charger fix
[URL="https://mega.nz/#!F5FQSSKC!FRmaCXN3bFjyIVXwbvAmY6NiMdhLuIWdmfiag-uSSsI"]boot.img[/URL]
Changelog - 06.12.2016
Code:
-twrp screen timeout bugfix.
[URL="https://www.androidfilehost.com/?fid=457095661767120290"]recovery.img[/URL]
Changelog - 04.12.2016
Code:
-Accelerometer
-Compass
-Light
-Proximity
-Gyroscope
-Gravity
-Linear Acceleration
-Rotation vector
-Step counter
[URL="https://mega.nz/#!J81WXLSJ!5apXdgqXW9tvKsyeG9I3olvgC0W0TDxk4wk53zVYPXA"]system.img[/URL]
Changelog - 18.11.2016
Code:
-twrp3.0.2-materialised dark + debloated fstab entries
[URL="https://www.androidfilehost.com/?fid=457095661767116143"]recovery.img[/URL] - See [URL="http://forum.xda-developers.com/showpost.php?p=69662469&postcount=351"]#351[/URL]
Changelog - 26.10.2016 - First public build.
Code:
-WiFi + Tethering
-Bluetooth + Tethering
-Audio output (Speaker, Headphones, A2DP) / Mic
-RIL (Read the bugs before you complain about signal strenght)
-Backlight and LEDs
-HWC
-Power profile (stock is somehow messed up 0o)
[URL="https://mega.nz/#!x8cilSBS!mQwKXwj0BkuiQ140S_V77-FP1FHBdaLZXlAPUzABnXU"]system.img[/URL] (2783118c95defcc50d10a2aa29f8585e)(
[URL="https://mega.nz/#!Rxs1lbBR!oqTnS94FdCG_wpus9-FfSSbB9ralzFmkR1RoVa0mtiY"]boot.img[/URL] (4620333a32807f9a203a7265e227e6fa)
[URL="https://mega.nz/#!098WRCZY!Je6Xx7I2IBh8zYud0MK7bfVNtlLq9Tk5gQnbdS6CyDk"]recovery.img[/URL] (434a3d22ce53be1ba26554b503ddfbef)
Active collaborators
Meanwhile I started a collaboration since other developers started to join:
  • nexolight (XDA; Since project start per 30.08.2016)
  • AD2076 (XDA; Joined project per 02.11.2016)

Donators:
  • Burmtim (XDA)

THX to:
  • erayrafet (XDA; Linked the 3.10.86 kernel which was crucial)
  • GodzillaMonster (XDA; It wasn't a success story but helped during some assembler/binary patching approaches)
  • BlueFlame4 (XDA; Some useful hints)
  • surdu_petru (XDA; Some help related to major functionality parts based on experience with other huawei phones)
  • PaulFasola (github; SDcard help)
  • Everyone else who tried to help in this thread.
  • Speedo.thc (XDA; Helpful exchange - H7 dev)
  • Kostyan_nsk (XDA; Helful tipps)
  • Meticulus (XDA/Github; Contribution via pull requests)
  • XePeleato (XDA/Github; Self written HWC)
-------------------
Have a nice day

XDA:DevDB Information
[ROM] Huawei P8 unofficial Cyanogenmod 13, ROM for the Huawei P8

Contributors
nexolight, nexolight, AD2076, (see thread for more)
Source Code: https://github.com/CM-Huawei-P8-Development

ROM OS Version: 6.0.x Marshmallow
ROM Kernel: Linux 3.10.x
ROM Firmware Required: Android 6.0 Stock preinstalled.
Based On: CyanogenMod

Version Information
Status: Beta
Current Stable Version: 12.05.2017
Stable Release Date: 2017-05-12

Created 2017-04-12
Last Updated 2017-05-18
 
Last edited:

nexolight

Senior Member
Nov 7, 2013
343
748
0
Olten
@lataldragon & blackball
Currently I'm working with my own gitlab and made some modifications to the build environment to make it compile. Changes are heavy right now (a huge mess) and I'd rather upload it later when I have a stable base.
In addition I don't feel conftable to share my device tree and modifications right now. As I said I'd like to get it to work with as less help as possible and archived something up to now; I'm not the best teamplayer and would barely accept help until I'm not completely stuck. However I will upload it so as soon as it get's past the bootlogo.

Not sure how much it will take but as I said I'm working like a full time job on it (8 1/2h per day).

The state is the same like yesterday except that I got a bith further with zygote. At the moment I'm stuck somewhere in the init process (no further errors, no kmsg). It seems that the crucial services would start up fine if I start them by hand but that should happen automatically. I'm still using most of the 5.0 ramdisk since I started with the files from the 5.0 rom and later switched to the 6.0 files. It could be the issue (working on it, was to lazy until now) but they don't look that different. I will just check all these services in the init.

That's what happens when I unmount /storage (have to correct that anyway) and then start zygote by hand:
http://pastebin.com/raw/QxbYXAjk

Edit: Ok it looks a bit better now with the 6.0 ramdisk as base :)
 
Last edited:

lataldragon

Senior Member
Nov 17, 2013
267
77
58
Berlin
@lataldragon & blackball
Currently I'm working with my own gitlab and made some modifications to the build environment to make it compile. Changes are heavy right now (a huge mess) and I'd rather upload it later when I have a stable base.
In addition I don't feel conftable to share my device tree and modifications right now. As I said I'd like to get it to work with as less help as possible and archived something up to now; I'm not the best teamplayer and would barely accept help until I'm not completely stuck. However I will upload it so as soon as it get's past the bootlogo.

Not sure how much it will take but as I said I'm working like a full time job on it (8 1/2h per day).

The state is the same like yesterday except that I got a bith further with zygote. At the moment I'm stuck somewhere in the init process (no further errors, no kmsg). It seems that the crucial services would start up fine if I start them by hand but that should happen automatically. I'm still using most of the 5.0 ramdisk since I started with the files from the 5.0 rom and later switched to the 6.0 files. It could be the issue (working on it, was to lazy until now) but they don't look that different. I will just check all these services in the init.

That's what happens when I unmount /storage (have to correct that anyway) and then start zygote by hand:
http://pastebin.com/raw/QxbYXAjk
Thanks ;)
 

nexolight

Senior Member
Nov 7, 2013
343
748
0
Olten
@AD2076
I did and it wasn't that helpful. At the end I patched the official kernel for my purposes. The kernel isn't a problem anymore.
@flamelab
It will be a duplicate of work which isn't that bad at all. I wouldn't learn it otherwise and 2nd I may find a better solution which I wouldn't find if I take the work from other people. At the very end we can just take the better one. For me this is primary a learning project. Altough I'm almost forced to do it since my old phone is almost dead.
@dariusz666
yep 2.8GB at least- CM is around 1GB. However the main reason I started porting CM to this was the AGB from Huawei.
 

AD2076

Senior Member
Dec 10, 2014
275
289
0
Roma
@AD2076
I did and it wasn't that helpful. At the end I patched the official kernel for my purposes. The kernel isn't a problem anymore.
@flamelab
It will be a duplicate of work which isn't that bad at all. I wouldn't learn it otherwise and 2nd I may find a better solution which I wouldn't find if I take the work from other people. At the very end we can just take the better one. For me this is primary a learning project. Altough I'm almost forced to do it since my old phone is almost dead.
@dariusz666
yep 2.8GB at least- CM is around 1GB. However the main reason I started porting CM to this was the AGB from Huawei.
@nexolight glad to hear kernel is ok.
I am available for testing if you need it.
 

nexolight

Senior Member
Nov 7, 2013
343
748
0
Olten
np ^^

Here some more logs. I'm not too familiar with that stuff so one of you may give me a hint faster than I find the cause:
http://pastebin.com/raw/0sTM3EfS

The phone is bootlooping it isn't the full log but the same messages again and again. Guess something related to JNI

Edit:
Code:
/*
 * Register several native methods for one class.
 */
static int registerNativeMethods(JNIEnv* env, const char* className,
    JNINativeMethod* gMethods, int numMethods)
{
    jclass clazz;
    clazz = env->FindClass(className);
    if (clazz == NULL) {
        ALOGE("Native registration unable to find class '%s'", className);
        return JNI_FALSE;
    }
    if (env->RegisterNatives(clazz, gMethods, numMethods) < 0) {
        ALOGE("RegisterNatives failed for '%s'", className);
        return JNI_FALSE;
    }
    return JNI_TRUE;
}
this fails for class android/util/Log
 
Last edited:

AD2076

Senior Member
Dec 10, 2014
275
289
0
Roma
np ^^

Here some more logs. I'm not too familiar with that stuff so one of you may give me a hint faster than I find the cause:
http://pastebin.com/raw/0sTM3EfS

The phone is bootlooping it isn't the full log but the same messages again and again. Guess something related to JNI

Edit:
Code:
/*
 * Register several native methods for one class.
 */
static int registerNativeMethods(JNIEnv* env, const char* className,
    JNINativeMethod* gMethods, int numMethods)
{
    jclass clazz;
    clazz = env->FindClass(className);
    if (clazz == NULL) {
        ALOGE("Native registration unable to find class '%s'", className);
        return JNI_FALSE;
    }
    if (env->RegisterNatives(clazz, gMethods, numMethods) < 0) {
        ALOGE("RegisterNatives failed for '%s'", className);
        return JNI_FALSE;
    }
    return JNI_TRUE;
}
this fails for class android/util/Log
01-28 20:00:42.042 3291 3291 E ImagingSystem: failed to dlopen(/system/lib/hwcam/hwcam.hi3635.m.GRACE.so)!
01-28 20:00:42.042 3291 3291 F ImagingSystem: hw::CNoAddRefRelease4T<T>* hw::CIntfPtrBase<T>::eek:perator->() const [with T = hw::IImagingSystem; hw::CIntfPtrBase<T>::_TPtrNoAddRefRelease = hw::CNoAddRefRelease4T<hw::IImagingSystem>*]: SHOULD NOT BE NULL!

Looks like you miss /system/lib/hwcam/hwcam.hi3635.m.GRACE.so and you get a null pointer error.
Did you included the vendor blobs?
 

nexolight

Senior Member
Nov 7, 2013
343
748
0
Olten
01-28 20:00:42.042 3291 3291 E ImagingSystem: failed to dlopen(/system/lib/hwcam/hwcam.hi3635.m.GRACE.so)!
01-28 20:00:42.042 3291 3291 F ImagingSystem: hw::CNoAddRefRelease4T<T>* hw::CIntfPtrBase<T>::eek:perator->() const [with T = hw::IImagingSystem; hw::CIntfPtrBase<T>::_TPtrNoAddRefRelease = hw::CNoAddRefRelease4T<hw::IImagingSystem>*]: SHOULD NOT BE NULL!

Looks like you miss /system/lib/hwcam/hwcam.hi3635.m.GRACE.so and you get a null pointer error.
Did you included the vendor blobs?
ofc ^^ and I'm not missing that. But anyway is the camera stuff critical to boot up the system? However this is releated to another library where this one depends on. I didn't tried or included all of them:
Code:
 0x00000001 (NEEDED)                     Shared library: [libdl.so]
 0x00000001 (NEEDED)                     Shared library: [liblog.so]
 0x00000001 (NEEDED)                     Shared library: [libcutils.so]
 0x00000001 (NEEDED)                     Shared library: [libutils.so]
 0x00000001 (NEEDED)                     Shared library: [libui.so]
 0x00000001 (NEEDED)                     Shared library: [libmemtrack.so]
 0x00000001 (NEEDED)                     Shared library: [libcamera_metadata.so]
 0x00000001 (NEEDED)                     Shared library: [libjpegenchw.so]
 0x00000001 (NEEDED)                     Shared library: [libexif.so]
 0x00000001 (NEEDED)                     Shared library: [libjpeg.so]
 0x00000001 (NEEDED)                     Shared library: [libskia.so]
 0x00000001 (NEEDED)                     Shared library: [libhardware.so]
 0x00000001 (NEEDED)                     Shared library: [libHWCamCfgSvr.so]
 0x00000001 (NEEDED)                     Shared library: [liboeminfo.so]
 0x00000001 (NEEDED)                     Shared library: [libnvme.so]
 0x00000001 (NEEDED)                     Shared library: [libgui.so]
 0x00000001 (NEEDED)                     Shared library: [libbinder.so]
 0x00000001 (NEEDED)                     Shared library: [libc++.so]
 0x00000001 (NEEDED)                     Shared library: [libc.so]
 0x00000001 (NEEDED)                     Shared library: [libm.so]
 0x0000000e (SONAME)                     Library soname: [hwcam.hi3635.m.GRACE.so]

I'm sure it's rather related to that:

Code:
01-28 20:00:46.591  2813  2813 W art     : CheckJNI: method to register "print_powerlog_native" not in the given class. This is slow, consider changing your RegisterNatives calls.
01-28 20:00:46.591  2813  2813 E art     : Failed to register native method android.util.Log.print_powerlog_native(ILjava/lang/String;Ljava/lang/String;)I in /system/framework/framework.jar
01-28 20:00:46.591  2813  2813 E art     : ----- class 'Landroid/util/Log;' cl=0x0 -----
01-28 20:00:46.591  2813  2813 E art     :   objectSize=792 (744 from super)
01-28 20:00:46.591  2813  2813 E art     :   access=0x0008.0011
01-28 20:00:46.591  2813  2813 E art     :   super='java.lang.Class<java.lang.Object>' (cl=0x0)
01-28 20:00:46.591  2813  2813 E art     :   vtable (0 entries, 11 in super):
01-28 20:00:46.591  2813  2813 E art     :   direct methods (24 entries):
01-28 20:00:46.591  2813  2813 E art     :      0: void android.util.Log.<clinit>()
01-28 20:00:46.591  2813  2813 E art     :      1: void android.util.Log.<init>()
01-28 20:00:46.591  2813  2813 E art     :      2: int android.util.Log.d(java.lang.String, java.lang.String)
01-28 20:00:46.591  2813  2813 E art     :      3: int android.util.Log.d(java.lang.String, java.lang.String, java.lang.Throwable)
01-28 20:00:46.591  2813  2813 E art     :      4: int android.util.Log.e(java.lang.String, java.lang.String)
01-28 20:00:46.591  2813  2813 E art     :      5: int android.util.Log.e(java.lang.String, java.lang.String, java.lang.Throwable)
01-28 20:00:46.591  2813  2813 E art     :      6: java.lang.String android.util.Log.getStackTraceString(java.lang.Throwable)
01-28 20:00:46.591  2813  2813 E art     :      7: int android.util.Log.i(java.lang.String, java.lang.String)
01-28 20:00:46.591  2813  2813 E art     :      8: int android.util.Log.i(java.lang.String, java.lang.String, java.lang.Throwable)
01-28 20:00:46.591  2813  2813 E art     :      9: boolean android.util.Log.isLoggable(java.lang.String, int)
01-28 20:00:46.591  2813  2813 E art     :     10: int android.util.Log.println(int, java.lang.String, java.lang.String)
01-28 20:00:46.591  2813  2813 E art     :     11: int android.util.Log.println_native(int, int, java.lang.String, java.lang.String)
01-28 20:00:46.591  2813  2813 E art     :     12: android.util.Log$TerribleFailureHandler android.util.Log.setWtfHandler(android.util.Log$TerribleFailureHandler)
01-28 20:00:46.591  2813  2813 E art     :     13: int android.util.Log.v(java.lang.String, java.lang.String)
01-28 20:00:46.591  2813  2813 E art     :     14: int android.util.Log.v(java.lang.String, java.lang.String, java.lang.Throwable)
01-28 20:00:46.591  2813  2813 E art     :     15: int android.util.Log.w(java.lang.String, java.lang.String)
01-28 20:00:46.591  2813  2813 E art     :     16: int android.util.Log.w(java.lang.String, java.lang.String, java.lang.Throwable)
01-28 20:00:46.591  2813  2813 E art     :     17: int android.util.Log.w(java.lang.String, java.lang.Throwable)
01-28 20:00:46.591  2813  2813 E art     :     18: int android.util.Log.wtf(int, java.lang.String, java.lang.String, java.lang.Throwable, boolean, boolean)
01-28 20:00:46.591  2813  2813 E art     :     19: int android.util.Log.wtf(java.lang.String, java.lang.String)
01-28 20:00:46.591  2813  2813 E art     :     20: int android.util.Log.wtf(java.lang.String, java.lang.String, java.lang.Throwable)
01-28 20:00:46.591  2813  2813 E art     :     21: int android.util.Log.wtf(java.lang.String, java.lang.Throwable)
01-28 20:00:46.591  2813  2813 E art     :     22: void android.util.Log.wtfQuiet(int, java.lang.String, java.lang.String, boolean)
01-28 20:00:46.591  2813  2813 E art     :     23: int android.util.Log.wtfStack(java.lang.String, java.lang.String)
01-28 20:00:46.591  2813  2813 E art     :   static fields (12 entries):
01-28 20:00:46.591  2813  2813 E art     :      0: int android.util.Log.ASSERT
01-28 20:00:46.591  2813  2813 E art     :      1: int android.util.Log.DEBUG
01-28 20:00:46.591  2813  2813 E art     :      2: int android.util.Log.ERROR
01-28 20:00:46.591  2813  2813 E art     :      3: int android.util.Log.INFO
01-28 20:00:46.591  2813  2813 E art     :      4: int android.util.Log.LOG_ID_CRASH
01-28 20:00:46.591  2813  2813 E art     :      5: int android.util.Log.LOG_ID_EVENTS
01-28 20:00:46.591  2813  2813 E art     :      6: int android.util.Log.LOG_ID_MAIN
01-28 20:00:46.591  2813  2813 E art     :      7: int android.util.Log.LOG_ID_RADIO
01-28 20:00:46.591  2813  2813 E art     :      8: int android.util.Log.LOG_ID_SYSTEM
01-28 20:00:46.591  2813  2813 E art     :      9: int android.util.Log.VERBOSE
01-28 20:00:46.591  2813  2813 E art     :     10: int android.util.Log.WARN
01-28 20:00:46.591  2813  2813 E art     :     11: android.util.Log$TerribleFailureHandler android.util.Log.sWtfHandler
01-28 20:00:46.592  2813  2813 F art     : art/runtime/jni_internal.cc:497] JNI FatalError called: RegisterNatives failed for 'android/util/Log'; aborting...
 
Last edited:

nexolight

Senior Member
Nov 7, 2013
343
748
0
Olten
https://github.com/mt7-dev/cm_andro...mmit/8bc68453dc0e6faca201c87ff19d921702c951e4

This is most likely the same issue.... however I don't want to edit the build environment even more there must be a clean way to do this or just an alternate.
I'm new to porting devices so what is the usual way to alter the framwork source provided by the cm build environment?

This "print_powerlog_native" function comes from at least 1 shared library I can't omit.
 
Last edited:

AD2076

Senior Member
Dec 10, 2014
275
289
0
Roma
https://github.com/mt7-dev/cm_andro...mmit/8bc68453dc0e6faca201c87ff19d921702c951e4

This is most likely the same issue.... however I don't want to edit the build environment even more there must be a clean way to do this or just an alternate.
I'm new to porting devices so what is the usual way to alter the framwork source provided by the cm build environment?

This "print_powerlog_native" function comes from at least 1 shared library I can't omit.
https://github.com/XePeleato/https-...huawei_gra_l09/blob/master/p8-vendor-blobs.mk

You have probably already seen this, but just in case... hope this helps
 

nexolight

Senior Member
Nov 7, 2013
343
748
0
Olten
https://github.com/XePeleato/https-...huawei_gra_l09/blob/master/p8-vendor-blobs.mk

You have probably already seen this, but just in case... hope this helps
These don't even work with the 5.0 rom for cyanogenmod for me (6.0 is even more different) and I don't want to add these vendor files in bruteforce mode if you know what I mean ;)
In my case I had to replace the libandroid_runtime.so and there this native method is referenced. The solution in the link I posted before would work pretty well I guess this is just a non-standard function I'd have to add and the problem would be solved. However I'm pretty sure the ndk has a standardized way to do this without editing these files directly. To my point of undersanding editing the build environment is a no-go to make it official.
 
Last edited: