My Avatar

omxian

好好学习,天天向上

4-Jar In Unity 编译&构建

2018年11月23日 星期五, 发表于 深圳

如果你对本文有任何的建议或者疑问, 可以在 这里给我提 Issues, 谢谢! :)

因为工具需要维护一个没有工程的Jar文件,因此了解了下Jar包的构建与反编译。 注意如果你的Unity版本是2018或以上的话不需要这么干了,直接将对应的java文件放入工程即可调用。

反编译Jar文件

下载jd-gui将Jar文件拖入其中,顺利的话就可以看到代码了。

构建

  1. 打开Android Studio点击 File/New/New Moudule… 新建一个模块
  2. 在File/Project Structure… 选择对应模块的Dependencies下添加Unity classes.jar文件的引用(位于Unity安装目录的 Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes\ 文件夹下)
  3. 添加要执行的脚本
  4. 构建(三种方式)
    • Build/Make Module 可以在\build\intermediates\packaged-classes\debug\下找到classes.jar 这个文件就是构建出来的Jar文件,构建出来的似乎是一个Debug版本,但是可以用。
    • 在terminal执行gradlew clean build,可以在\build\intermediates\intermediate-jars\release找到classes.jar,release版本。
    • 也可以使用终端的 gradlew makeJar1命令执行写在对应build.gradle的的脚本
       taskmakeJar(type:Copy) {
        delete'build/libs/YYCUtil.jar'
        from('build/intermediates/intermediate-jars/release/')
        into('build/libs/')
        include('classes.jar')
        rename('classes.jar','YYCUtil.jar')
       }
       makeJar.dependsOn(build)
      

      这个Jar就会在build/libs/ 下出现,仔细观察其实就是执行自动化脚本,挪动构建完的jar到指定目录,release版本。