2012-05-05 191 views
0

我刚创建应用程序后更改了主要活动名称,并在Manifest文件中对其进行了更新。但现在这个应用程序正在建设中没有任何错误,它一点也没有启动。下面是我得到在输出文摘应用程序未启动

[2012-05-05 21点32分12秒 - 测试]执行同步[2012-05-05 21时32分12秒 - 测试]自动目标模式:首选AVD 'Test_G'在仿真器'emulator-5554'上可用[2012-05-05 21:32:12 - 测试]将Test.apk上载到设备'emulator-5554'[2012-05-05 21:32 :12 - 测试]安装Test.apk ... [2012-05-05 21:32:15 - 测试]成功! [2012-05-05 21:32:16 - 测试] \ Test \ binTest.apk安装在设备上 [2012-05-05 21:32:16 - 测试]完成!

如何解决这个

的Manifest.xml

?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="Test" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="8" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity android:name="contactListTab"></activity> 
    </application> 

</manifest> 
+0

你可以发布android清单文件吗?这些信息表明您的应用正在启动。 –

+0

清单文件添加..请看看它 – Naruto

回答

1

您尚未提供意向类别。尝试添加

<intent-filter> 
<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

之间的活动标签!

+0

是的,你是对的。我做了,但我的应用程序开始工作只追加。 (点)进行活动。为什么这样?...请参考下面的回答我的评论,并给我提供理由 – Naruto

+0

点是一个shorform。你可以写“package.name.Activity”或者只是使用“。活动“,以便操作系统知道它需要执行哪个文件 – Shobhit

+0

哦,谢谢你.. – Naruto

0
package="Test" 

相反的Test,把您的活动所在的包。另外请确保contactListTab是您的Activity

我建议你在res/strings.xml文件中声明这样的字符串,而不是在这里。这种方式改变他们更容易。

+0

追加后(点)到我的活动并添加<意图过滤器> 。<操作机器人:名字=“android.intent.action.MAIN” /> <类别的Android :name =“android.intent.category.LAUNCHER”/> 它开始工作的代码行 但是为什么不能使用默认的编辑器放这些?...为什么这个点是必需的? – Naruto

+0

该点是完整软件包名称的缩写,因此您不必再次明确键入它。我不信任xml gui编辑器 - 你可以让它尝试添加东西,但如果它破坏了某些东西,可能需要手动编辑实际的xml代码。 –

1

您的活动声明并不是说它应该是应用程序开始执行此操作后应该打开的第一个活动,您必须添加意图过滤器并且您的活动名称应该是。因为它是包中的一个java文件。正如在其他答案中提到的,您必须将设置为您应用的软件包名称。

试着改变你的清单,以这样的:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="-->PACKAGE NAME<--" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="8" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity android:name=".contactListTab"> 
     <intent-filter > 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     </activity> 
    </application> 

</manifest> 

确保activityname是contactListTab!

+0

为什么它需要追加点活动名称,即为什么.contactListTab,而不是我们可以简单地写contactListTab。但它不工作..可能我请详细了解原因 – Naruto

+0

该点用于定义您在应用程序的Android程序包中使用的文件,也可能位于另一个可能具有其他名称的程序包中。 –