【发布时间】:2015-05-12 09:22:37
【问题描述】:
我使用以下代码将我的类动态加载到 android 应用程序。 (注:加载成功)
File file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
String fileInput = file.getAbsolutePath() + "/file.jar";
File optimizedDexOutputPath = activity.getDir("dex", Context.MODE_PRIVATE);
String fileOutput = optimizedDexOutputPath.getAbsolutePath();
DexClassLoader classLoader = new DexClassLoader(fileInput, fileOutput, null, getClass().getClassLoader());
try {
Class<?> helloClass = classLoader.loadClass("HelloClass");
Toast.makeText(activity, "Loaded success: " + helloClass.toString(), Toast.LENGTH_SHORT).show();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
我有以下cordova config.xml:
<feature name="HelloClass">
<param name="android-package" value="HelloClass" />
</feature>
当我从 javascript 调用执行方法时,出现以下错误。
05-12 18:06:19.180: W/System.err(17862): java.lang.ClassNotFoundException: HelloClass 05-12 18:06:19.180: W/System.err(17862): 由: java.lang.NoClassDefFoundError: HelloClass 05-12 18:06:19.180: W/System.err(17862): ... 13 更多 05-12 18:06:19.190:W/System.err(17862):原因:java.lang.ClassNotFoundException:在路径上找不到类“HelloClass”:/data/app/sandbox.apk
我想知道这里出了什么问题。非常感谢任何帮助。
【问题讨论】:
标签: java android cordova cordova-plugins