android库项目清单文件

时间:2011-12-18 22:04:58

标签: android manifest integrate

我正在尝试将一个开源的todo应用程序集成到我的主应用程序中。我已将todo应用程序作为库项目并将manifest.xml集成在手册中,但我面临一个问题。

在我的图书馆项目清单文件中,它以

开头
<application android:name=".TodoApplication" android:icon="@drawable/todotxt_touch_icon" >

如何将其集成到我的主清单文件中,因为我已经有了一个应用程序名称...我已经集成了库项目的活动,但我无法集成这一行,因此没有工作......

请找到图书馆项目的manifest.xml:

    <?xml version="1.0" encoding="utf-8"?>

<manifest package="com.todotxt.todotxttouch"
    android:versionName="0.7" android:versionCode="21"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Warning 'is lower than the project target API level' should be ok -->

    <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application android:name=".TodoApplication" android:icon="@drawable/todotxt_touch_icon"
        android:label="@string/app_label" android:debuggable="true">

        <uses-configuration></uses-configuration>
        <supports-screens android:largeScreens="true"
            android:normalScreens="true" android:smallScreens="true"
            android:resizeable="true" android:anyDensity="true" />

        <activity android:name=".LoginScreen" android:label="@string/app_label"
            android:theme="@android:style/Theme.NoTitleBar"
            android:configChanges="keyboardHidden|orientation">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name=".Filter" android:label="Filter"
            android:theme="@android:style/Theme.NoTitleBar" />
        <activity android:name=".Preferences" android:label="@string/set_preferences" />
        <activity android:name=".AddTask" android:label="@string/addtask"
            android:theme="@android:style/Theme.NoTitleBar"
            android:configChanges="orientation|keyboardHidden"
            android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>

        <activity-alias android:name=".AddTaskShortcut"
            android:targetActivity=".AddTask" android:label="@string/shortcut_addtask_name">
            <intent-filter>
                <action android:name="android.intent.action.CREATE_SHORTCUT" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity-alias>
        <activity-alias android:name=".AddTaskShare"
            android:targetActivity=".AddTask" android:label="@string/share_addtask_name">
            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="text/plain" />
            </intent-filter>
        </activity-alias>
        <activity android:name=".HelpActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
        <activity android:name=".TodoTxtTouch" android:theme="@android:style/Theme.NoTitleBar"
            android:configChanges="keyboardHidden|orientation">
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
            <meta-data android:name="android.app.searchable"
                android:resource="@xml/searchable" />
        </activity>

        <!-- Task list widget -->
        <receiver android:name=".TodoWidgetProvider" android:label="@string/app_label">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.todotxt.todotxttouch.APPWIDGET_UPDATE"/>
            </intent-filter>
            <meta-data android:name="android.appwidget.provider" android:resource="@xml/todo_widget_provider" />
        </receiver>

    </application>

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

</manifest> 

我遇到的主要部分是应用程序名称部分....如何在我的主应用程序清单中集成库项目应用程序名称,因为它已经有一个应用程序名称...所以我陷入了困境那个部分并没有起作用,因为它只会引发运行时错误......

我已将我的库项目的所有活动与其主要应用清单文件中的完整包名称集成在一起。任何人都可以指导我出错的地方......

1 个答案:

答案 0 :(得分:2)

据我所知,整合图书馆项目并不需要更改您的清单。只需创建自己的项目,然后打开要包含在单独项目中的项目。

在Eclilpse中,您可以右键单击您的项目,转到相应位置,然后检查:Library-project。在您自己的项目中,您必须转到构建属性,并在项目选项卡中添加您的Todo应用程序。这样,Todo应用程序也可以在您构建自己的应用程序时构建。

编辑(根据评论): 您可以声明要在清单中使用的活动。 您的清单中不需要应用程序名称。