Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android—无法实例化活动—ClassNotFound—在一个eclipse上失败,但在另一个eclipse上失败_Java_Android_Eclipse_Manifest_Classnotfoundexception - Fatal编程技术网

Java android—无法实例化活动—ClassNotFound—在一个eclipse上失败,但在另一个eclipse上失败

Java android—无法实例化活动—ClassNotFound—在一个eclipse上失败,但在另一个eclipse上失败,java,android,eclipse,manifest,classnotfoundexception,Java,Android,Eclipse,Manifest,Classnotfoundexception,当我尝试加载程序时,收到“无法实例化活动”错误。有一件事让我感到困惑,那就是我的旧电脑上的代码完全相同。我刚刚用新的eclipse/android SDK/等构建了一个新的。我有两台机器运行相同的代码,一台运行正常,另一台给出了这个错误 有什么想法吗 编辑: 我在书堆中注意到的一件事是 原因:java.lang.ClassNotFoundException:com.voldaran.puzzle.graBLOX.popLoader dalvik.system.PathClassLoader[/d

当我尝试加载程序时,收到“无法实例化活动”错误。有一件事让我感到困惑,那就是我的旧电脑上的代码完全相同。我刚刚用新的eclipse/android SDK/等构建了一个新的。我有两台机器运行相同的代码,一台运行正常,另一台给出了这个错误

有什么想法吗

编辑: 我在书堆中注意到的一件事是

原因:java.lang.ClassNotFoundException:com.voldaran.puzzle.graBLOX.popLoader dalvik.system.PathClassLoader[/data/app/com.voldaran.puzzle.graBLOX-2.apk]中的活动

它列出了graBLOX-2.apk。为什么要使用“-2.apk”

当我在工作机器上手动复制此错误时,它不会显示最后[]d部分

安卓清单

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".PopActivity"
              android:label="@string/app_name"
              android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
              android:finishOnTaskLaunch="true"
              android:configChanges="orientation|keyboardHidden"
              android:screenOrientation="portrait"
              >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

试试这个。在
PopActivity
中添加这段代码,并从其默认构造函数中调用此函数

private static void fixClassLoaderIssue()
{
ClassLoader myClassLoader = MyClass.class.getClassLoader();
Thread.currentThread().setContextClassLoader(myClassLoader);
}  
我有一个类似的问题,这解决了它。现在这个解决方案并不能真正回答问题存在的原因,但我真的无法找到答案。

参考检查答案。

您是否尝试了项目清理?这通常可以解决我的类加载器问题。

我也遇到了几乎相同的情况(项目最初在32位机器上完成,然后导入到另一台64位机器上)

在Eclipse Juno(64位)下的Android项目中:

  • 在“项目资源管理器”中的项目上单击鼠标右键,然后选择“属性”
  • 在左侧列表中选择“Java构建路径”
  • 点击“订单和出口”选项卡
  • 分别标记“Android私有库”和“Android依赖项”的两个复选框,然后单击OK按钮
  • 清理项目并运行

在我的例子中,AndroidManifest文件中的包名是错误的

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    *package="com.app"*
    android:versionCode="1"
    android:versionName="1.0" >


所以我添加了这个,public PopActivity(){fixClassLoaderIssue();}似乎并没有解决这个问题?嗯……应该解决了。您能通过在构造函数中添加log语句来确定它是否被调用吗?它很可能会被调用,但只是为了确保。我在fixClassLoaderIssue()之前添加了日志,但它不显示日志。堆栈说它是由ClassNotFoundException引起的,因此从未真正调用过该类?这很奇怪。您是否尝试清理项目并重建它?转到“项目”菜单选项并选择“清理”。只有大约100次,:)这段代码在我的另一台机器上运行良好,这是一个发布的应用程序,在每台设备上都运行良好。只是我创建的这个新公司给了我这个错误。请告诉我们更多关于你的两台电脑的设置:1)它们使用的是相同版本的andriod sdk吗?2) 你有没有确定其他的Android项目会在你的新机器上正常运行?3) 这仅仅是一个简单的andriod项目,还是取决于您的Android库项目?4) 它是否依赖于第三方库,并且两台机器上的库是否相同?5) 还要确保这两台机器上的所有版本都相同:32位或64位发行版。它当前使用的机器运行的是旧版本的eclipse和ADT(15.00)。在旧机器上将eclipse和ADT更新到最新版本后,它现在无法在这两台机器上工作。我能够在两台机器上运行一个非常简单的测试程序,但不是我的实际项目。一台机器是64位的,另一台是32位的。但考虑到它们现在都不起作用,我相信这是因为Eclipse的更新或ADT。虽然我不确定这可能是什么,但我只是运行了一个测试,删除了manifest.xml中的所有内容,并将其替换为非常简单的工作项目,并将其指向一个愚蠢的活动,它仍然会出现此错误。是否有一些配置在某个地方不好?我已经尝试过重建.project和.classpathWell,一个建议是一点一点地启动和构建应用程序,并尝试看看是什么导致了问题。希望它不是那么复杂,也不会花你那么长时间…这正是我所做的,一块一块地构建它。没有改变我能说的任何事情,它起了作用。因此,也许它与使用旧的ADT和eclipse并将其引入新的ADT和eclipse有关。不管怎样,它现在运行良好。谢谢大家的帮助。我也遇到了同样的问题,这也帮了我的忙。还是很好奇两天前发生了什么变化,但现在已经修复了,所以我很高兴。是的,确认了。这是一种比到处用类加载器混乱代码更优雅的解决方案
<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    *package="com.app"*
    android:versionCode="1"
    android:versionName="1.0" >