Androidアプリのクラッシュ - ClassNotFoundExceptionが
IDEAは選択の私の武器です:)これは、数日間、私は怒っ運転されています。レイアウトを調整するという些細な変更(または私が思った)の編集セッション中に、ボタンを数ピクセル左に並べるなどしてプロジェクトをコンパイルして実行しました。私は、アプリケーションが起動すると、ClassNotFoundExceptionを取得しました。 java.lang.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台の電話機、2.3のDesire、2.2のTmobile Pulse(Huawei)を持っています。電話機とエミュレータの両方で発生します。 IDEの外で(つまりランチャーから)アプリを実行すると正常に動作します。
私はこれらの仮定を行います。
- logcatで何もないとして、それはプロジェクトがEclipseで正常に動作しますように、私は私のマニフェストとアプリケーションクラスであることを仮定しているプラットフォームのバグ
- のようなにおい良い。
私も
<application android:name=".Rands"
どれでも手がかりを試してみましたか?
乾杯
あなた持つアプリケーションアンドロイド:名= "rands.mycompany.com.Rands" と活動アンドロイド:名= "rands.mycompany.com.Rands"?どうやって? –
本当に問題ではない@appserv。 私は更新を提案し、きれいに再構築し、閉じるとeclipseを再起動します。電話からアプリを削除してもう一度お試しください。 – Warpzit
申し訳ありませんが、それはタイプミスでした。機密保持のためにアプリ名と会社名を手動で変更しました(私は他の誰かのために働いています)。投稿を編集しました。 – Simon