是否可以在Android的一个项目中拥有两个以上的包?

时间:2012-11-04 04:39:51

标签: android packages forceclose

是否可以在一个项目android中拥有两个以上的包?

我已经在队列清单中声明但是第三个包突然强制关闭..我真的不知道原因..但这是我的队列清单代码:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ike.doctors"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" 
          android:targetSdkVersion="8"/>
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".MainActivity"
        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=".MainMenuActivity"
              android:screenOrientation="portrait"
              android:theme="@android:style/Theme.NoTitleBar"></activity>

    <activity android:name=".MenuRegisActivity"
              android:screenOrientation="portrait"
              android:theme="@android:style/Theme.NoTitleBar"></activity>

    <activity android:name="com.ike.hospitalize.MenuHospitalizeActivity"
              android:screenOrientation="portrait"
              android:theme="@android:style/Theme.NoTitleBar"></activity>

    <activity android:name="com.ike.hospitalize.MenuRoomCategoriesActivity"
              android:screenOrientation="portrait"
              android:theme="@android:style/Theme.NoTitleBar"></activity>

    <activity android:name="com.ike.emergency.MenuRegisAActivity"
              android:screenOrientation="portrait"
              android:theme="@android:style/Theme.NoTitleBar"></activity>

    <activity android:name="com.ike.emergency.MenuEmergencyActivity"
              android:screenOrientation="portrait"
              android:theme="@android:style/Theme.NoTitleBar"></activity>
    </application>

    </manifest>

com.emergency.MenuEmergencyActivity强制关闭..

这是log cat:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ike.doctors/com.ike.emergency.MenuEmergencyActivity}: java.lang.NullPointerException
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.ike.emergency.MenuEmergencyActivity.onCreate(MenuEmergencyActivity.java:41)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)

有没有人可以解决我的问题? 你呢

3 个答案:

答案 0 :(得分:2)

  1. 清单中不可能有两个或更多包。清单中的package属性由Android操作系统用于唯一标识您的应用程序。

  2. 可以有两个以上的活动。每个活动都定义了一个进入您的应用程序的UI入口点,您可以根据需要使用这些入口点。

  3. 您的特定问题不是因为您有两个以上的活动。只是你的一个活动在其代码中的某个地方有一个错误。具体来说,由于第41行的错误导致MenuEmergencyActivity崩溃,因为logcat输出表明:

  4. at com.ike.emergency.MenuEmergencyActivity.onCreate(MenuEmergencyActivity.java:41

    我会猜测并说你的onCreate正在使用findViewById来获取特定的UI元素,这在布局中不存在,并且您尝试使用该元素而不检查是否它被发现了。

答案 1 :(得分:0)

我认为这是不可能的。

当您在清单上标记活动时,请按照

进行操作
<activity android:name="(your_Package_name).Activity_name" 
          android:screenOrientation="portrait"
          android:theme="@android:style/Theme.NoTitleBar">
</activty>

用于所有活动,包括Android Manifest文件中的主要活动。有时它可能会对您有所帮助。我不确定

答案 2 :(得分:0)

只需将包更改为com.ike,然后调整与此相关的活动的android:name

否则你所做的事情没有意义,如果其他活动是单独的应用程序的一部分,那么它们不应该通过意图调用AndroidManifest.xml