手写了个热更新的demo,有兴趣的朋友可以去看看
https://gitee.com/iblue007/SmartPluginableHotFixhttps://gitee.com/iblue007/SmartPluginableHotFix
热更新的时候需要自己生成dex文件,这边需要将.java文件转化为.class文件,然后将.class文件再转化为.dex文件,步骤如下:
点击Build -->Rebuild project,点击完成后需要打包成jar 的class文件会在下面所示的目录中显示,指出的就是我们需要打包的class文件,生成的class文件在app/build/intermediates/Javac中
.class生成dex 需要用到androidstudio 支持的dx.bat ,我们找到android SDK 目录下的
build-tools文件目录。
打开cmd 运行 命令进入到该文件夹路径:
dx --dex --output 生成dex以后保存的路径和dex名称 class文件所在的目录
例如:我生成dex文件要保存在项目的build/patch文件目录中,而class则是之前编译的时候存在app/build/intermediates/Javac中
这时候报了does not match path错误。其实路径目录都对。但是编译器就是通不过。
这时候只要在--dex 后面加上--no-strict 就可以了。
让编译器监测不那么严格。
如下:dx --dex --no-strict --output
编译通过,成功生成dex文件,开熏,哈哈哈哈