由于第三方库,清单中有额外 activity 个条目

Extra activity entries in manifest due to third party library

我在我的应用程序中使用 google-play-services 库,这是一个 eclipse 项目。 当最终的 apk 创建时,它在 manifest.xml 文件中包含一些额外的条目,在发布应用程序时显示为包含广告警报。 额外条目显示为 -

<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
    android:name="com.google.android.gms.ads.AdActivity"
    android:theme="@android:style/Theme.Translucent" />

我们如何 ignore/remove 来自最终 apk 的这些条目?

<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
    android:name="com.google.android.gms.ads.AdActivity"
    android:theme="@android:style/Theme.Translucent"
    tools:node="remove" />

我认为 tools:node="remove" 可以用于 gradle 构建或者也可以用于 eclipse 构建?

admob库添加。因此,如果您不想要它并且您不希望您的应用程序包含广告,您应该从您的项目中排除 admob

tools:node="remove" 用于从项目中使用的其他库中删除不需要的权限,是的,它在 eclipse 中不起作用。

更新:

您使用的似乎是旧版本的 google-play-services,它包含所有模块作为单个 .jar 文件。我建议你找出这个项目需要 google-play-service 的哪个模块,只添加那个模块及其依赖项,而不是将 google-play-services 的所有模块添加为一个 jar。您使用的这个版本可能是 google-play-service8.4.0 版本(甚至比它更早),因此最好使用其中一个较新的版本。

如果只使用你的项目需要的模块,并且使用最新版本,你应该按照下面的方式进行。假设您只需要“play-services-maps”。所以你去

<android-sdk-folder>/extras/google/m2repository/com/google/android/gms/play-services-maps  

并打开最近的版本之一,如 11.0.4(或更少,但我建议选择 10+ 版本之一)并获取 .aar 文件并将其添加到您的 eclipse 项目中(如果你不知道如何在 eclipse read this 中使用 .aar 文件)。同时打开 play-services-maps-x.x.x.pom 文件以查看 maps 需要的其他库是什么(在本例中为 play-services-baseplay-services-basement)并转到它们的文件夹并添加它们的 .aar 文件也添加到您的项目中,并检查它们的 .pom 文件以包含它们的依赖项。

是的,这是一项乏味的工作,但这是将这个 gradle-based-distributed 库添加到 eclipse 的方法。