|
|
|
@ -7,10 +7,10 @@ from tools.logger import Logger
|
|
|
|
|
|
|
|
|
|
class Ndk(General):
|
|
|
|
|
partition = "system"
|
|
|
|
|
dl_link = "https://www.dropbox.com/s/eaf4dj3novwiccp/libndk_translation_Module-c6077f3398172c64f55aad7aab0e55fad9110cf3.zip?dl=1"
|
|
|
|
|
dl_link = "https://github.com/supremegamers/vendor_google_proprietary_ndk_translation-prebuilt/archive/181d9290a69309511185c4417ba3d890b3caaaa8.zip"
|
|
|
|
|
dl_file_name = "libndktranslation.zip"
|
|
|
|
|
extract_to = "/tmp/libndkunpack"
|
|
|
|
|
act_md5 = "4456fc1002dc78e544e8d9721bb24398"
|
|
|
|
|
act_md5 = "0beff55f312492f24d539569d84f5bfb"
|
|
|
|
|
apply_props = {
|
|
|
|
|
"ro.product.cpu.abilist": "x86_64,x86,armeabi-v7a,armeabi,arm64-v8a",
|
|
|
|
|
"ro.product.cpu.abilist32": "x86,armeabi-v7a,armeabi",
|
|
|
|
@ -21,17 +21,6 @@ class Ndk(General):
|
|
|
|
|
"ro.dalvik.vm.isa.arm": "x86",
|
|
|
|
|
"ro.dalvik.vm.isa.arm64": "x86_64"
|
|
|
|
|
}
|
|
|
|
|
init_rc_component = """
|
|
|
|
|
# Enable native bridge for target executables
|
|
|
|
|
on early-init
|
|
|
|
|
mount binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
|
|
|
|
|
|
|
|
|
|
on property:ro.enable.native.bridge.exec=1
|
|
|
|
|
copy /system/etc/binfmt_misc/arm_exe /proc/sys/fs/binfmt_misc/register
|
|
|
|
|
copy /system/etc/binfmt_misc/arm_dyn /proc/sys/fs/binfmt_misc/register
|
|
|
|
|
copy /system/etc/binfmt_misc/arm64_exe /proc/sys/fs/binfmt_misc/register
|
|
|
|
|
copy /system/etc/binfmt_misc/arm64_dyn /proc/sys/fs/binfmt_misc/register
|
|
|
|
|
"""
|
|
|
|
|
files = [
|
|
|
|
|
"bin/arm",
|
|
|
|
|
"bin/arm64",
|
|
|
|
@ -40,7 +29,7 @@ on property:ro.enable.native.bridge.exec=1
|
|
|
|
|
"etc/binfmt_misc",
|
|
|
|
|
"etc/ld.config.arm.txt",
|
|
|
|
|
"etc/ld.config.arm64.txt",
|
|
|
|
|
"etc/init/libndk.rc",
|
|
|
|
|
"etc/init/ndk_translation.rc",
|
|
|
|
|
"lib/arm",
|
|
|
|
|
"lib64/arm64",
|
|
|
|
|
"lib/libndk*",
|
|
|
|
@ -50,11 +39,5 @@ on property:ro.enable.native.bridge.exec=1
|
|
|
|
|
def copy(self):
|
|
|
|
|
run(["chmod", "+x", self.extract_to, "-R"])
|
|
|
|
|
Logger.info("Copying libndk library files ...")
|
|
|
|
|
shutil.copytree(os.path.join(self.extract_to, "libndk_translation_Module-c6077f3398172c64f55aad7aab0e55fad9110cf3", "system"), os.path.join(self.copy_dir, self.partition), dirs_exist_ok=True)
|
|
|
|
|
|
|
|
|
|
init_path = os.path.join(self.copy_dir, self.partition, "etc", "init", "libndk.rc")
|
|
|
|
|
if not os.path.isfile(init_path):
|
|
|
|
|
os.makedirs(os.path.dirname(init_path), exist_ok=True)
|
|
|
|
|
with open(init_path, "w") as initfile:
|
|
|
|
|
initfile.write(self.init_rc_component)
|
|
|
|
|
shutil.copytree(os.path.join(self.extract_to, "vendor_google_proprietary_ndk_translation-prebuilt-181d9290a69309511185c4417ba3d890b3caaaa8", "prebuilts"), os.path.join(self.copy_dir, self.partition), dirs_exist_ok=True)
|
|
|
|
|
|