aboutsummaryrefslogtreecommitdiff
path: root/baksmali
diff options
context:
space:
mode:
authorConnor Tumbleson <connor.tumbleson@gmail.com>2014-09-13 11:50:19 -0500
committerConnor Tumbleson <connor.tumbleson@gmail.com>2014-11-06 23:09:44 -0600
commit6811d13935522ab6acc7fbe623103b158dbf2f6d (patch)
tree3df5af74cb0a0a9cffbf92231117afc81f1d8ecb /baksmali
parentf3d063dd176556862aee87e4d2feb9ea9bf9af39 (diff)
downloadsmali-6811d13935522ab6acc7fbe623103b158dbf2f6d.tar.gz
Implement dex entry for non classes.dex files
Diffstat (limited to 'baksmali')
-rw-r--r--baksmali/src/main/java/org/jf/baksmali/baksmaliOptions.java1
-rw-r--r--baksmali/src/main/java/org/jf/baksmali/main.java12
2 files changed, 12 insertions, 1 deletions
diff --git a/baksmali/src/main/java/org/jf/baksmali/baksmaliOptions.java b/baksmali/src/main/java/org/jf/baksmali/baksmaliOptions.java
index 57941e1c..ea0ccf16 100644
--- a/baksmali/src/main/java/org/jf/baksmali/baksmaliOptions.java
+++ b/baksmali/src/main/java/org/jf/baksmali/baksmaliOptions.java
@@ -54,6 +54,7 @@ public class baksmaliOptions {
public int apiLevel = 15;
public String outputDirectory = "out";
+ public String dexEntry = "classes.dex";
public List<String> bootClassPathDirs = Lists.newArrayList();
public List<String> bootClassPathEntries = Lists.newArrayList();
diff --git a/baksmali/src/main/java/org/jf/baksmali/main.java b/baksmali/src/main/java/org/jf/baksmali/main.java
index e50172fe..33d6d250 100644
--- a/baksmali/src/main/java/org/jf/baksmali/main.java
+++ b/baksmali/src/main/java/org/jf/baksmali/main.java
@@ -208,6 +208,9 @@ public class main {
case 't':
options.useImplicitReferences = false;
break;
+ case 'e':
+ options.dexEntry = commandLine.getOptionValue("e");
+ break;
case 'N':
disassemble = false;
break;
@@ -251,7 +254,7 @@ public class main {
}
//Read in and parse the dex file
- DexBackedDexFile dexFile = DexFileFactory.loadDexFile(dexFileFile, options.apiLevel);
+ DexBackedDexFile dexFile = DexFileFactory.loadDexFile(dexFileFile, options.dexEntry, options.apiLevel);
if (dexFile.isOdexFile()) {
if (!options.deodex) {
@@ -450,6 +453,12 @@ public class main {
.withArgName("FILE")
.create("T");
+ Option dexEntryOption = OptionBuilder.withLongOpt("dex-file")
+ .withDescription("looks for dex file named DEX_FILE, defaults to classes.dex")
+ .withArgName("DEX_FILE")
+ .hasArg()
+ .create("e");
+
basicOptions.addOption(versionOption);
basicOptions.addOption(helpOption);
basicOptions.addOption(outputDirOption);
@@ -467,6 +476,7 @@ public class main {
basicOptions.addOption(jobsOption);
basicOptions.addOption(resourceIdFilesOption);
basicOptions.addOption(noImplicitReferencesOption);
+ basicOptions.addOption(dexEntryOption);
debugOptions.addOption(dumpOption);
debugOptions.addOption(ignoreErrorsOption);