diff --git a/INTERNAL.md b/INTERNAL.md index c6c9d245..1eea458d 100644 --- a/INTERNAL.md +++ b/INTERNAL.md @@ -234,13 +234,7 @@ you can clone the modified repo from first step into this directory. The steps below are different per flavor and operating system. For cross compiling the Windows binary on Unix, we lose the ability to quickly build just the aapt binary. So the Windows procedure builds the entire Sdk. -#### Unix 32 -1. `source build/envsetup.sh` -2. `lunch sdk-eng` -3. `make OUT_DIR=out-x32 LOCAL_MULTILIB=32 USE_NINJA=false aapt` -4. `strip out-x32/host/linux-x86/bin/aapt` - -#### Unix 64 +#### Unix 1. `source build/envsetup.sh` 2. `lunch sdk-eng` 3. `make OUT_DIR=out-x64 LOCAL_MULTILIB=64 USE_NINJA=false aapt` @@ -252,16 +246,13 @@ we lose the ability to quickly build just the aapt binary. So the Windows proced 3. `make PRODUCT-sdk-win_sdk USE_NINJA=false` 4. `strip out/host/windows-x86/bin/aapt.exe` -#### Mac 32 -1. `source build/envsetup.sh` -2. `lunch sdk-eng` -3. `make OUT_DIR=out-x32 LOCAL_MULTILIB=32 USE_NINJA=false aapt` - -#### Mac 64 +#### Mac 1. `source build/envsetup.sh` 2. `lunch sdk-eng` 3. `make OUT_DIR=out-x64 LOCAL_MULTILIB=64 USE_NINJA=false aapt` +As of Android Oreo (API 26) all aapt binaries are 64 bit. + # Gradle Tips n Tricks ./gradlew build shadowJar proguard -x test diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java index da416668..7b1dba6e 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java @@ -788,19 +788,15 @@ final public class AndrolibResources { public File getAaptBinaryFile() throws AndrolibException { File aaptBinary; + if (! OSDetection.is64Bit()) { + throw new AndrolibException("32 bit OS detected. No 32 bit binaries available."); + } + try { if (OSDetection.isMacOSX()) { - if (OSDetection.is64Bit()) { - aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/macosx/64/aapt", AndrolibResources.class); - } else { - aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/macosx/32/aapt", AndrolibResources.class); - } + aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/macosx/aapt", AndrolibResources.class); } else if (OSDetection.isUnix()) { - if (OSDetection.is64Bit()) { - aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/linux/64/aapt", AndrolibResources.class); - } else { - aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/linux/32/aapt", AndrolibResources.class); - } + aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/linux/aapt", AndrolibResources.class); } else if (OSDetection.isWindows()) { aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/windows/aapt.exe", AndrolibResources.class); } else { diff --git a/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/linux/64/aapt b/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/linux/64/aapt deleted file mode 100755 index 9f158088..00000000 Binary files a/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/linux/64/aapt and /dev/null differ diff --git a/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/linux/32/aapt b/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/linux/aapt similarity index 99% rename from brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/linux/32/aapt rename to brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/linux/aapt index 723c0837..2e33dc33 100755 Binary files a/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/linux/32/aapt and b/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/linux/aapt differ diff --git a/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/macosx/32/aapt b/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/macosx/32/aapt deleted file mode 100755 index eb85af78..00000000 Binary files a/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/macosx/32/aapt and /dev/null differ diff --git a/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/macosx/64/aapt b/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/macosx/aapt similarity index 100% rename from brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/macosx/64/aapt rename to brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/macosx/aapt diff --git a/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/windows/aapt.exe b/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/windows/aapt.exe index d3750238..ca6d3b91 100755 Binary files a/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/windows/aapt.exe and b/brut.apktool/apktool-lib/src/main/resources/prebuilt/aapt/windows/aapt.exe differ