为什么ClassLoader.loadClass总是在android中抛出ClassNotFoundException?

时间:2014-03-08 16:30:51

标签: android classloader

看看:

    Context contxt  = createPackageContext("com.exam.provider", CONTEXT_IGNORE_SECURITY); // I know, the package must be (and IS) already installed ;-)

    ClassLoader loader = contxt.getClassLoader();
    loader.loadClass("com.exam.provider.MyGestureOverlayView"); // I'm sure this class DOES exist in "com.exam.provider"

但是这段代码总是抛出java.lang.ClassNotFoundException。同样注意两个Android应用程序通过以下方式共享相同的用户ID:

    <manifest
        ...
        android:sharedUserId="whatever"
        ...
    >

我完全感到沮丧。有什么想法吗?

3 个答案:

答案 0 :(得分:3)

如果我只是在调用createPackageContext时添加CONTEXT_INCLUDE_CODE标志,那么您的代码可以正常工作。

答案 1 :(得分:0)

编译时或运行时的错误

这里的'ClassNotFoundException'可能是因为在运行时找不到包。 {成功编译后}

答案 2 :(得分:0)

从设备或模拟器中卸载应用程序首先解决了这个问题。