欢迎光临散文网 会员登陆 & 注册

关于luaj库的二改

2022-09-10 13:18 作者:hhsixhhwkhxh  | 我要投稿

     修改好的库不会无故找不到class抛异常了

下载链接:https://wwu.lanzoul.com/iOhoI0bekbzc

密码:873t

     下面是修改过程

    CSDN文章(https://blog.csdn.net/linshuhe1/article/details/69581584/)中提供了luaj库的官方下载链接以及用法。

https://blog.csdn.net/linshuhe1/article/details/69581584/的截图

    但文章提供的lua中调用java静态方法的实例却一直报ClassNotFoundException

崩溃日志

   我去百度上以“luaj” “classnotfound”为关键词搜索 几经周折 找到了解决方法。

https://blog.csdn.net/lazybiu/article/details/88980518

    这里提到,只要修改org.luaj.vm2.lib.jse下的Luajava中的ClassForName方法的return的内容即可。

    然而jar包中的类都是.class后缀名 我不会改

    即使直接改luaj项目源码 也不会打包jar

     但是,AIDE在构建项目是会把项目里的jar先转为dex

/storage/emulated/0/AppProjects/你的项目/app/build/bin/jardex/

    依照目录打开LuajavaLib,跳转到Classforname方法

修改前classforname方法smali代码截图
修改前classforname方法java代码截图

    我们要把return Class.forName(str, true, ClassLoader.getSystemClassLoader());改成return Class.forName(str);

修改后classforname方法smali代码截图
修改后classforname方法java代码截图

    改好后,利用mt管理器的dex转jar的功能转成jar包 复制来原包里的META-INF文件夹 至此大功告成

关于luaj库的二改的评论 (共 条)

分享到微博请遵守国家法律