Vấn đề tái cấu trúc Android studio 3.5


159

Tôi vừa cập nhật studio của mình với android studio 3.5 và bây giờ khi tôi đang cố gắng cấu trúc lại AndroidManifest.xmltệp và nó đang tái cấu trúc tất cả các quyền của ứng dụng của tôi xuống cuối tệp.

Có ai phải đối mặt với vấn đề này? Có giải pháp nào cho vấn đề tái cấu trúc này không?

Trước khi tái cấu trúc:

nhập mô tả hình ảnh ở đây

Sau khi tái cấu trúc:

nhập mô tả hình ảnh ở đây

Nó được áp dụng cho tất cả các tập tin dự án của tôi.

Tại sao nó quan trọng:

nhập mô tả hình ảnh ở đây


4
Tại sao đây là một vấn đề đòi hỏi một giải pháp?
Tim

13
@TimCastelijns: Nếu không có gì khác, nó giới thiệu tiếng ồn bất ngờ trong kiểm soát phiên bản. Tôi không thể loại trừ các vấn đề thực sự trong các thiết bị Android cũ, như đã <uses-permission>từng xuất hiện trước đây <application>, mặc dù có thể đó thực sự là một vấn đề về công cụ cũ mà ngày nay chúng ta không thấy.
CommonsWare


7
@TimCastelijns trong bố cục xml, nó thay đổi thứ tự các thành phần của bạn (ví dụ: ImageView của tôi xuất hiện trước TextView của tôi và đó không phải là điều tôi muốn!)
RCperso

3
Họ chỉ hoàn tác mọi nỗ lực hướng tới sự ổn định với 3,5 với điều này. Có lẽ là lỗi AS tồi tệ nhất kể từ khi nó có thể âm thầm phá vỡ ứng dụng của bạn trong thời gian chạy: /
Carson Holzheimer

Câu trả lời:


240

Bạn chỉ cần đặt bố cục xml cho các ứng dụng Android từ cài đặt.

Thực hiện theo các bước sau:

1. Chuyển đến Android Studio > Tùy chọn . Đối với Windows, đi đến Tệp > Cài đặt .

nhập mô tả hình ảnh ở đây

2. Tìm kiếm xml trong thanh tìm kiếm.

nhập mô tả hình ảnh ở đây

3. Trong phần kiểu mã , chọn tab xml .

nhập mô tả hình ảnh ở đây

4. Ở góc trên bên phải, nhấp vào thiết lập từ ... và theo kiểu được xác định trước , chọn Android

nhập mô tả hình ảnh ở đây

5. Nhấp vào Áp dụng và thử cấu trúc lại.


5
Sau này, bạn có thể cần phải khởi động lại Android Studio.
tasomaniac

Điều này đã đưa tôi đến gần nhất nhưng tôi nghĩ vấn đề là thiếu thẻ thuộc tính "thuộc tính" trong tab sắp xếp. Xem ảnh chụp màn hình trong câu trả lời của riêng tôi để biết chi tiết.
Slartibartfast

Từ những gì tôi có thể nói lý do đề xuất này hoạt động là vì nó chèn các thẻ loại "thuộc tính" này, mặc dù vậy, với chi phí đặt lại bất kỳ tùy chỉnh nào khác mà bạn có thể đã đặt để bạn sẽ phải thực hiện lại chúng sau đó, nhưng nó đã có tác dụng :).
Slartibartfast

1
Tôi sợ rằng giải pháp này không hoạt động trong trường hợp của tôi.
P Vartak

16

Đặt lại kiểu mã Android thích hợp như sau.

Chỉ dành cho Windows

Bước 1: Nhấp vào menu tập tin .

Bước2: Điều hướng đến Cài đặt .

Bước 3: Tìm Trình chỉnh sửa trong Bảng điều khiển bên trái **.

Bước 4: Tìm Kiểu mã trong Menu phụ của Trình chỉnh sửa.

Bước 5: Nhấp vào XML trong Menu phụ của Kiểu mã.

Bước 6: Nhấp vào Đặt từ ở góc trên bên phải của bảng Phải.

Bước 7: Chọn Kiểu được xác định trước .

Bước 8: Chọn Android .

Bước 9: Nhấp vào OK .

Chỉ dành cho macOS

Bước 1: Nhấp vào menu Android Studio .

Bước2: Điều hướng đến Tùy chọn .

Bước 3: Tìm Trình chỉnh sửa trong Bảng điều khiển bên trái **.

Bước 4: Tìm Kiểu mã trong Menu phụ của Trình chỉnh sửa.

Bước 5: Nhấp vào XML trong Menu phụ của Kiểu mã.

Bước 6: Nhấp vào Đặt từ ở góc trên bên phải của bảng Phải.

Bước 7: Chọn Kiểu được xác định trước .

Bước 8: Chọn Android .

Bước 9: Nhấp vào OK .


8

Có vẻ như lược đồ mặc định bỏ thuộc tính "thuộc tính" trong các quy tắc sắp xếp. Thêm chúng trở lại trong công việc như một nét duyên dáng đối với tôi.

Việc hiệu chỉnh có thể được thực hiện trong: Tùy chọn> Trình chỉnh sửa > Kiểu mã> XML nhập mô tả hình ảnh ở đây


5

Chỉ cần thêm chi tiết.

Đây là một vấn đề được biết đến với studio android từ Android Studio 3.5 Canary 8. Nó sẽ được sửa trong phiên bản tiếp theo vì điều này hóa ra ảnh hưởng đến số lượng lớn các nhà phát triển.

Bạn có thể thấy trạng thái của lỗi ở đây

Ngoài ra giải pháp là

Kiểu mã XML bị hỏng

Khi chỉnh sửa mã XML, IDE có thể áp dụng kiểu mã không chính xác khi bạn chọn Mã> Định dạng lại mã từ thanh menu. Để khắc phục sự cố này, hãy đặt lại kiểu mã Android phù hợp như sau:

  1. Mở cửa sổ Cài đặt bằng cách nhấp vào Tệp> Cài đặt (trên macOS, Android Studio> Tùy chọn).
  2. Trong bảng điều khiển bên trái, nhấp vào Trình chỉnh sửa> Kiểu mã> XML.
  3. Gần góc trên bên phải của bảng bên phải, chọn Đặt từ> Kiểu được xác định trước> Android
  4. Nhấn OK.

Được tìm thấy ở đây -> Các sự cố đã biết với Android Studio và Plugin Android Gradle

Chỉnh sửa: Điều này hiện đã được sửa trong phiên bản Android studio 3.5.2


3
  • ctrl + alt + s
  • Tìm kiếm XML

Tôi muốn làm các bước tương tự như câu trả lời đầu tiên, nhưng tôi chỉ cần thay đổi lược đồ mặc định thành dự án.

Tôi hy vọng rằng bạn cũng giải quyết nó theo cách này. Xin lỗi vì tiếng Anh của tôi !

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


1

Nếu bạn có một kiểu mã tùy chỉnh được xác định, bạn phải chỉ định một loại cho mỗi quy tắc: thẻ hoặc thuộc tính.

Có vẻ như sau khi cập nhật, nếu bạn không chỉ định một loại, các quy tắc sẽ được áp dụng cho cả hai. Không chắc đó có phải là lỗi không, nhưng đó là cách tôi sửa.

Điều này không hoạt động trên 3.5

Sau khi thêm loại thuộc tính cho mỗi quy tắc, nó đã hoạt động


1

Vui lòng làm theo các bước sau cho phiên bản Windows của "Android Studio 3.5"

1: Nhấp vào Tệp trong Menu.

2: Chuyển đến Cài đặt.

nhập mô tả hình ảnh ở đây.

3: Nhấp vào Trình chỉnh sửa.

4: Nhấp vào Kiểu mã

5: Nhấp vào XML.

nhập mô tả hình ảnh ở đây

6: Nhấp vào "Đặt từ ..." ở góc trên bên phải.

7: Chọn Kiểu được xác định trước.

8: Chọn Android.

nhập mô tả hình ảnh ở đây

9: Nhấp vào OK.


1

3.5.0 vấn đề đã biết

Khi chỉnh sửa mã XML, IDE có thể áp dụng kiểu mã không chính xác khi bạn chọn Mã> Định dạng lại mã từ thanh menu. Để khắc phục sự cố này, hãy đặt lại kiểu mã Android phù hợp như sau:

  • Mở cửa sổ Cài đặt bằng cách nhấp vào Tệp> Cài đặt (trên macOS, Android Studio> Tùy chọn ).
  • Trong bảng điều khiển bên trái, nhấp vào Trình chỉnh sửa> Kiểu mã> XML .
  • Gần góc trên bên phải của bảng bên phải, chọn Đặt từ> Kiểu được xác định trước> Android .
  • Nhấn OK .
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.