Android Studio - XML 编辑器自动完成功能不适用于支持库
Posted
技术标签:
【中文标题】Android Studio - XML 编辑器自动完成功能不适用于支持库【英文标题】:Android Studio - XML Editor autocomplete not working with support libraries 【发布时间】:2015-08-21 11:18:54 【问题描述】:我刚开始使用新的 android.support.design 库。当使用 XML 编辑器中的任何小部件时,我停止收到 XML 自动完成建议!
例如,
<android.support.design.widget.CoordinatorLayout
android:id="@+id/header_root"
android:layout_
android:layout_>
<ImageView
android:layout_
android:layout_
android:background="@color/primary_dark" />
<android.support.design.widget.FloatingActionButton
android:layout_
android:layout_
android:layout_gravity="bottom|right"
android:src="@drawable/ic_action_add"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginTop="56dp"
app:fabSize="normal"
app:layout_anchor="@id/header_root"
app:layout_anchorGravity="bottom|right|end" />
</android.support.design.widget.CoordinatorLayout>
所有标签都不会显示自动完成弹出窗口,比如当我开始输入“android:i”时没有弹出窗口出现,我得到的唯一建议如下图所示。
我已经尝试清理我的项目,重新启动电脑,重新启动 Android Studio.. 没有任何工作!
【问题讨论】:
这里一样,使用自定义库时xml自动完成不起作用 您解决了这个问题了吗? 不幸的是,我还没有。支持库仍未填充。 相关错误报告:Issue 61844: Autocomplete stopped working。请加注星标,以便他们解决问题。 @Varun haha 至少我们可以很高兴地说今天的 AS 比当时的第一个版本有了飞跃 【参考方案1】:如果上述答案中的NONE
有效,...
只需导航到您的 android studio 安装目录,即
yourDrive:/.AndroidStudio3.3/system
和删除缓存文件夹(首先关闭android studio,如果它正在运行)。
然后再次启动 Android Studio。 完成。
P.S 我使用的是 android studio 4.0
【讨论】:
对我来说,删除整个 .AndroidStudio3.3 文件夹就可以了。我认为它在导入过程中出错了。 也适用于 Android 3.6。 非常感谢@Santanu Sur,它也适用于 Android 3.6.2。 C:\Users\your_user_name\.AndroidStudio3.6\system macos 在哪里?【参考方案2】:我尝试了很多东西(重启 Android Studio、PC、缓存无效、省电模式……)。
最后,从项目中删除 .idea 文件夹和所有 .iml 文件,重新启动 Android Studio 并重新构建 Gradle 即可解决问题。 XML 支持库中的自动完成功能再次起作用。
从版本控制中检出文件或复制新项目中的所有源文件也可以解决问题。
【讨论】:
有关此问题的常见答案对我也不起作用。我开始认为我只能忍受它,直到我找到你的答案。谢谢! 感谢您的解决方案。需要通过浏览到物理文件夹本身来打开项目。 Android Studio 启动屏幕上的项目条目对我不起作用。 这个方法对我有用,但经过几天的编码,它似乎总是回来。任何人都知道是否有办法找出它是如何被损坏的? Same here...在最新发布的 SDK 23、buildTools 和支持库中,我在发布日志中看到,他们修复了一些相关问题,希望它修复... :) 不工作。请使用此解决方案,它工作正常***.com/a/54007742/4373587【参考方案3】:我通过使缓存无效并重新启动来恢复我的自动完成建议。
File -> Invalidate Caches / Restart... -> 选择 Invalidate and Restart
【讨论】:
看来invalidate caches/restart解决了Android Studio中的所有问题!【参考方案4】:同样的问题出现在 3.2. 版本中。解决方案是
Close Android Studio
Go to C:\Users\UserName\.android and rename the build-cache folder to build-cache.bak
Go to C:\Users\UserName\.AndroidStudio3.2\system and rename these folders
caches to caches.bak
compiler to compiler.bak
compile-server to compile-server.bak
conversion to conversion.bak
external_build_system to external_build_system.bak
frameworks to frameworks.bak
gradle to gradle.bak
resource_folder_cache to resource_folder_cache.bak
Open the Android Studio and open your project again.
【讨论】:
它确实有效。我们只需要再次开始为 android studio 建立索引。喜欢重置索引 就像一个魅力!谢谢,android studio 正在重置它的索引 谢谢,伙计,它对我有用。如果有人遇到这个问题,我推荐这个答案 在 android studio 4 上工作。无效、重新启动和删除缓存对我不起作用,过了一会儿我又遇到了这个问题。但这有效。 tnx.【参考方案5】:如果以上都不起作用...
只需导航到您的 android studio 安装目录,即,
yourDrive:/.AndroidStudio3.4/system
首先关闭 android studio,如果它正在运行。
然后删除系统中的缓存文件夹
然后再次启动 Android Studio。完成。
我正在使用 android studio 3.4
【讨论】:
确实很有帮助,但请先尝试以下选项,然后再尝试以上选项。 完美运行。它现在甚至可以正确显示资源作为建议 我尝试了所有方法,但没有任何效果。这个答案似乎是救世主。【参考方案6】:Santanu Sur 答案对我有用!但在 Windows 中,我在 %USERNAME%/.AndroidStudio3.4 或 %USERNAME%/.AndroidStudio3.3
中找到了这些文件夹我把这两个文件夹都删了,终于好了。
【讨论】:
工作完美,但只删除 [Users > Username > .AndroidStudio3.5 > system] 下的缓存文件夹。【参考方案7】:已经晚了几年,但我想提交一个我想出并为我工作的答案。它非常快,不需要像这里的其他一些答案那样进行大量重新配置,所以我想我会添加它。
解决方案
注释 xml 属性的 gradle 依赖项,同步项目,然后取消注释并再次同步。对我来说,在有和没有 cmets 的情况下重新同步这三个就足以让他们再次开始出现。
//implementation 'com.android.support:appcompat-v7:27.1.1'
//implementation 'com.android.support.constraint:constraint-layout:1.1.3'
//implementation 'com.android.support:design:27.1.1'
如果您的构建在第一步之后失败,请不要担心,如果您的项目中已经有这些属性中的任何一个,它应该会失败。另请注意,由于某种原因,我之前输入的属性(在重新同步之前没有自动完成)需要重新输入。
【讨论】:
【参考方案8】:我遇到了只有EditText
标签被破坏的情况。我已经删除了 .idea 文件夹和所有 .iml,使缓存无效并重新启动...实际起作用的是擦除标签并再次输入。真奇怪。
【讨论】:
为什么删除 .idea 文件夹很重要 所以,我们必须检查问题是否存在于所有地方或单个文件/特定文件中,然后应该检查损坏的布局代码【参考方案9】:删除 Library/Application Support/AndroidStudio* 文件夹并在此之后使缓存无效对我有帮助。所有其他选项均无效。
【讨论】:
【参考方案10】:在我的情况下,Code Completion 建议没有出现,因为我的应用程序模块中缺少 Gradle 依赖项。
我在我的 XML 布局中使用了 android.support.design.widget.TabLayout
,但我没有在我的应用程序模块中添加设计支持库 compile 'com.android.support:design:25.3.1'
Gradle 依赖项。
【讨论】:
【参考方案11】:如果您在 2018 年 11 月使用 Android Studio 3.2.1 时遇到此问题,您应该尝试将其降级到 3.1.4。
在 3.2.1 中,我尝试了所有这些答案,但都没有奏效,但在我降级到 3.1.4 并执行 Invalidate Caches / Restart 后,它工作正常。
【讨论】:
【参考方案12】:我尝试了 Invalid caches/restart 选项,但它对我不起作用。 对于 Android Studio 3> 版本,首先检查以下内容:
compileSdkVersion
targetSdkVersion
buildToolsVersion
将这3个设置为最新版本,然后尝试同步项目并清理,重新构建一次。它将工作并显示 XML 编辑器自动完成选项。
【讨论】:
是的。使用 androidx 库为我工作【参考方案13】:删除android studio的完整文件夹`然后重启。解决问题
driveLocation:/.AndroidStudio3.3
.AndroidStudio3.3
在您的情况下可能会有所不同
【讨论】:
@ApilPokharel 伟大的【参考方案14】:我也遇到过这个问题,而且这只发生在导入的模块类上。尝试了所有方法,例如删除 .idea
文件夹、power saver mode
、invalidate cache and restart
等。
最终更新模块的compileSdkVersion
和buildToolsVersion
以匹配应用模块解决了这个问题。
就我而言,我使用的是:
compileSdkVersion 29
buildToolsVersion '29.0.3'
【讨论】:
【参考方案15】:一种可能性是在 android studio 中检查power mode
。转到File > Power mode
并检查它是打开还是关闭。
如果它打开,您也不会得到任何建议。要获得建议,它必须关闭。
如果它不适合您,那么您应该重置您的 Android 工作室,这将为您设置默认配置。
为此,找出.AndroidStudioBeta
或.AndroidStudio
文件夹并删除它们并重新启动android studio。一般情况下,你会把这个文件夹放到users\[user name]\.AndroidStudio3.3
。
如果它对你有帮助,请告诉我。编码快乐..!
【讨论】:
【参考方案16】:我尝试将“编译 SDK 版本”从 29 降级到 28,效果很好
【讨论】:
Google Play 商店不再支持定位 sdk 版本 28。 2021 年 8 月 31 日之后,即使是那些针对 29 的应用程序也不会在 google play 商店中被接受。【参考方案17】:通过删除我的主文件夹中的“.androidStudioPreview1.X”解决。
【讨论】:
【参考方案18】:我也遇到了只有 EditText 标签被破坏的情况。在设置 > 编辑器 > 常规 > 自动导入中找到了解决方案,其中编辑文本被列为从自动完成中排除。通过选择并单击减号将其删除。
【讨论】:
【参考方案19】:File -> Invalidate Caches / Restart... -> 选择 Invalidate and Restart
打开省电模式就可以了
【讨论】:
【参考方案20】:最好的选择是制作项目的 zip 文件夹并更改其路径。(重新定位此项目而不是打开它)。 这将满足需要。
【讨论】:
【参考方案21】:检查5种方式:
重启 Android Studio
文件 -> 使缓存无效/重新启动... -> 选择无效并重新启动
文件 -> 开启省电模式并重启 Android Studio
删除 .idea 文件夹。搜索 *.iml 文件并删除所有这些文件并使用方式 2
【讨论】:
【参考方案22】:在 build.gradle(Module: app) 中更改为旧版本 - 确保是 Gradle Script 下的版本,而不是 build.gradle(Project:你的项目)。获取 XML 自动完成建议后更改为当前版本。
【讨论】:
【参考方案23】:我的问题是我试图在 res/xml
内的 xml 布局文件上自动完成。自动完成不适用于布局文件。将 xml 文件移动到 res/layout
使自动完成功能再次起作用。
【讨论】:
【参考方案24】:我只是尝试等待 10 秒,然后出现了自动完成建议(使用 Android Studio 4.2),似乎 xml 只是需要一些时间来解决它们。而且我的电脑并不慢。
【讨论】:
【参考方案25】:我分享我对 Android Studio 4.2 的回答:
我不得不删除文件夹C:\Users\Username\.gradle\caches
【讨论】:
【参考方案26】:只需转到 gradle-wrapper.properties 并更新版本 gradle...zip
我的版本是 gradle-6.7.1-all.zip
然后重启安卓工作室
【讨论】:
【参考方案27】:使缓存无效/重新启动对我有用。
==> 转到 android studio 左上角的文件菜单 ==> 选择无效缓存/重启
【讨论】:
【参考方案28】:尝试了所有方法,例如删除 .idea 文件夹、省电模式、删除 user/.android 下的缓存文件夹、使缓存无效并重新启动等都没有奏效。
设置compileSdkVersion 31
(最新)对我有用。
【讨论】:
【参考方案29】:我在做我的项目时遇到了这个问题。 我尝试了一切: 如果可以的话,删除所有文件夹; 卸载; 重置为默认值(我实际上是在搜索这个); 使缓存无效; 创建一个非常新的项目进行测试; 等等......所有这些都没有解决问题
现在我有最后一个办法:使用 Intellji 而不是 Android Studio,我现在很高兴。这是给遭受此问题困扰的任何人的建议
【讨论】:
【参考方案30】:对我有用的是重命名 $USERDIR/.AndroidStudio3.3/system 文件夹并重新启动 AS。
【讨论】:
以上是关于Android Studio - XML 编辑器自动完成功能不适用于支持库的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse 或 Android Studio XML 编辑器中没有行号