从Android Studio中的应用程序中移除Google Play服务

22

我正在使用Android Studio开发一个示例应用程序,但不知道怎么回事,我不小心将Google Play服务添加到了其中一个Activity中。它自动生成了几个方法、变量和导入,但我已经将它们全部删除,并继续开发这个应用程序。现在,几天后,我发现

compile 'com.google.android.gms:play-services-appindexing:8.1.0'

在我的app/build.gradle脚本中和我的清单文件中一个自动生成的代码块:

<!--
     ATTENTION: This was auto-generated to add Google Play services to your project for
     App Indexing.  See https://g.co/AppIndexing/AndroidStudio for more information.
-->
<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

当我删除并构建项目时,<application>标签下的<meta-data>标签会在清单文件中重新生成,这导致构建失败,因为我已经在build.gradle中删除了依赖。如何完全从应用程序和构建系统中删除Google Play服务以解决此问题?我漏掉了什么?


你的代码中是否使用了谷歌的应用索引 API? - Rohan
@Rohan 不是的。这基本上是我用来学习 Mosby 的“Hello World”应用程序。 - rvb
然后只需从您的项目中删除这些代码,然后重新构建即可。 - Rahul
@Rah 我试过了,但 Android Studio 一直在我的清单文件中生成那个标签。 - rvb
5
这意味着您正在使用错误的androidManifest.xml文件,请转到src/main/androidManifest.xml文件。 - Rahul
好的,我重启了Android Studio几次,现在它又可以工作了。第三次重启后,它停止生成那个标记了。感谢大家,对不起浪费了你们的时间。 - rvb
8个回答

15
如@Chinmay所述,删除所有与Google Play服务/App索引相关的引用并删除'<-path-android-project->/app/build'对我也有帮助。
谢谢。

7

我只是提供建议,因为我不知道你的完整情况。请删除应用程序中的所有依赖项和所有构建文件,并重新构建项目。至少它会提示您 Play Services 依赖项的位置。

希望这能解决问题。


4
重启 Android Studio 几次解决了问题。我怀疑删除 app/build 目录也可以解决这个问题。谢谢! - rvb
1
欢迎..!! 如果您认为我的答案能解决您的问题,您可以接受它。感谢您的回复,祝好..!! - Chinmay

4

我也不小心按了快速修复按钮,添加了“应用索引API代码”的建议,尽管它与我的错误完全无关。

对我有用的方法:

  • I went to VCS -> Local History -> Show History and in there I found "Insert App Indexing API Code" which I rightclicked and pressed "Revert". This removed some things, but not all, so this quickfix certainly wasn't quick to get rid off again.
  • Next I went through all my build.gradle files and inside dependencies{} I removed compile 'com.google.android.gms:play-services-appindexing:8.1.0'.
  • I removed these bits of Auto-generated code in the xml files the error led me to. They are marked with comments:

    <!--
         ATTENTION: This was auto-generated to add Google Play services to your project for
         App Indexing.  See https://g.co/AppIndexing/AndroidStudio for more information.
    -->
    
  • Lastly I removed two different build folders in my project directory. Cleaning and building the project again finally worked.

我需要补充一点,我多次清理、重建和删除构建文件夹,直到它最终消失。感谢前面的帖子提到删除这些构建文件夹!

感谢!在“插入应用索引 API 代码”上执行“还原”操作成功了。我不得不执行两次。只需确保“撤消插入应用索引 API 代码”显示在历史记录的顶部即可。一旦它出现在那里,您就可以构建它了。 - ᴛʜᴇᴘᴀᴛᴇʟ

2

我的结果与@AllBecomesGood类似

  1. 我进入“文件->设置->插件”,取消勾选以下插件:

    • Android Games
    • App Links Assistant
    • Firebase App Indexing
    • Firebase Services
    • Firebase Testing
    • Google Cloud Tools Core
    • Google Cloud Tools For Android Studio
    • Google Login
    • Google Services
  2. 然后,我删除了应用文件夹内和应用根目录下的构建目录。

  3. 在我的应用程序的build.gradle文件中的dependencies部分,我移除了对com.google.android.gms:play-services-appindexing:8.4.0的构建引用,并删除了自动插入到android manifest中的引用。

  4. 最后,在重新构建应用之前,我必须重启Android Studio,否则它会将它们重新插入到manifest中。


我想提一下,删除自动生成的行应该从主清单而不是debug/清单中进行。 - Lakhwinder Singh Dhillon

2

实际上,当你在清单文件中删除有问题的行时,Android Studio并没有真正地将它们删除。

使用另一个文本编辑器打开(你的项目)\app\src\main\AndroidManifest.xml并删除<meta-data ... /> 然后保存文件,确保我们的build.gradle不再包含play-services-appindexing依赖项,并从Android Studio重新构建你的项目。


1
如果您使用的是buildToolsVersion "23.0.2",请使用新版本:
compile 'com.google.android.gms:play-services-appindexing:8.4.0'

希望这对您有帮助。 抱歉,我刚刚才明白这不是您问题的答案。

1

很简单

  • 右键点击应用程序 -> 打开模块设置
  • 点击依赖关系选项卡
  • 选择 play-services 行
  • 然后点击删除(右上角的小减号)

就是这样


1
不用担心,这很容易。我曾经也遇到过同样的问题,但是通过删除依赖中的这一行源代码,我解决了它。
我在Android Studio中安装了最新的Google Play服务,但我在依赖中使用了下面这行代码。
compile 'com.google.firebase:firebase-core:11.8.0'

如果您正在使用它,请删除此行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接