Skip to content

Instantly share code, notes, and snippets.

@yongbol
Forked from maluta/dalvik.sh
Created July 6, 2017 14:53
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yongbol/c3e6c31750d40167539fc78739c24f9e to your computer and use it in GitHub Desktop.
Save yongbol/c3e6c31750d40167539fc78739c24f9e to your computer and use it in GitHub Desktop.
Command line Java on DalvikVM
#!/bin/sh
DIR="tmp_"$$
JAR=`echo $1 | tr '.' ' ' | awk '{ print $1 }'`
rm -rf $JAR.jar
mkdir $DIR
cp $1 $DIR
cd $DIR
echo "** Compiling java file..."
javac -d . -g $1
echo "** Creating temporary jar..."
jar -cvf Temp.jar *
echo "** Creating DEX file..."
dx --dex --output=./classes.dex Temp.jar
echo "** Creating Android compatible file..."
aapt add ../$JAR.jar classes.dex
cd ..
rm -rf $DIR
echo "** Finished!"
echo ""
echo "Now copy to your device, ex:"
echo ""
echo " adb push "$JAR".jar /data/local"
echo ""
echo "adb shell"
PACKAGE_NAME=`grep "package" $1 |awk '{print $2}' | tr ';' '.'`
CLASS_NAME=`grep -i "public class" $1 | awk '{ print $3 }'`
echo "/system/bin/dalvikvm -Xbootclasspath:/system/framework/core.jar -classpath /data/local/"$JAR".jar "$PACKAGE_NAME$CLASS_NAME
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment