Skip to content

Commit

Permalink
Remove aapt and use aapt2 for all android versions
Browse files Browse the repository at this point in the history
Signed-off-by: DrDisagree <[email protected]>
  • Loading branch information
Mahmud0808 committed Feb 16, 2025
1 parent 4792204 commit 7bd24a5
Show file tree
Hide file tree
Showing 8 changed files with 8 additions and 33 deletions.
4 changes: 0 additions & 4 deletions app/src/main/java/com/drdisagree/iconify/common/Dynamic.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,8 @@ object Dynamic {
// Overlay compiler tools
val NATIVE_LIBRARY_DIR: String = appContext.applicationInfo.nativeLibraryDir

val AAPTLIB = File(NATIVE_LIBRARY_DIR, "libaapt.so")

val AAPT2LIB = File(NATIVE_LIBRARY_DIR, "libaapt2.so")

val AAPT = File(Resources.BIN_DIR, "aapt")

val AAPT2 = File(Resources.BIN_DIR, "aapt2")

val ZIPALIGNLIB = File(NATIVE_LIBRARY_DIR, "libzipalign.so")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
package com.drdisagree.iconify.utils.helper

import android.util.Log
import com.drdisagree.iconify.common.Dynamic.AAPT
import com.drdisagree.iconify.common.Dynamic.AAPT2
import com.drdisagree.iconify.common.Dynamic.AAPT2LIB
import com.drdisagree.iconify.common.Dynamic.AAPTLIB
import com.drdisagree.iconify.common.Dynamic.NATIVE_LIBRARY_DIR
import com.drdisagree.iconify.common.Dynamic.ZIPALIGN
import com.drdisagree.iconify.common.Dynamic.ZIPALIGNLIB
import com.drdisagree.iconify.common.Resources
import com.drdisagree.iconify.common.Resources.BIN_DIR
import com.drdisagree.iconify.common.Resources.DATA_DIR
import com.drdisagree.iconify.utils.FileUtils
import com.topjohnwu.superuser.Shell

Expand All @@ -22,14 +20,11 @@ object BinaryInstaller {

extractTools()

if (AAPT.exists()) AAPT.delete()
if (AAPT2.exists()) AAPT2.delete()
if (ZIPALIGN.exists()) ZIPALIGN.delete()

Shell.cmd("ln -sf " + AAPTLIB.absolutePath + ' ' + AAPT.absolutePath).exec()
Shell.cmd("ln -sf " + AAPT2LIB.absolutePath + ' ' + AAPT2.absolutePath).exec()
Shell.cmd("ln -sf " + ZIPALIGNLIB.absolutePath + ' ' + ZIPALIGN.absolutePath)
.exec()
Shell.cmd("ln -sf " + AAPT2LIB.absolutePath + " " + AAPT2.absolutePath).exec()
Shell.cmd("ln -sf " + ZIPALIGNLIB.absolutePath + " " + ZIPALIGN.absolutePath).exec()
}

private fun extractTools() {
Expand All @@ -38,7 +33,7 @@ object BinaryInstaller {
try {
FileUtils.copyAssets("Tools")

Shell.cmd("for fl in " + Resources.DATA_DIR + "/Tools/*; do cp -f \"\$fl\" \"" + NATIVE_LIBRARY_DIR + "\"; chmod 755 \"" + NATIVE_LIBRARY_DIR + "/$(basename \$fl)\"; ln -sf \"" + NATIVE_LIBRARY_DIR + "/$(basename \$fl)\" \"" + BIN_DIR + "/$(basename \$fl)\"; done")
Shell.cmd("for fl in $DATA_DIR/Tools/*; do cp -f \"\$fl\" \"$NATIVE_LIBRARY_DIR\"; chmod 755 \"$NATIVE_LIBRARY_DIR/$(basename \$fl)\"; ln -sf \"$NATIVE_LIBRARY_DIR/$(basename \$fl)\" \"$BIN_DIR/$(basename \$fl)\"; done")
.exec()

FileUtils.cleanDir("Tools")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@ package com.drdisagree.iconify.utils.overlay.compiler

import android.util.Log
import com.drdisagree.iconify.Iconify.Companion.appContext
import com.drdisagree.iconify.common.Dynamic.AAPT
import com.drdisagree.iconify.common.Dynamic.AAPT2
import com.drdisagree.iconify.common.Dynamic.ZIPALIGN
import com.drdisagree.iconify.common.Dynamic.isAtleastA14
import com.drdisagree.iconify.common.Resources
import com.drdisagree.iconify.common.Resources.FRAMEWORK_DIR
import com.drdisagree.iconify.common.Resources.UNSIGNED_UNALIGNED_DIR
Expand All @@ -20,7 +18,6 @@ import java.security.cert.X509Certificate
object OnboardingCompiler {

private val TAG = OnboardingCompiler::class.java.simpleName
private val aapt: String = AAPT.absolutePath
private val aapt2: String = AAPT2.absolutePath
private val zipalign: String = ZIPALIGN.absolutePath
private var key: PrivateKey? = null
Expand Down Expand Up @@ -48,17 +45,11 @@ object OnboardingCompiler {
fun runAapt(source: String, name: String): Boolean {
var result: Shell.Result? = null
var attempt = 3
val command: String

if (!isAtleastA14) {
command =
"$aapt p -f -M $source/AndroidManifest.xml -I $FRAMEWORK_DIR -S $source/res -F $UNSIGNED_UNALIGNED_DIR/$name-unsigned-unaligned.apk --include-meta-data --auto-add-overlay"
} else {
command = getAAPT2Command(source, name)
val command: String = getAAPT2Command(source, name)

if (isQsTileOrTextOverlay(name)) {
QsResourceManager.removeQuickSettingsStyles(source)
}
if (isQsTileOrTextOverlay(name)) {
QsResourceManager.removeQuickSettingsStyles(source)
}

while (attempt-- != 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@ package com.drdisagree.iconify.utils.overlay.compiler

import android.util.Log
import com.drdisagree.iconify.Iconify.Companion.appContext
import com.drdisagree.iconify.common.Dynamic.AAPT
import com.drdisagree.iconify.common.Dynamic.AAPT2
import com.drdisagree.iconify.common.Dynamic.ZIPALIGN
import com.drdisagree.iconify.common.Dynamic.isAtleastA14
import com.drdisagree.iconify.common.Resources
import com.drdisagree.iconify.common.Resources.FRAMEWORK_DIR
import com.drdisagree.iconify.utils.AppUtils.getSplitLocations
Expand All @@ -19,7 +17,6 @@ import java.security.cert.X509Certificate
object OverlayCompiler {

private val TAG = OverlayCompiler::class.java.simpleName
private val aapt: String = AAPT.absolutePath
private val aapt2: String = AAPT2.absolutePath
private val zipalign: String = ZIPALIGN.absolutePath
private var key: PrivateKey? = null
Expand Down Expand Up @@ -114,11 +111,7 @@ object OverlayCompiler {
Resources.UNSIGNED_UNALIGNED_DIR
}

return if (!isAtleastA14) {
StringBuilder("$aapt p -f -M $source/AndroidManifest.xml -S $source/res -F $outputDir/$name -I $FRAMEWORK_DIR --include-meta-data --auto-add-overlay")
} else {
StringBuilder(getAAPT2Command(source, name, outputDir))
}
return StringBuilder(getAAPT2Command(source, name, outputDir))
}

private fun getAAPT2Command(source: String, name: String, outputDir: String): String {
Expand Down
Binary file removed app/src/main/jniLibs/arm64-v8a/libaapt.so
Binary file not shown.
Binary file removed app/src/main/jniLibs/armeabi-v7a/libaapt.so
Binary file not shown.
Binary file removed app/src/main/jniLibs/x86/libaapt.so
Binary file not shown.
Binary file removed app/src/main/jniLibs/x86_64/libaapt.so
Binary file not shown.

0 comments on commit 7bd24a5

Please sign in to comment.