2011-08-23 68 views
9

我在我的android應用程序中有兩個包。如何更何況那些不同的封裝,其在Android清單文件活動沿着?在我的代碼我已經給出如何在Android清單文件中聲明兩個包含其活動的包?

<manifest package="com.tabwidget"> 
    <application> 
     <activity android:name=".com.tabwidget.Tab"></activity> 
     <activity android:name=".com.tabwidget.TabHostProvider"></activity> 
     <activity android:name=".com.tabwidget.TabView"></activity> 
    </application> 
</manifest>     
<manifest package="com.kpbird.tabbarcontrol"> 
    <application> 
     <activity android:name=".com.kpbird.tabbarcontrol.TabbarView"></activity> 
    </application> 
</manifest> 

但我得到的例外無法找到明確的活動類..........我錯在哪裏?請幫我...........

回答

16

看來你已經在XML犯了一些錯誤:

<manifest package="com.tabwidget"> 
    <application> 

     1) BELOW: starting the names by "." means that 
     you are implicitely extending the package prefix defined in the package 
     attribute of the manifest XML tag. 
     For example, if your package is "com.tabwidget", defining".MyActivity" 
     will be interpreted as "com.tabwidget.MyActivity" 
     By removing the first ".", you use an explicit notation instead: 
     whatever your package is, "com.tabwidget.MyActivity" is interpreted 
     as "com.tabwidget.MyActivity" 
     <activity android:name=".com.tabwidget.Tab"></activity> 
     <activity android:name=".com.tabwidget.TabHostProvider"></activity> 
     <activity android:name=".com.tabwidget.TabView"></activity> 
    </application> 
</manifest>     

2) BELOW: a manifest file should only contain one manifest XML tag: 
<manifest package="com.kpbird.tabbarcontrol"> 
    <application> 

     3) BELOW: same mistake as 1) 
     <activity android:name=".com.kpbird.tabbarcontrol.TabbarView"></activity> 
    </application> 
</manifest> 

接下來應該工作。它修復了這3個錯誤:

<manifest package="com.kpbird.tabbarcontrol"> 
    <application> 
     <activity android:name="com.tabwidget.Tab"></activity> 
     <activity android:name="com.tabwidget.TabHostProvider"></activity> 
     <activity android:name="com.tabwidget.TabView"></activity> 
     <activity android:name=".TabbarView"></activity> 
    </application> 
</manifest> 
+0

感謝這裏TabbarView活動屬於不同的包。如何將該包放入清單文件中?你說manifest.xml文件中只能有一個清單標籤。 –

+1

爲了達到這個目的,我使用了<「。在我的清單文件中,您的應用程序將被稱爲「com.kpbird.tabbarcontrol」,它將通過在'activity'標籤中使用'com.tabwidget。*'顯式標記並使用'com.kpbird.tabbarcontrol。 TabbarView'通過使用隱式符號。你可能想要反轉這個。在這種情況下,使用「com.tabwidget」作爲包名稱,對各種Tabwidget活動使用隱式表示法,並使用TabbarView的顯式表示法 – Shlublu

0

你可以這樣做。你不需要做不同包裝的任何明確納入您response.But

<manifest package="com.tabwidget"> 
<application> 
    <activity android:name="com.tabwidget.Tab"></activity> 
    <activity android:name="com.tabwidget.TabHostProvider"></activity> 
    <activity android:name="com.tabwidget.TabView"></activity> 
    <activity android:name="com.tabwidget.TabbarView"></activity> 
</application> 

相關問題