10

同様の問題を報告しているスレッドをいくつか見つけましたが、まだ試したことのないものを実際に提供しているものはありません

無実のそのような呼び出し:

mActivity.startActivity(new Intent(mActivity, MyEditPreferences.class));

AndroidManifest.xml で次のように指定します。

 <application>
    <activity android:name="MyActivityLib" />
    <activity android:name="com.example.baseapp.MyEditPreferences" android:label="@string/app_name">
    </activity>
 </application>

次の例外をトリガーします。

06-14 14:06:50.297: ERROR/AndroidRuntime(9272): 
android.content.ActivityNotFoundException: Unable to find explicit activity class
{com.example.baseapp.paypal/com.example.baseapp.MyEditPreferences};
have you declared this activity in your AndroidManifest.xml?

問題は、モノリシック アプリケーション プロジェクトから、ライブラリ プロジェクトとアプリケーション プロジェクトで構成される 2 部構成のプロジェクトに変更する前に、このコードは問題なく動作していたことです。

AndroidManifest.xml は、ライブラリプロジェクト内のものです。

これを解消するにはどうすればよいActivityNotFoundExceptionですか?

4

5 に答える 5

14

問題を解決しました。

私がしなければならなかったのは、FQN をアプリケーションプロジェクトのに追加することだけでしたAndroidManifest.xml

<activity android:name="com.example.baseapp.MyEditPreferences"
          android:label="com.example.baseapp.MyActivityLib:string/app_name">
</activity>

MyEditPreferences実際、Libraryプロジェクトの参照を完全に削除しましたが、AndroidManifest.xmlそれでも機能します。

また、元の startActivity 1 行のステートメントでも機能します。

mActivity.startActivity(new Intent(mActivity, MyEditPreferences.class));

結論:AndroidManifest.xml重要なのはアプリケーションであり、ライブラリではありません。

于 2011-06-14T20:04:31.550 に答える
-1

これが非常に古いスレッドであることは知っていますが、同じ問題が発生しました。私の場合、私がしなければならなかったのは、スプリアスを削除することだけでした

import java.util.prefs.Preferences;
于 2013-05-14T03:47:53.220 に答える