diff --git a/build/tools/extract_utils.sh b/build/tools/extract_utils.sh index d5cb79db..3eed1588 100644 --- a/build/tools/extract_utils.sh +++ b/build/tools/extract_utils.sh @@ -718,11 +718,16 @@ function oat2dex() { BOOTOAT="$TMPDIR/system/framework/$ARCH/boot.oat" local OAT="$(dirname "$OEM_TARGET")/oat/$ARCH/$(basename "$OEM_TARGET" ."${OEM_TARGET##*.}").odex" + local VDEX="$(dirname "$OEM_TARGET")/oat/$ARCH/$(basename "$OEM_TARGET" ."${OEM_TARGET##*.}").vdex" if get_file "$OAT" "$TMPDIR" "$SRC"; then + if get_file "$VDEX" "$TMPDIR" "$SRC"; then + echo "WARNING: Deodexing with VDEX. Still experimental" + fi java -jar "$BAKSMALIJAR" deodex -o "$TMPDIR/dexout" -b "$BOOTOAT" -d "$TMPDIR" "$TMPDIR/$(basename "$OAT")" elif [[ "$LINEAGE_TARGET" =~ .jar$ ]]; then # try to extract classes.dex from boot.oats for framework jars + # TODO: check if extraction from boot.vdex is needed JAROAT="$TMPDIR/system/framework/$ARCH/boot-$(basename ${OEM_TARGET%.*}).oat" if [ ! -f "$JAROAT" ]; then JAROAT=$BOOTOAT;