java jar apktool,gradle 构建apktool.jar

apktool由gradle编译构建,但在apktool源码根目录运行gradle build, 没有生成apktool.jar,

basmali.jar, smali.jar 倒是生成了,后看apktool.jar的入口在brut.apktool/apktool-cli目录下

看gradle脚本:

16 apply plugin: ‘eu.appsatori.fatjar‘

17

18 configurations {

19     proguard

20 }

21

22 dependencies {

23   compile project(‘:brut.apktool:apktool-lib‘)

24   proguard depends.proguard

25 }

26

27 gradle.taskGraph.whenReady {

28   fatJar {

29     manifest {

30       attributes("Main-Class": "brut.apktool.Main")

31     }

32   }

33 }

34

35 task cleanOutputDirectory(type: Delete) {

36     delete fileTree(dir: jar.destinationDir.getPath(), exclude: "apktool-cli.jar")

37 }

38

39 task proguard(type: JavaExec, dependsOn: fatJar) {

40     def outFile = jar.destinationDir.getPath() + ‘/‘ + "apktool" + ‘-‘ + project.apktool_version + ‘-small‘ + ‘.‘ + jar.extension

41     inputs.file jar.archivePath

42     outputs.file outFile

43

44     println "${jar.archivePath}"

45     println "${outFile}"

46     classpath = configurations.proguard

47     main = ‘proguard.ProGuard‘

48     args ‘-injars ‘ + "${jar.archivePath}" + ‘ (!META-INF/LICENSE.txt,!META-INF/NOTICE.txt,!README)‘

49     args "-outjars ${outFile}"

50     args "-libraryjars ${System.properties[‘java.home‘]}/lib/rt.jar"

51     args ‘-dontobfuscate

52     args ‘-dontoptimize‘

53     args ‘-keep public class brut.apktool.Main { public static void main(java.lang.String[]); }‘

54     args ‘-keep class org.yaml.snakeyaml.** { public protected private *; }‘

55     args ‘-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); }‘

56     args ‘-dontwarn com.google.common.base.**‘

57     args ‘-dontwarn com.google.common.collect.**‘

58     args ‘-dontwarn com.google.common.util.**‘

59     args ‘-dontwarn javax.xml.xpath.**‘

60     args ‘-dontnote **‘

61 }

62

63 proguard.dependsOn cleanOutputDirectory

64 tasks.getByPath(‘:release‘).dependsOn(proguard)

task生成相应的jar, 怀疑这个task没有默认执行

敲gradle proguard

果然生成的我们需要的东西。

apktool-2.0.0-dirty-small.jar

原文:http://blog.csdn.net/oman111/article/details/41866695

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值