3

Android - 次のように、jar ファイルを ClassLoader に動的に追加します。

String strJarfile = "/data/data/com.example.classloader/files/apps/Calc/SumAndSub.jar";    
URLClassLoader sysloader = (URLClassLoader) ClassLoader
                .getSystemClassLoader();
        try
        {
            File f = new File(strJarfile);
            URL u = f.toURI().toURL();

            Class[] parameters = new Class[] { URL.class };
            Method method = URLClassLoader.class.getDeclaredMethod("addURL",
                    parameters);
            method.setAccessible(true);
            method.invoke(sysloader, new Object[] { u });
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }

そして、エラー:

Caused by: java.lang.ClassCastException: dalvik.system.PathClassLoader cannot be cast to java.net.URLClassLoader

このコードは、java-core では正常に機能しますが、android では機能しません。解決策とは?ありがとう、

4

3 に答える 3