前置
預覽
代碼
def deleteFile(def name){
def classFile=new File("${name}.class")
if(classFile.exists()){
classFile.delete()
}
def dexFile=new File("${name}.dex")
if(dexFile.exists()){
dexFile.delete()
}
}
def java2smali(def name){
def dxPath='/Users/cq/Library/Android/sdk/build-tools/28.0.3/dx'
def baksmaliPath='./smali/baksmali'
def cmd2class="javac ${name}.java"
def proc2class=cmd2class.execute()
proc2class.waitFor()
def cmd2dex="${dxPath} --dex --output=${name}.dex ${name}.class"
def proc2dex=cmd2dex.execute()
proc2dex.waitFor()
def cmd2smali="${baksmaliPath} d ${name}.dex -o ./"
def proc2smali=cmd2smali.execute()
proc2smali.waitFor()
deleteFile(name)
}
java2smali('HelloWorld')
複製代碼