简体   繁体   中英

Android App from Library project loading two app icons

I currently have an Android app that I've built, and my company plans to implement several different iterations of it - essentially the same app, but with modified resources. So, instead of creating entirely separate projects, I've used the core project as a library and created several shell projects for the variant child applications. Here's where I'm confused. When I launch my child app, Eclipse loads onto the device both the library version and the child version, both as fully functioning apps.

this is the manifest for the library:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.alot.rssviewer"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="19" />

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

<application
    android:allowBackup="true"
    android:icon="@drawable/launcher_96x96"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.alot.rssviewer.activities.AlotRSSMainActivity"
        android:label="@string/app_name" >


        <meta-data
            android:name="android.app.default_searchable"
            android:value="com.alot.rssviewer.activities.AlotRSSSearchResultsActivity" />
    </activity>

    <!-- Search results activity -->
    <activity
        android:name="com.alot.rssviewer.activities.AlotRSSSearchResultsActivity"
        android:parentActivityName="com.alot.rssviewer.activities.AlotRSSMainActivity" >
        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />

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

        <meta-data
            android:name="android.app.searchable"
            android:resource="@xml/searchable" />
    </activity>

    <activity
        android:name="com.alot.rssviewer.activities.AlotRSSWebViewActivity"
        android:label="@string/title_activity_web_view"
        android:parentActivityName="com.alot.rssviewer.activities.AlotRSSMainActivity" >
    </activity>
    <activity
        android:name="com.alot.rssviewer.activities.AlotRSSFeedSettingsActivity"
        android:parentActivityName="com.alot.rssviewer.activities.AlotRSSMainActivity" >
    </activity>
    <activity android:name="com.mopub.mobileads.MoPubActivity" android:configChanges="keyboardHidden|orientation"/>
    <activity android:name="com.mopub.mobileads.MraidActivity" android:configChanges="keyboardHidden|orientation"/>
    <activity android:name="com.mopub.mobileads.MraidBrowser" android:configChanges="keyboardHidden|orientation"/>
    <activity android:name="com.mopub.mobileads.MraidVideoPlayerActivity" android:configChanges="keyboardHidden|orientation"/>  
    <receiver android:name="com.track.conversion.TrackingReceiver" android:exported="true" >
        <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER" />
        </intent-filter>
    </receiver>
</application>

And here is the manifest for my child project:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.alot.rssviewer.worldnews"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="19" />

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

<application
    android:allowBackup="true"
    android:icon="@drawable/launcher_96x96"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.alot.rssviewer.activities.AlotRSSMainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

        <meta-data
            android:name="android.app.default_searchable"
            android:value="com.alot.rssviewer.activities.AlotRSSSearchResultsActivity" />
    </activity>

    <!-- Search results activity -->
    <activity
        android:name="com.alot.rssviewer.activities.AlotRSSSearchResultsActivity"
        android:parentActivityName="com.alot.rssviewer.activities.AlotRSSMainActivity" >
        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />

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

        <meta-data
            android:name="android.app.searchable"
            android:resource="@xml/searchable" />
    </activity>

    <activity
        android:name="com.alot.rssviewer.activities.AlotRSSWebViewActivity"
        android:label="@string/title_activity_web_view"
        android:parentActivityName="com.alot.rssviewer.activities.AlotRSSMainActivity" >
    </activity>
    <activity
        android:name="com.alot.rssviewer.activities.AlotRSSFeedSettingsActivity"
        android:parentActivityName="com.alot.rssviewer.activities.AlotRSSMainActivity" >
    </activity>
    <activity android:name="com.mopub.mobileads.MoPubActivity" android:configChanges="keyboardHidden|orientation"/>
    <activity android:name="com.mopub.mobileads.MraidActivity" android:configChanges="keyboardHidden|orientation"/>
    <activity android:name="com.mopub.mobileads.MraidBrowser" android:configChanges="keyboardHidden|orientation"/>
    <activity android:name="com.mopub.mobileads.MraidVideoPlayerActivity" android:configChanges="keyboardHidden|orientation"/>  
    <receiver android:name="com.track.conversion.TrackingReceiver" android:exported="true" >
        <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER" />
        </intent-filter>
    </receiver>
</application>

</manifest>

I'm really confused as to what I've done wrong. I've read that you should have all your dependencies synced across both apps and I've also made sure that I only have the Launcher intent in only one activity, but I'm just kind of at a loss.

Thank you all for your help.

Have you tried removing more or less everything from the Lib manifest? You do not need permissions nor activity declarations in the lib.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM