我创建了多个包来更好地构建基于Android的项目。创建这些包后,应用程序不再运行。这是一个小部件应用程序。我注意到需要修改应用程序清单并执行此操作。这似乎没有解决问题。我没有收到任何错误消息,我根本无法从应用程序小部件打开主活动页面。谁能告诉我如何解决这个问题?
更多细节,我最初有一个扁平的项目结构(com.domain.A)。现在我有以下内容:
com.domain.Activities
com.domain.Features
com.domain.Services
等...
以下是清单文件的摘录:
<activity android:name="com.domain.Activities.Activity1"
android:theme="@style/Theme.D1"
android:label="@string/act1"
/>
<activity android:name="com.domain.Activities.Activity2"
android:theme="@style/Theme.D1"
android:label="@string/act2"
/>
<activity android:name="com.domain.Features.Feature1"
android:theme="@style/Theme.D1"
android:label="@string/fea1"
/>
<activity android:name="com.domain.Features.Feature2"
android:theme="@style/Theme.D1"
android:label="@string/fea2"
/>
<service android:name="com.cmu.Services.Service_1"/>
<service android:name="com.cmu.Services.Service_2"/>
感谢。
答案 0 :(得分:1)
在包中移动类后,您如何定义清单中的活动。 (作为一个拇指规则ctrl +点击清单中的活动声明应该带你到类文件,否则链接坏了),它一般更好地保持所有类在你的app的主android包中扩展Activity
编辑:
如果您的MyActivity位于包a.b;
之下然后.a.b.MyActivity将用于android:清单中的名称点(。)最初指定使用清单包名称中的包前缀..
答案 1 :(得分:0)
您在清单中指定了package
,然后您可以使用.
前缀来引用您在清单中定义的Activities
的包。例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.domain"
android:versionCode="1"
android:versionName="1.0" >
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".activities.MainActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activities.Activity1" />
<activity android:name=".activities.Activity2" />
您的主要启动器活动是:com.domain.activities.MainActivity
,另外两个是:com.domain.activities.Activity1
和com.domain.activities.Activity2