Android Studio 3.5 重构问题

178
我刚升级到Android Studio 3.5,现在当我尝试重新构建文件AndroidManifest.xml时,所有应用程序权限都移到了文件底部。是否有其他人遇到过这个问题?是否有解决方法?重构前:enter image description here重构后:enter image description here此情况适用于我的所有项目文件。

为什么它很重要:

enter image description here

4
为何这是需要解决的问题? - Tim
13
如果没有别的问题,这会在版本控制中引入不必要的噪音。我不能排除旧的Android设备上存在实际问题,因为<uses-permission>以前需要出现在<application>之前,尽管可能那真的是一个旧的工具问题,现在我们不会再遇到了。 - CommonsWare
8
就我所知,我已经详细阐述了这个问题,并且提出了一个专门针对 3.4 -> 3.5 升级问题的问题报告,该问题触发了这种影响。 - CommonsWare
9
在一个XML布局中,它改变了组件的顺序(例如:我的ImageView出现在TextView之前,这不是我想要的!)。 - rcperso
4
他们在3.5版本中做的努力为稳定性铺平道路被彻底抵消了。这可能是自动化测试中最糟糕的bug,因为它可以在运行时默默地破坏你的应用程序 :/ - Carson Holzheimer
荒谬的错误! - Williaan Lopes
9个回答

268

您只需要从设置中为Android应用程序设置xml布局。

按照以下步骤操作:

1. 进入Android Studio > 首选项。对于Windows,进入文件 > 设置

输入图片说明

2. 在搜索栏中搜索xml

输入图片说明

3. 代码样式部分下,选择xml选项卡。

输入图片说明

4. 在右上角,单击从...设置,在预定义风格下选择Android.

输入图片说明

5. 单击应用并尝试重构。


8
完成后,您可能需要重新启动Android Studio。 - tasomaniac
这让我大部分完成了,但我认为问题在于排列选项卡中缺少“属性”属性标签。有关详细信息,请参见我的答案中的屏幕截图。 - Slartibartfast
据我所知,这个建议之所以有效是因为它插入了这些“属性”类型的标签,尽管这样做会重置您可能设置的任何其他自定义内容,因此您需要在之后重新实现这些内容,但它确实有效 :)。 - Slartibartfast
1
我恐怕这个解决方案在我的情况下不起作用。 - P Vartak
2
在Android Studio 4.0.1上,这个bug仍然存在。当重新格式化时,它会改变我的xml布局中组件的顺序。太荒谬了! - hanswim

17

重置相应的Android代码样式如下。

仅适用于Windows

步骤1: 点击文件菜单。

步骤2: 导航到设置

步骤3: 在左侧面板中找到编辑器

步骤4: 在编辑器的子菜单中找到代码样式

步骤5: 在代码样式的子菜单中点击XML

步骤6: 点击右侧面板的右上角从...设置

步骤7: 选择预定义样式

步骤8: 选择Android

步骤9: 点击确定

仅适用于macOS

步骤1: 点击Android Studio菜单。

步骤2: 导航到偏好设置

步骤3: 在左侧面板中找到编辑器

步骤4: 在编辑器的子菜单中找到代码样式

步骤5: 在代码样式的子菜单中点击XML

步骤6: 点击右侧面板的右上角从...设置

第七步:选择预定义样式

第八步:选择Android

第九步:点击确定


10

看起来默认方案在排列规则中省略了“attribute”属性。将其添加回去对我非常有效。

可以在以下位置进行更正:首选项 > 编辑器 > 代码样式 > XML 输入图片描述


5

这是一个已知的问题,从Android Studio 3.5 Canary 8版本开始出现。下一个版本中应该会修复此问题,因为它影响了大量开发人员。

你可以在这里查看此bug的状态。

解决方案如下:

XML代码样式错误

在编辑XML代码时,如果选择菜单栏中的“Code > Reformat Code”,则IDE可能会应用不正确的代码样式。要解决此问题,请按以下步骤重置适当的Android代码样式:

  1. 点击File > Settings(在macOS上为Android Studio > Preferences)打开设置窗口。
  2. 在左侧面板中,单击Editor > Code Style > XML。
  3. 在右侧面板右上角附近,选择Set from > Predefined Style > Android。
  4. 点击OK。

详见Android Studio和Android Gradle插件已知问题

编辑:此问题现已在Android Studio版本3.5.2中得到解决。


3
  • ctrl + alt + s
  • 搜索 XML

我想进行与第一个答案相同的步骤,但我只需要将默认方案更改为项目。

希望你也是这样解决它的。对不起,我的英语不好!

输入图像描述

输入图像描述


1
请按照以下步骤操作 "Android Studio 3.5" 的 Windows 版本:
1:单击菜单中的“文件”。
2:进入“设置”。

enter image description here.

3: 点击编辑器。

4: 点击代码风格。

5: 点击 XML。

enter image description here

6: 点击右上角的“从...设置”。

7: 选择预定义样式。

8: 选择Android。

enter image description here

9: 点击“确定”。

1

1

3.5.0已知问题

在编辑XML代码时,如果你从菜单栏中选择Code > Reformat Code,IDE可能会应用不正确的代码风格。要解决此问题,请按以下步骤重置适当的Android代码风格:

  • 点击File > Settings(macOS上为Android Studio > Preferences),打开设置窗口。
  • 在左侧面板中,点击Editor > Code Style > XML
  • 在右侧面板的右上角附近,选择Set from > Predefined Style > Android
  • 点击OK

1
对于任何在寻找 Android Studio 4+ 相关信息的人:
File -> Setting -> Editor -> Code Style -> XML -> Arrangement ->
  • 将“强制重新排列”设置为“从不”
  • 将“来自”设置为“Android”

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