【问题标题】:is it possible to have more than two packages in one project of Android?Android 的一个项目中是否可以有两个以上的包?
【发布时间】:2012-11-04 04:39:51
【问题描述】:

一个项目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 被强制关闭..

这是日志猫:

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)

有人可以解决我的问题吗? 谢谢你

【问题讨论】:

  • 你能显示强制关闭日志输出吗?
  • java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ike.doctors/com.ike.emergency.MenuEmergencyActivity}: java.lang.NullPointerException
  • 请完整的日志堆栈。请将其编辑到您的帖子中,而不是进入 cmets。
  • 检查并仔细检查您的所有姓名。在清单中,这不会导致编译错误。

标签: android packages forceclose


【解决方案1】:
  1. 清单中不能有两个或更多包。 Android 操作系统使用清单中的package 属性来唯一标识您的应用程序。

  2. 可以有两个以上的活动。每个 Activity 都为您的应用程序定义了一个 UI 入口点,您可以拥有任意数量的这些入口点。

  3. 您的特定问题不是由您有两个以上的活动引起的。只是您的一项活动在其代码中的某处存在错误。具体来说,MenuEmergencyActivity 因第 41 行的错误而崩溃,正如 logcat 输出所示:

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

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

【讨论】:

  • 哎呀......你是对的......谢谢你......我之前没有注意到它......你的疯狂猜测是绝对正确的!谢谢你弗朗西:)
【解决方案2】:

只需将包更改为com.ike 并调整相关活动的android:names。

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

【讨论】:

    【解决方案3】:

    我认为这是不可能的。

    当您在清单上标记活动时,请遵循此

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-21
      • 2016-12-25
      • 1970-01-01
      • 2021-03-05
      • 2011-12-15
      • 2011-07-31
      • 2014-06-08
      • 2015-08-30
      相关资源
      最近更新 更多