support Android N recovery binaries

pull/8/head
cfig 9 years ago
parent 742e776412
commit 76b4966007

@ -34,9 +34,10 @@ model {
def workdir='build/unzip_boot'
project.ext.rootWorkDir = new File(workdir).getAbsolutePath()
def defaultRootDir = workdir + "/root"
String[] bins = [ "sh", "logcat", "logd", "linker", "toolbox", "toybox", "applypatch" ]
//String[] libs = [ "libdl.so", "libutils.so", "libc++.so", "libc.so", "libm.so", "libz.so", "libstdc++.so", "libcutils.so", "libselinux.so", "liblog.so", "libpcre.so", "libsysutils.so", "libnl.so", "libbase.so", "libbacktrace.so", "libunwind.so" ]
String[] libs = [ "libdl.so", "libutils.so", "libc++.so", "libc.so", "libm.so", "libz.so", "libstdc++.so", "libcutils.so", "libselinux.so", "liblog.so", "libpcre.so", "libsysutils.so", "libnl.so", "libbase.so", "libbacktrace.so", "libunwind.so", "libcrypto.so", "libpackagelistparser.so" ]
def sdkVersion = 7;
String[] bins = [ "sh", "logcat", "logd", "linker", "toolbox", "toybox", "applypatch", "debuggerd", "reboot" ]
String[] libs_6 = [ "libdl.so", "libutils.so", "libc++.so", "libc.so", "libm.so", "libz.so", "libstdc++.so", "libcutils.so", "libselinux.so", "liblog.so", "libpcre.so", "libsysutils.so", "libnl.so", "libbase.so", "libbacktrace.so", "libunwind.so" ]
String[] libs = [ "libdl.so", "libutils.so", "libc++.so", "libc.so", "libm.so", "libz.so", "libstdc++.so", "libcutils.so", "libselinux.so", "liblog.so", "libpcre.so", "libsysutils.so", "libnl.so", "libbase.so", "libbacktrace.so", "libunwind.so", "libcrypto.so", "libpackagelistparser.so", "libpcrecpp.so", "liblzma.so" ]
boolean gDebug=true
String activeImg = null;
if (new File("boot.img").exists()) {
@ -44,7 +45,6 @@ if (new File("boot.img").exists()) {
} else if (new File("recovery.img").exists()) {
activeImg = "recovery.img";
}
def sdkVersion = 7;
project.ext.outClearIMg = new File(String.format("%s.clear", activeImg)).getAbsolutePath()
project.ext.mkbootimgBin = new File("src/mkbootimg/mkbootimg").getAbsolutePath()
println("Active image target: " + activeImg);
@ -299,7 +299,7 @@ task addSystemBin(type: Copy) {
from System.getProperty("ANDROID_PRODUCT_OUT") + '/system/bin'
into workdir + "/root/system/bin"
include { details ->
inTargetList(details.file.name, bins)
inTargetList(details.file.name, "bin")
}
}
@ -307,11 +307,26 @@ task addSystemLib(type: Copy) {
from System.getProperty("ANDROID_PRODUCT_OUT") + '/system/lib'
into workdir + "/root/system/lib"
include { details ->
inTargetList(details.file.name, libs)
inTargetList(details.file.name, "lib")
}
}
boolean inTargetList(String file, String inType) {
switch (inType) {
"bin":
return inArray(file, bins);
"lib":
if (sdkVersion <= 6) {
return inArray(file, libs_6);
} else {
return inArray(file, libs);
}
default:
throw new RuntimeException("illegal type");
}
}
boolean inTargetList(String file, String[] inArray) {
boolean inArray(String file, String[] inArray) {
for (String item : inArray) {
if (item.equals(file)) {
return true;

Loading…
Cancel
Save