1

嗨,我在我的库中定义了一个活动,就像这样......

<activity
            android:name="com.company.application.corelibrary.recording.DesiredActivity"
            android:label="@string/title_activity_tracking"
            android:screenOrientation="portrait" 
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

然后我想使用这个库在另一个我正在这样做的应用程序中启动......

<activity
        android:name="com.company.application.corelibrary.recording.DesiredActivity"
        android:label="@string/title_activity_tracking"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

但是,当我要构建它时,它会返回...

[2013-02-27 12:41:33 - TestApplication] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.company.application/.corelibrary.recording.DesiredActivity }
[2013-02-27 12:41:33 - TestApplication] ActivityManager: Error type 3
[2013-02-27 12:41:33 - TestApplication] ActivityManager: Error: Activity class {com.company.application/com.company.application.corelibrary.recording.DesiredActivity} does not exist.

com.company.application是我的项目包。

com.company.application.corelibrary是我的图书馆包。

我已将库包含在我的项目中。

我究竟做错了什么?

添加

我刚刚将我的库项目的包名称重命名为与我的项目不同的名称,因为我认为可能因为它们相似,所以项目可能会在它自己的类源中查找,但这也不起作用。

4

3 回答 3

0

在我的应用程序中,我在清单中编写了活动,例如:

    <activity android:name="MainActivity"
             android:label="@string/app_name"
             android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>

我还在清单中声明了另一个活动(该活动属于我的库):

<activity android:name="com.facebook.LoginActivity"
      android:label="@string/app_name" />

希望这会帮助你。

注意:

你不应该使用

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

对于清单中的两个活动。

于 2013-02-27T13:48:28.467 回答
0

我想我会回答我自己的问题。其他答案可能是有效的,但这就是解决我的问题。

在新项目清单中的活动声明之前,我遇到了以下问题。

<uses-library
   android:name="com.corecoders.st.corelibrary"
   android:required="true" />

我删除了它,清理并重建了项目,它启动得很好。

于 2013-02-27T15:09:04.317 回答
0

我通过在他们的库中实现解决方案 io.card 解决了这个问题。通过使用应用程序标记将活动包装到您的库清单中。

<application>
    <activity
        android:name="com.eckoh.eckohroute.ActionConsumingActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:theme="@style/Theme.Dialog.ActionActivity" />

 </application>
于 2016-12-07T15:12:22.620 回答