Skip to content

Commit

Permalink
Merge pull request #2153 from iBotPeaches/issue-2071
Browse files Browse the repository at this point in the history
Update to smali/baksmali v2.3.0
  • Loading branch information
iBotPeaches committed Aug 17, 2019
2 parents 75e4c61 + d2bfa79 commit 683fef3
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 11 deletions.
Expand Up @@ -24,6 +24,7 @@
import org.jf.dexlib2.dexbacked.DexBackedDexFile;
import org.jf.dexlib2.dexbacked.DexBackedOdexFile;
import org.jf.dexlib2.analysis.InlineMethodResolver;
import org.jf.dexlib2.iface.MultiDexContainer;

import java.io.File;
import java.io.IOException;
Expand Down Expand Up @@ -68,10 +69,27 @@ private void decode() throws AndrolibException {
jobs = 6;
}

// create the dex
DexBackedDexFile dexFile = DexFileFactory.loadDexEntry(mApkFile, mDexFile, true, Opcodes.forApi(mApi));
// create the container
MultiDexContainer<? extends DexBackedDexFile> container = DexFileFactory.loadDexContainer(mApkFile, Opcodes.forApi(mApi));
MultiDexContainer.DexEntry<? extends DexBackedDexFile> dexEntry;
DexBackedDexFile dexFile;

if (dexFile.isOdexFile()) {
// If we have 1 item, ignore the passed file. Pull the DexFile we need.
if (container.getDexEntryNames().size() == 1) {
dexEntry = container.getEntry(container.getDexEntryNames().get(0));
} else {
dexEntry = container.getEntry(mDexFile);
}

// Double check the passed param exists
if (dexEntry == null) {
dexEntry = container.getEntry(container.getDexEntryNames().get(0));
}

assert dexEntry != null;
dexFile = dexEntry.getDexFile();

if (dexFile.supportsOptimizedOpcodes()) {
throw new AndrolibException("Warning: You are disassembling an odex file without deodexing it.");
}

Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Expand Up @@ -109,15 +109,15 @@ subprojects {

ext {
depends = [
baksmali: 'org.smali:baksmali:2.2.7',
baksmali: 'org.smali:baksmali:2.3',
commons_cli: 'commons-cli:commons-cli:1.4',
commons_io: 'commons-io:commons-io:2.4',
commons_lang: 'org.apache.commons:commons-lang3:3.1',
guava: 'com.google.guava:guava:14.0',
junit: 'junit:junit:4.12',
proguard_gradle: 'net.sf.proguard:proguard-gradle:6.1.1',
snakeyaml: 'org.yaml:snakeyaml:1.18:android',
smali: 'org.smali:smali:2.2.7',
smali: 'org.smali:smali:2.3',
xmlpull: 'xpp3:xpp3:1.1.4c',
xmlunit: 'xmlunit:xmlunit:1.6',
]
Expand Down
6 changes: 3 additions & 3 deletions scripts/travis-ci/clean-tests.sh
Expand Up @@ -3,11 +3,11 @@
if [ "$TRAVIS_OS_NAME" = "windows" ]; then
export GRADLE_OPTS=-Dorg.gradle.daemon=false
choco install jdk8
export PATH=$PATH:"/c/Program Files/Java/jdk1.8.0_211/bin"
export JAVA_HOME="/c/Program Files/Java/jdk1.8.0_211"
export PATH=$PATH:"/c/Program Files/Java/jdk1.8.0_221/bin"
export JAVA_HOME="/c/Program Files/Java/jdk1.8.0_221"
./gradlew.bat clean
else
./gradlew clean
fi

exit $?
exit $?
6 changes: 3 additions & 3 deletions scripts/travis-ci/run-tests.sh
Expand Up @@ -2,11 +2,11 @@

if [ "$TRAVIS_OS_NAME" = "windows" ]; then
export GRADLE_OPTS=-Dorg.gradle.daemon=false
export PATH=$PATH:"/c/Program Files/Java/jdk1.8.0_211/bin"
export JAVA_HOME="/c/Program Files/Java/jdk1.8.0_211"
export PATH=$PATH:"/c/Program Files/Java/jdk1.8.0_221/bin"
export JAVA_HOME="/c/Program Files/Java/jdk1.8.0_221"
./gradlew.bat build shadowJar proguard
else
./gradlew build shadowJar proguard
fi

exit $?
exit $?

0 comments on commit 683fef3

Please sign in to comment.