【问题标题】:Android App from Library project loading two app icons来自库项目的 Android 应用程序加载两个应用程序图标
【发布时间】:2014-03-14 04:58:05
【问题描述】:

我目前有一个我已经构建的 Android 应用,我的公司计划实现它的几个不同的迭代 - 本质上是相同的应用,但具有修改的资源。因此,我没有创建完全独立的项目,而是将核心项目用作库,并为变体子应用程序创建了几个 shell 项目。这就是我感到困惑的地方。当我启动我的子应用程序时,Eclipse 会将库版本和子版本都加载到设备上,它们都是功能齐全的应用程序。

这是库的清单:

<?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>

这是我的子项目的清单:

<?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>

我真的很困惑我做错了什么。我读到您应该在两个应用程序之间同步所有依赖项,并且我还确保我只在一个活动中具有启动器意图,但我有点不知所措。

感谢大家的帮助。

【问题讨论】:

  • 你在设置里把第一个标记为库项目了吗?
  • 是的,我确实做到了。这绝对是一个图书馆。

标签: android eclipse


【解决方案1】:

您是否尝试过从 Lib 清单中删除或多或少的所有内容?您不需要库中的权限或活动声明。

【讨论】:

  • 我删除了除清单标签之外的所有内容,但我似乎仍然遇到同样的问题。
  • 您确定您的库设置为库吗?它曾经按预期工作吗?尝试在 Eclipse 中进行 clean+rebuild 以及在再次启动之前从设备中删除这两个应用程序?这听起来很奇怪;o
  • 嘎。我刚刚清理了这个项目,它现在工作得很好。我讨厌 Eclipse 的一些最基本的功能,比如自动清理项目,只是没有发生。无论如何,这使它工作得很好。非常感谢您的帮助,我会确保我以后更加勤奋,不要想当然地认为 Eclipse 做了它应该做的事情。
  • 呵呵,即使是最好的情况也会发生 :) 祝你好运!
猜你喜欢
  • 1970-01-01
  • 2011-06-24
  • 1970-01-01
  • 1970-01-01
  • 2019-01-08
  • 1970-01-01
  • 1970-01-01
  • 2015-01-07
  • 1970-01-01
相关资源
最近更新 更多