2
的NameNotFoundException好的
...它更可能是我的錯;)ActionBarActivity&ActivityUnitTest -
當我這樣做:
public class XmlLifecycleTests extends ActivityUnitTestCase<Main> {
...
(not in setUp)
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setPackage(APP_PACKAGE);
intent.setClassName(APP_PACKAGE, ".gui.Main");
startActivity(intent, null, null);
我得到:
java.lang.IllegalArgumentException: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{ar.android.app.gui/ar.android.app.gui.GLarmMain}
at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:282)
at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:119)
at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
at ar.android.app.gui.Main.onCreate(Main.java:78)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.test.ActivityUnitTestCase.startActivity(ActivityUnitTestCase.java:158)
注意,我主活動在.gui下定義,而清單中的主包是一個文件夾,這就是爲什麼我在意圖中指定了所有內容。但引發的錯誤似乎仍然得到錯誤的(Package,Class)名稱對。
發生在我身上的是:我在工作應用程序中有一個活動A.我有一個活動B,它在最簡單的應用程序中擴展了A。我正在使用ActivityUnitTestCase來測試活動B,但是我的junit測試應用程序中沒有將活動B添加到我的清單文件中。添加它並且PackageManager $ NameNotFoundException消失。 – flobacca