代码之家  ›  专栏  ›  技术社区  ›  Pankaj

由于第三方库,清单中有额外的活动条目

  •  0
  • Pankaj  · 技术社区  · 6 年前

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

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

    我们如何从最终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构建?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Akram    6 年前

    它是由添加的 admob 图书馆因此,如果你不希望它,也不希望你的应用程序包含广告,你应该排除 admob公司 来自您的项目。

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

    更新:

    似乎您使用的是旧版本的 google-play-services 将所有模块作为一个 .jar 文件我建议您找出 google-play-service 您需要为该项目添加,并且只添加该项目及其依赖项,而不是添加的所有模块 google play服务 作为一个罐子。您使用的这个版本可能是 8.4.0 属于 google play服务 (甚至比它旧)所以最好使用一个更新的版本。

    要仅使用项目所需的模块并使用其最新版本,应执行以下操作。假设您只需要“播放服务地图”。所以你去

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

    并打开其中一个最新版本,如 11.0.4 (或更少,但我建议从10多个版本中选择一个)并获得 .aar 文件并将其添加到eclipse项目中(如果您不知道如何使用 .aar eclipse中的文件 read this ). 同时打开 play-services-maps-x.x.x.pom 文件以查看 maps 需求(包括 play-services-base play-services-basement 在本例中)并转到其文件夹并添加 .aar 将文件也添加到项目中,并检查其 .pom 文件也包括tehir依赖项。

    是的,这是一项乏味的工作,但这是将这种基于gradle的分布式库添加到eclipse的方法。