mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-12-22 07:57:39 +00:00
Dump binaries to header at build, not at request
This commit is contained in:
parent
adf95ce3a0
commit
8dc9d3bc78
28
build.py
28
build.py
@ -119,6 +119,12 @@ def build_binary(args):
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
error('Build Magisk binary failed!')
|
error('Build Magisk binary failed!')
|
||||||
collect_binary()
|
collect_binary()
|
||||||
|
# Dump the binary to header
|
||||||
|
for arch in archs:
|
||||||
|
bin_file = os.path.join('native', 'out', arch, 'magisk')
|
||||||
|
with open(os.path.join('native', 'out', arch, 'binaries_arch_xz.h'), 'w') as out:
|
||||||
|
with open(bin_file, 'rb') as src:
|
||||||
|
xz_dump(src, out, 'magisk_xz')
|
||||||
|
|
||||||
old_plat = False
|
old_plat = False
|
||||||
flags = base_flags
|
flags = base_flags
|
||||||
@ -128,22 +134,10 @@ def build_binary(args):
|
|||||||
old_plat = True
|
old_plat = True
|
||||||
|
|
||||||
if 'magiskinit' in targets:
|
if 'magiskinit' in targets:
|
||||||
for arch in archs:
|
if not os.path.exists(os.path.join('native', 'out', 'x86', 'binaries_arch_xz.h')):
|
||||||
bin_file = os.path.join('native', 'out', arch, 'magisk')
|
error('Build "magisk" before building "magiskinit"')
|
||||||
if not os.path.exists(bin_file):
|
if not os.path.exists(os.path.join('native', 'out', 'binaries_xz.h')):
|
||||||
error('Build "magisk" before building "magiskinit"')
|
|
||||||
with open(os.path.join('native', 'out', arch, 'binaries_arch_xz.h'), 'w') as out:
|
|
||||||
with open(bin_file, 'rb') as src:
|
|
||||||
xz_dump(src, out, 'magisk_xz')
|
|
||||||
|
|
||||||
stub_apk = os.path.join(config['outdir'], 'stub-release.apk')
|
|
||||||
if not os.path.exists(stub_apk):
|
|
||||||
error('Build release stub APK before building "magiskinit"')
|
error('Build release stub APK before building "magiskinit"')
|
||||||
|
|
||||||
with open(os.path.join('native', 'out', 'binaries_xz.h'), 'w') as out:
|
|
||||||
with open(stub_apk, 'rb') as src:
|
|
||||||
xz_dump(src, out, 'manager_xz')
|
|
||||||
|
|
||||||
flags += ' B_INIT=1'
|
flags += ' B_INIT=1'
|
||||||
old_plat = True
|
old_plat = True
|
||||||
|
|
||||||
@ -219,6 +213,10 @@ def build_apk(args):
|
|||||||
sign_apk(unsigned, release)
|
sign_apk(unsigned, release)
|
||||||
header('Output: ' + release)
|
header('Output: ' + release)
|
||||||
rm(unsigned)
|
rm(unsigned)
|
||||||
|
# Dump the stub APK to header
|
||||||
|
with open(os.path.join('native', 'out', 'binaries_xz.h'), 'w') as out:
|
||||||
|
with open(release, 'rb') as src:
|
||||||
|
xz_dump(src, out, 'manager_xz')
|
||||||
else:
|
else:
|
||||||
proc = subprocess.run('{} app:assembleDebug'.format(gradlew), shell=True, stdout=STDOUT)
|
proc = subprocess.run('{} app:assembleDebug'.format(gradlew), shell=True, stdout=STDOUT)
|
||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user