这让我疯了几天:)
IDEA是我的首选武器。在一个编辑过程中,无关紧要的改变(或者我认为)调整布局,轻推按钮几个像素留下排队等我编译并运行项目。我的应用程序启动时出现了ClassNotFoundException。它由java.lang.Bootloader抛出。我在调用Bootloader时设置了一个断点,可以看到违规类是我的主要应用程序类。这是它的外观:
public class Rands extends Application{
public static SharedPreferences preferences;
private static ArrayList<Favourite> favourites;
private static Rands instance;
public Rands(){
instance = this;
}
并在清单中:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="rands.mycompany.com"
android:installLocation="preferExternal"
android:versionCode="8"
android:versionName="0.8">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.VIBRATE" />
<application android:name="rands.mycompany.com.Rands"
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name="rands.mycompany.com.RandsMainActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="rands.mycompany.com.MainMenuActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="MainMenuActivity"/>
这是事情变得时髦的地方。在logcat中没有任何相关性。我看到应用程序复制,安装和启动然后我得到例外。在我的应用程序类的构造函数被调用之前发生异常。如果我在Eclipse中加载项目,它可以正常工作。我加载回IDEA,我得到了例外。我有两部手机,一部带有2.3的Desire和一部带2.2的Tmobile Pulse(华为)。它发生在手机和模拟器中。如果我在IDE外部(即从启动器)运行应用程序,它运行正常。
我做出这些假设:
我也试过
<application android:name=".Rands"
任何线索?
干杯
答案 0 :(得分:1)
我在Eclipse中完成了我的项目,然后又回到了这个奇怪的问题。
我不知道为什么,但是立即从现有资源中创建一个新项目。
我将项目文件夹移出我的工作区,除了我的src和res文件夹(没有资产)之外删除了所有内容,然后清单从现有源创建了一个新项目。
去图......
答案 1 :(得分:0)
您已在清单标记中指定了包名称,因此请勿在活动代码中重新声明它,以下代码适用于清单。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="rands.mycompany.com"
android:installLocation="preferExternal"
android:versionCode="8"
android:versionName="0.8">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.VIBRATE" />
<application android:name="rands.mycompany.com.Rands"
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name=".Rands"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainMenuActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="MainMenuActivity"/>
答案 2 :(得分:0)
您的应用程序和活动对象都被命名为“rands.mycompany.com.Rands”,这可能就是问题吗?