From a079fe74fc42e3e5e3b49ed09b2de8b154677d1c Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Fri, 28 Apr 2023 19:30:06 -0400 Subject: [PATCH] Move to official Google smali fork (#3051) * refactor: swap to google smali 3.0.3 * docs: update docs for smali change --- .github/CONTRIBUTING.md | 2 +- CONTRIBUTORS.md | 12 ++++++------ .../src/main/java/brut/androlib/Androlib.java | 2 +- .../java/brut/androlib/ApktoolProperties.java | 4 ++-- .../main/java/brut/androlib/mod/SmaliMod.java | 8 ++++---- .../java/brut/androlib/src/SmaliBuilder.java | 7 +++---- .../java/brut/androlib/src/SmaliDecoder.java | 18 +++++++++--------- build.gradle | 15 ++++----------- 8 files changed, 30 insertions(+), 38 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 03836084..12ae0dba 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -12,7 +12,7 @@ A couple of quick tips to ease the submission process. * [IntelliJ IDEA](http://www.jetbrains.com/idea/) is our IDE of choice. It has built in debugger support along with Gradle integration. - * For changes to smali/baksmali please see their [page](https://github.com/JesusFreke/smali) for more information. + * For changes to smali/baksmali please see their [page](https://github.com/google/smali) for more information. ## Code Styles diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 401ee97f..58e0f450 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1,12 +1,12 @@ # Apktool Contributors -Copyright 2014 Ryszard Wiśniewski This product includes software developed by: - * Ryszard Wiśniewski (brut.alll@gmail.com) - * JesusFreke (https://github.com/JesusFreke/smali) - * Dmitry Skiba (http://code.google.com/p/android4me/) - * Tahseen Ur Rehman (http://code.google.com/p/radixtree/) * Connor Tumbleson (connor.tumbleson@gmail.com) - * Android Open Source Project (http://source.android.com/) + * Ryszard Wiśniewski (brut.alll@gmail.com) + * Google (https://github.com/google/smali) + * JesusFreke (https://github.com/JesusFreke/smali) + * Dmitry Skiba (https://code.google.com/p/android4me/) + * Tahseen Ur Rehman (https://code.google.com/p/radixtree/) + * Android Open Source Project (https://source.android.com/) * The Apache Software Foundation (https://www.apache.org/) diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java index 4bc7c182..773c9886 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java @@ -35,7 +35,7 @@ import brut.directory.*; import brut.util.*; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; -import org.jf.dexlib2.iface.DexFile; +import com.android.tools.smali.dexlib2.iface.DexFile; import org.xml.sax.SAXException; import javax.xml.parsers.ParserConfigurationException; diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/ApktoolProperties.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/ApktoolProperties.java index 518f0549..34bab49d 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/ApktoolProperties.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/ApktoolProperties.java @@ -45,7 +45,7 @@ public class ApktoolProperties { InputStream templateStream = null; try { - templateStream = org.jf.baksmali.Main.class.getClassLoader().getResourceAsStream("baksmali.properties"); + templateStream = com.android.tools.smali.baksmali.Main.class.getClassLoader().getResourceAsStream("baksmali.properties"); } catch(NoClassDefFoundError ex) { LOGGER.warning("Can't load baksmali properties."); } @@ -63,7 +63,7 @@ public class ApktoolProperties { templateStream = null; try { - templateStream = org.jf.smali.Main.class.getClassLoader().getResourceAsStream("smali.properties"); + templateStream = com.android.tools.smali.smali.Main.class.getClassLoader().getResourceAsStream("smali.properties"); } catch(NoClassDefFoundError ex) { LOGGER.warning("Can't load smali properties."); } diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/mod/SmaliMod.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/mod/SmaliMod.java index 8b0b9724..e4cc2053 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/mod/SmaliMod.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/mod/SmaliMod.java @@ -21,10 +21,10 @@ import org.antlr.runtime.RecognitionException; import org.antlr.runtime.Token; import org.antlr.runtime.tree.CommonTree; import org.antlr.runtime.tree.CommonTreeNodeStream; -import org.jf.dexlib2.writer.builder.DexBuilder; -import org.jf.smali.smaliFlexLexer; -import org.jf.smali.smaliParser; -import org.jf.smali.smaliTreeWalker; +import com.android.tools.smali.dexlib2.writer.builder.DexBuilder; +import com.android.tools.smali.smali.smaliFlexLexer; +import com.android.tools.smali.smali.smaliParser; +import com.android.tools.smali.smali.smaliTreeWalker; import java.io.*; import java.nio.charset.StandardCharsets; diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliBuilder.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliBuilder.java index 121249e2..5dbf5ba6 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliBuilder.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliBuilder.java @@ -21,10 +21,9 @@ import brut.androlib.mod.SmaliMod; import brut.directory.DirectoryException; import brut.directory.ExtFile; import org.antlr.runtime.RecognitionException; -import org.jf.dexlib2.Opcodes; -import org.jf.dexlib2.writer.builder.DexBuilder; -import org.jf.dexlib2.writer.io.FileDataStore; - +import com.android.tools.smali.dexlib2.Opcodes; +import com.android.tools.smali.dexlib2.writer.builder.DexBuilder; +import com.android.tools.smali.dexlib2.writer.io.FileDataStore; import java.io.File; import java.io.FileInputStream; import java.io.IOException; diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliDecoder.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliDecoder.java index cc5f5069..5f57ec30 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliDecoder.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliDecoder.java @@ -17,15 +17,15 @@ package brut.androlib.src; import brut.androlib.AndrolibException; -import org.jf.baksmali.Baksmali; -import org.jf.baksmali.BaksmaliOptions; -import org.jf.dexlib2.DexFileFactory; -import org.jf.dexlib2.Opcodes; -import org.jf.dexlib2.dexbacked.DexBackedDexFile; -import org.jf.dexlib2.dexbacked.DexBackedOdexFile; -import org.jf.dexlib2.analysis.InlineMethodResolver; -import org.jf.dexlib2.iface.DexFile; -import org.jf.dexlib2.iface.MultiDexContainer; +import com.android.tools.smali.baksmali.Baksmali; +import com.android.tools.smali.baksmali.BaksmaliOptions; +import com.android.tools.smali.dexlib2.DexFileFactory; +import com.android.tools.smali.dexlib2.Opcodes; +import com.android.tools.smali.dexlib2.dexbacked.DexBackedDexFile; +import com.android.tools.smali.dexlib2.dexbacked.DexBackedOdexFile; +import com.android.tools.smali.dexlib2.analysis.InlineMethodResolver; +import com.android.tools.smali.dexlib2.iface.DexFile; +import com.android.tools.smali.dexlib2.iface.MultiDexContainer; import java.io.File; import java.io.IOException; diff --git a/build.gradle b/build.gradle index 50fd8db4..ddc49647 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ import java.nio.charset.StandardCharsets buildscript { ext { depends = [ - baksmali : 'com.github.iBotPeaches.smali:baksmali:403e90375e', + baksmali : 'com.android.tools.smali:smali-baksmali:3.0.3', commons_cli : 'commons-cli:commons-cli:1.5.0', commons_io : 'commons-io:commons-io:2.11.0', commons_lang : 'org.apache.commons:commons-lang3:3.12.0', @@ -27,7 +27,7 @@ buildscript { junit : 'junit:junit:4.13.2', proguard_gradle: 'com.guardsquare:proguard-gradle:7.3.2', snakeyaml : 'org.yaml:snakeyaml:1.32:android', - smali : 'com.github.iBotPeaches.smali:smali:403e90375e', + smali : 'com.android.tools.smali:smali:3.0.3', xmlpull : 'xpp3:xpp3:1.1.4c', xmlunit : 'xmlunit:xmlunit:1.6', ] @@ -35,6 +35,7 @@ buildscript { repositories { gradlePluginPortal() + google() } dependencies { classpath "gradle.plugin.com.github.johnrengelman:shadow:8.0.0" @@ -82,15 +83,7 @@ allprojects { repositories { mavenCentral() - - // Obtain baksmali/smali from source builds - https://github.com/iBotPeaches/smali - // Remove when official smali releases come out again. - maven { - url 'https://jitpack.io' - content { - includeGroup('com.github.iBotPeaches.smali') - } - } + google() } }