【问题标题】:Error NullPointerException when running an altered version of an Android Project运行 Android 项目的更改版本时出现错误 NullPointerException
【发布时间】:2011-11-03 18:58:53
【问题描述】:

我有这个Android程序运行良好,名为TestePHP2(主类名称),包com.testedeacesso.www。运行稳定,运行完美。

我已经克隆了这个项目的文件夹以开始对其进行升级。在将其导入 Eclipse 后,我将其命名为 TesteTempo01 - 选项“来自现有项目”(是的,我使用折射器更改了类名并检查了“更新引用”)。我如前所述修改了这个程序的主类并添加了一些代码,但我保持包名相同,以及程序中的其他类。

但是,当我尝试运行此程序时,出现“找不到主要活动”错误。在搜索了我的代码后,我发现清单上有一个对 TestePHP2 的引用,而我之前没有更改过。作为参考,这是 Android Manifest XML 上的一行:

> <activity android:name="com.testedeacesso2.www.TesteTempo01"
>                   android:label="@string/app_name">

在此之后,我不断收到 NullPointerException,因为该类找不到主类!我搜索了整个代码,但没有找到对旧类的其他引用。我忘记了什么吗?我是否需要更改其他内容才能更改此类的名称?或者导入只能使用原始类名?

【问题讨论】:

    标签: android eclipse import


    【解决方案1】:

    您说包是“com.testedeacesso.www”,但是当您引用该类时,它是“com.testedeacesso2.www”。我猜你的类/包引用有问题。

    【讨论】:

    • 你是对的,但既然你提到了它,我没有更改包名称,所以 com.testedeacesso2.www 是正确的名称 - 既适用于有效的包,也适用于这个新的包。引起我注意的一件事是我的程序的 R 类位于一个完全不同的包中 - com.testepaginaphp.www。这会以某种方式干扰这个问题吗?
    • 当然。我们之前必须更改应用程序的包名称。它在不同的包中生成“R”。您需要确保您的应用程序导入语句反映了这一点,否则它们将无法编译。不过,除此之外,它应该不会造成太大的麻烦。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-30
    • 2021-07-19
    • 2021-06-19
    • 2020-11-16
    • 2018-05-23
    • 1970-01-01
    相关资源
    最近更新 更多