IDEA编译smalidea源码

插件开发官方网站:http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started.html


下载smalidea源码 (需要从分支才能下载到)

git clone https://bitbucket.org/JesusFreke/smali.git -b smalidea

或者

git clone https://github.com/JesusFreke/smali.git -b smalidea


下载完成后,在执行git clone命令的目录下新增加一个smali目录,目录内容如图:

导入idea

打开Terminal,准备创建idea配置文件

cd smali 进入目录

gradle idea 下载所需依赖并创建idea项目文件,如果没有安装gradle,则将gradle 换成 ./gradlew,这个脚本会自动下载gradle

完成后用idea打开项目:

->打开idea
->Open
->选择smali目录

成功后如图:

smalidea显示的是插件的图标


修改SDK为intelij SDK

选中项目,右键Open Module Settings -> Modules -> smalidea -> Module SDK -> New... 按钮选择InteliJ Platform Plugin SDK,选择idea所在目录,确定后如图:


根据idea版本的不同,sdk显示的内容也不同。


添加jdi支持(蓝色高亮部分是关键)


将tools.jar添加到intelij sdk的classpath中。


添加idea源码目录

为了增强调试,可以添加idea的源码目录


转换源码

调用antlr和jflex将smaliParser.g smaliTreeWalker.g smaliLexer.jflex expectedTokensTestGrammer.g smalideaParser.g转为java源码

在之前打开的Terminal中依次输入:

gradle generateTestGrammarSource

gradle generateGrammarSource

gradle generateJFlexSource

gradle generateParserAntlrSource

指令完成后将smali模块中生成的java目录设置为源码目录:

将build->generated-src->antlr和jflex->main和test目录 右键Mark Directory As -> Sources Root


配置完成后开始编译

在Project中选中smalidea项,在Build菜单中选择Prepare Plugin Module 'smalidea' For Deployment开始编译,成功后如图:







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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值