- 补充1: 升级AndroidStudiu4.1后,smaliIdea插件直接无法安装,慎重安装…
- 补充2: 发现smaliidea插件调试的时候寄存器的值看不到值,问题在idea的版本兼容 , (经测试idea2019.3版本大体没有问题,但是有一个小小的问题,查看静态函数的寄存器,出现不准确的问题,大家如果有更兼容的版本,可以评论区告诉我们, 谢谢)
- 补充3: 调试的时候发现map结构看不到,设置SDK可以解决问题
- 补充3: smaliIdea已经迁移到github, 并出来0.06版本链接地址
问题
升级idea或者AndroidStudio之后,smali工程语法报错并且没法调试,(具体到androidstudio4.0 , idea2019.3月份版本)
原因
- 正常情况我们是用的smaliidea这个插件来识别smali,
- 新版本后IntelliJIdea增加了一个默认的smali插件,可以在plugin找到这个插件,名为:smali support,并且默认*.smali的文件使用这个插件,导致我们的插件没有生效(注意:这个插件不能干掉他,AndroidStudio在启动的时候会检查这个插件,如果没有就会报错,那么就尴尬了,然后就一直启动不了,IntelliJIdea是没有问题的)
解决方案
- 先安装smaliidea插件:
下载地址:https://bitbucket.org/JesusFreke/smali/downloads/ - 然后在Android Studio -> Preference(windows是File -> setting) -> Editor -> file Types 里面找smali ,会发现有两个,然后改成下图这样,(去掉自带的*.smali,给smaliidea的加上*.smali)就可以了