Add CDEX support for boot JAR files
Change-Id: I0039256c883a58c5a5125fd9bff6e6ec3b98688d
This commit is contained in:
committed by
Daniel Hillenbrand
parent
7a64931732
commit
4682cc364a
@@ -838,16 +838,21 @@ function oat2dex() {
|
|||||||
fi
|
fi
|
||||||
elif [[ "$LINEAGE_TARGET" =~ .jar$ ]]; then
|
elif [[ "$LINEAGE_TARGET" =~ .jar$ ]]; then
|
||||||
JAROAT="$TMPDIR/system/framework/$ARCH/boot-$(basename ${OEM_TARGET%.*}).oat"
|
JAROAT="$TMPDIR/system/framework/$ARCH/boot-$(basename ${OEM_TARGET%.*}).oat"
|
||||||
JARVDEX="$TMPDIR/system/framework/oat/$ARCH/$(basename ${OEM_TARGET%.*}).vdex"
|
JARVDEX="/system/framework/boot-$(basename ${OEM_TARGET%.*}).vdex"
|
||||||
if [ ! -f "$JAROAT" ]; then
|
if [ ! -f "$JAROAT" ]; then
|
||||||
JAROAT=$BOOTOAT;
|
JAROAT=$BOOTOAT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# try to extract classes.dex from boot.vdex for frameworks jars
|
# try to extract classes.dex from boot.vdex for frameworks jars
|
||||||
# fallback to boot.oat if vdex is not available
|
# fallback to boot.oat if vdex is not available
|
||||||
if [ -f "$JARVDEX" ]; then
|
if get_file "$JARVDEX" "$TMPDIR" "$SRC"; then
|
||||||
"$VDEXEXTRACTOR" -o "$TMPDIR/" -i "$JARVDEX" > /dev/null
|
"$VDEXEXTRACTOR" -o "$TMPDIR/" -i "$TMPDIR/$(basename "$JARVDEX")"
|
||||||
mv "$TMPDIR/$(basename "${OEM_TARGET%.*}")_classes.dex" "$TMPDIR/classes.dex"
|
# Check if we have to deal with CompactDex
|
||||||
|
if [ -f "$TMPDIR/$(basename "${JARVDEX%.*}")_classes.cdex" ]; then
|
||||||
|
"$CDEXCONVERTER" "$TMPDIR/$(basename "${JARVDEX%.*}")_classes.cdex" &> /dev/null
|
||||||
|
mv "$TMPDIR/$(basename "${JARVDEX%.*}")_classes.cdex.new" "$TMPDIR/classes.dex"
|
||||||
|
else
|
||||||
|
mv "$TMPDIR/$(basename "${JARVDEX%.*}")_classes.dex" "$TMPDIR/classes.dex"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
java -jar "$BAKSMALIJAR" deodex -o "$TMPDIR/dexout" -b "$BOOTOAT" -d "$TMPDIR" "$JAROAT/$OEM_TARGET"
|
java -jar "$BAKSMALIJAR" deodex -o "$TMPDIR/dexout" -b "$BOOTOAT" -d "$TMPDIR" "$JAROAT/$OEM_TARGET"
|
||||||
java -jar "$SMALIJAR" assemble "$TMPDIR/dexout" -o "$TMPDIR/classes.dex"
|
java -jar "$SMALIJAR" assemble "$TMPDIR/dexout" -o "$TMPDIR/classes.dex"
|
||||||
|
|||||||
Reference in New Issue
Block a user