我试图从服务器加载一个类文件并使用它来实例化它 不同的班级装载机,但没有成功。
我尝试了DexClassLoader
,URLClassLoader
和PathClassLoader
。无论我做什么,我唯一得到的是来自ClassNotFoundException
方法的loadClass
。
我要做的第一件事就是下载:
并将其存储到应用程序专用存储文件夹中。然后我尝试使用上面提到的ClassLoader
实现之一加载该类,导致:
错误:java.lang.ClassNotFoundException:没找到类 " FormTestView"在路径上:DexPathList [[zip文件 " /数据/数据/ [PACKAGE_NAME] /app_test_folder/test.jar"],nativeLibraryDirectories = [/供应商/ lib中, /系统/ lib中]]
有什么想法吗?
答案 0 :(得分:0)
您是否在android-sdks / build-tools中使用dx工具转换了.jar文件?
如果您没有尝试,请使用以下命令:
./dx --dex --output yourJarDexConverted.jar yourJar.jar
生成的yourJarDexConverted.jar文件包含classes.dex,这是一个加密文件,包含分发为jar的应用程序所需的所有java类。