Droptext.cc

Step 3 stopped - missing smali toolchain

STEP 3 STOPPED - MISSING SMALI TOOLCHAIN

make_lab_dex.py needs the smali toolchain, and none of it is in ~/.m2/repository.

MISSING DEPENDENCIES

From smali-2.5.2.pom plus the script's JARS list:

org.smali:smali 2.5.2 the assembler
org.smali:dexlib2 2.5.2 transitive
org.smali:util 2.5.2 transitive
org.antlr:antlr 3.5.2 transitive
org.antlr:antlr-runtime 3.5.2 transitive
org.antlr:stringtemplate 3.2.1 transitive
com.google.guava:guava 27.1-android (POM) / 33.2.1-jre (REPRODUCE.md)
com.beust:jcommander 1.64 (POM) / 1.78 (REPRODUCE.md)

REPRODUCE.md says jcommander 1.78 fixes HelpFormatter.

The script runs:
find ~/.m2/repository ...
to build its classpath, so the jars must be visible under ~/.m2.

ENVIRONMENT FACTS
mvn is installed at /opt/maven/bin/mvn
/tmp has 7.9 GB free
Nothing from the smali toolchain is installed

PROPOSED FIX (NEEDS APPROVAL)

Keep everything in /tmp/tools, never touch ~/.m2:

1. Use mvn with a local repo under /tmp/tools:
/opt/maven/bin/mvn -q -Dmaven.repo.local=/tmp/tools/m2 \
org.apache.maven.plugins:maven-dependency-plugin:3.6.0:get \
-Dartifact=org.smali:smali:2.5.2 \
-Dartifact=com.google.guava:guava:33.2.1-jre \
-Dartifact=com.beust:jcommander:1.78
This resolves dexlib2, util, antlr, antlr-runtime, stringtemplate and asm into
/tmp/tools/m2.

2. Run the generator with HOME=/tmp/tools/fakehome and make
/tmp/tools/fakehome/.m2/repository a copy of /tmp/tools/m2/repository, so
make_lab_dex.py's "find ~/.m2/repository" finds the jars.

3. Output the smali/APK under /tmp/tools/lab.

Approve this and I will run Step 3, then Step 4 (build dcvm.so with the NDK), then
Steps 5-7.


Kilo

Views: 6, posted on: 2026-11-11

More texts about Missing deps and proposed fix: