由于第三方库,清单中有额外 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-service
的 8.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-base
和 play-services-basement
)并转到它们的文件夹并添加它们的 .aar
文件也添加到您的项目中,并检查它们的 .pom
文件以包含它们的依赖项。
是的,这是一项乏味的工作,但这是将这个 gradle-based-distributed 库添加到 eclipse 的方法。
我在我的应用程序中使用 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-service
的 8.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-base
和 play-services-basement
)并转到它们的文件夹并添加它们的 .aar
文件也添加到您的项目中,并检查它们的 .pom
文件以包含它们的依赖项。
是的,这是一项乏味的工作,但这是将这个 gradle-based-distributed 库添加到 eclipse 的方法。