程序员需要跨过山河大海,哪有没有走过的坑。一直想学习一下滴滴的插件化,一直没有时间,今天抽空弄了一下,还是有一些细节,对于没弄过的新手来说,是一些坑。我就按照我的操作步骤,说明一下,我想基本上能让大家不再烦恼。网上有很多先驱者的分享,但是我觉得,没那么详细。
首先,当然需要一份demo代码,直接从github上下载(感谢github,感谢滴滴!)。具体介绍这个开源项目的,我这边先不多做说明,网上太多了。
用as打开,目录如下
主工程目录为了方便,我用as再次打开这个项目。
插件工程目录主工程目录,也就是宿主工程,正常像一个apk打包安装或者直接运行安装。运行之后,页面如下
激动点击加载插件,发现提示如下,
没有对应的apk插件,那么怎么得到这个apk插件,直接对插件工程打包安装,放入sdk目录中?当然不行,项目会报错“You need to use a Theme.AppCompat theme”。我们只能通过命令打包,gradle clean assemblePlugin命令,那么这个命令在哪里执行了?只能在插件工程里面,因为只有他才有这个task。
执行这个命令之前,有几个细节需要注意,最主要的就是插件工程的app目录下的build.gradle文件中的配置,需要如下配置
然后重新编译宿主工程,一切顺利,build目录如下
这个时候,我们可以执行命令了,但是,可能会有出现一个新的问题。“Error: could not find jdk tools.jar”。我的解决方案,简单粗暴,我直接把JDK文件夹下lib中的tools.jar复制到了jre\lib下。
然后再次重新执行命令,就OK了。
拿到这个apk包,放到手机的根目录下面,重新命名成Test.apk,然后再次点击加载插件,就OK了。
可以进一步学习时间virtualapk,再次感谢滴滴的分享,祝大家学习顺利。后续弄清楚原理,后面自己的项目就可以直接上了。
网友评论