@@ -66,11 +66,34 @@ rm -Rf $DOE/output-res
6666rm -Rf $outputDir
6767mkdir -p $outputDir
6868
69+ # Generate directories for project structure
70+ if [[ " $generateProject " == true ]];
71+ then
72+ moduleName=app
73+
74+ mkdir -p $outputDir /gradle
75+ mkdir -p $outputDir /gradle/wrapper
76+ mkdir -p $outputDir /$moduleName
77+ mkdir -p $outputDir /$moduleName /libs
78+ mkdir -p $outputDir /$moduleName /src
79+ mkdir -p $outputDir /$moduleName /src/main
80+ mkdir -p $outputDir /$moduleName /src/main/java
81+
82+ baseOutputDir=" $outputDir "
83+ resOutputDir=" $outputDir /$moduleName /src/main/res-output"
84+ outputDir=" $outputDir /$moduleName /src/main/java"
85+ fi
86+
6987# Create JAR from APK file, then decompile that JAR to have Java files
7088echo " Extracting JAR file from APK"
7189sh $DOE /dex2jar/d2j-dex2jar.sh -o $outputDir /output.jar $apkfile
7290echo " Decompiling JAR for Java files"
73- java -jar $DOE /jd-core-java/jd-core-java-1.2.jar $outputDir /output.jar $outputDir /src
91+ if [[ " $generateProject " == true ]];
92+ then
93+ java -jar $DOE /jd-core-java/jd-core-java-1.2.jar $outputDir /output.jar $outputDir
94+ else
95+ java -jar $DOE /jd-core-java/jd-core-java-1.2.jar $outputDir /output.jar $outputDir /src
96+ fi
7497rm $outputDir /output.jar
7598
7699# Extract all resources from the APK and remove all the unnecessary files from the output
@@ -79,8 +102,21 @@ java -jar $DOE/apktool/apktool.jar decode -f $apkfile $resOutputDir
79102rm -Rf $resOutputDir /smali
80103rm $resOutputDir /apktool.yml
81104
82- # Move the resource-output to output directory
83- mv $resOutputDir /* $outputDir
105+ if [[ " $generateProject " == true ]];
106+ then
107+ # Move the resource-output to correct project directory
108+ mv $resOutputDir /* $baseOutputDir /$moduleName /src/main/
109+ else
110+ # Move the resource-output to output directory
111+ mv $resOutputDir /* $outputDir
112+ fi
84113rm -Rf $resOutputDir
85114
115+ if [[ " $generateProject " == true ]];
116+ then
117+ cp $DOE /files/project/* $baseOutputDir /
118+ cp $DOE /files/wrapper/* $baseOutputDir /gradle/wrapper
119+ cp $DOE /files/module/* $baseOutputDir /$moduleName
120+ fi
121+
86122exit ;
0 commit comments