如何解决ByteBuddy如何在Android中创建另一个ByteBuddy创建的类的子类?
我正在使用byte-buddy:1.10.17
和byte-buddy-android:1.10.17
为Android编写Java代码来动态创建类。我想动态创建一个类,该类将是另一个动态创建的类的子类。
这是我想要做的示例代码
AndroidClassLoadingStrategy loadingStrategy = new AndroidClassLoadingStrategy.Wrapping(context.getCacheDir());
DynamicType.Builder builder = new ByteBuddy().subclass(Object.class).name("TestParentClass");
Class testParentClass = builder.make().load(Test.class.getClassLoader(),loadingStrategy).getLoaded();
builder = new ByteBuddy().subclass(testParentClass).name("TestChildClass");
Class testChildClass = builder.make().load(Test.class.getClassLoader(),loadingStrategy).getLoaded();
但是创建子类时我得到Caused by: java.lang.classNotFoundException: Didn't find class "TestParentClass"
。
我也检查了this question,但它根本不起作用。
解决方法
不要使用Test的类加载器。那将在您的类路径中寻找一个类文件。动态类TestParentClass将没有任何对象。而是从TestParentClass获取类加载器:
$.extend($.fn.dataTable.defaults,{
serverSide: false,});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。