Các bản phát hành trước đây của Android Studio

Trang này liệt kê các tính năng và điểm cải tiến mới cho mỗi bản phát hành chính của các bản phát hành Android Studio trước đây. Để biết thông tin mới trong phiên bản mới nhất, hãy xem ghi chú phát hành của Android Studio hiện tại.

Để biết tin tức mới nhất về các bản phát hành, bao gồm cả danh sách các bản sửa lỗi đáng chú ý trong mỗi bản thử nghiệm, hãy xem nội dung cập nhật của bản phát hành. Để biết thông tin về các tính năng mới trong trình bổ trợ Android cho Gradle, hãy xem các bản ghi chú phát hành của trình bổ trợ này.

Trình bổ trợ Android cho Gradle và khả năng tương thích với Android Studio

Android Studio là một hệ thống xây dựng dựa trên Gradle, còn trình bổ trợ Android cho Gradle bổ sung một số tính năng dành riêng cho việc xây dựng ứng dụng Android. Bảng sau đây liệt kê yêu cầu về phiên bản trình bổ trợ Android cho Gradle đối với từng phiên bản Android Studio.

Phiên bản Android Studio Phiên bản trình bổ trợ cần phải có
Flamingo | 2022.2.1 3.2-8.0
Electric Eel | 2022.1.1 3.2-7.4
Dolphin | 2021.3.1 3.2-7.3
Chipmunk | 2021.2.1 3.2-7.2
Bumblebee | 2021.1.1 3.2-7.1
Arctic Fox | 2020.3.1 3.1-7.0

Để biết thông tin về các tính năng mới trong trình bổ trợ Android cho Gradle, hãy xem ghi chú phát hành của trình bổ trợ Android cho Gradle.

Android Studio Chipmunk | 2021.2.1

Hỗ trợ tạo ứng dụng bằng Jetpack Compose

Tính năng xem trước ảnh động hỗ trợ animatedVisibility

Android Studio Chipmunk hỗ trợ API animatedVisibility trong Tính năng xem trước ảnh động. Để sử dụng tính năng Xem trước ảnh động bằng animatedVisibility, hãy sử dụng phiên bản Compose 1.1.0 trở lên. Để tìm hiểu thêm về tính năng Xem trước ảnh động, hãy xem phần Ảnh động.

Hỗ trợ triển khai bản xem trước từ Mô-đun thư viện

Các bản xem trước cho phép bạn xem giao diện người dùng trong Android Studio mà không cần phải chạy ứng dụng trên một thiết bị thực. Trong Android Studio Chipmunk, bạn có thể triển khai @Preview cụ thể cho một trình mô phỏng hoặc thiết bị thực từ Mô-đun thư viện. Để tìm hiểu thêm, hãy xem phần Triển khai bản xem trước.

Hỗ trợ lập hồ sơ ứng dụng

Phát hiện hiện tượng giật trên Android 12 trở lên

Đối với các thiết bị chạy Android 12 trở lên, một dấu vết được lưu lại sẽ hiển thị trong thành phần Khung hình bị giật bên trong ngăn Hiển thị của Trình phân tích CPU.

Để phát hiện hiện tượng giật,

  1. Khởi động ứng dụng trên trình mô phỏng hoặc thiết bị phát triển.
  2. Trong Android Studio, chọn Xem > Công cụ trong Windows > Trình phân tích tài nguyên hoặc nhấp vào Hồ sơ trên thanh công cụ.

    Nếu hộp thoại Select Deployment Target (Chọn đối tượng triển khai) cho thấy lời nhắc, hãy chọn thiết bị nơi bạn muốn triển khai ứng dụng để phân tích. Nếu bạn đã kết nối thiết bị qua USB nhưng không thấy thiết bị đó trong danh sách, hãy đảm bảo rằng bạn đã bật tính năng gỡ lỗi USB.

  3. Nhấp vào nơi bất kỳ trong tiến trình CPU để mở Trình phân tích CPU (CPU Profiler).

  4. Bạn sẽ thấy thành phần Khung hình bị giật trong Hiển thị. Theo mặc định, Trình phân tích tài nguyên chỉ hiển thị các khung hình bị giật dưới dạng mục tiêu để điều tra. Trong mỗi khung hình bị giật, phần được tô màu đỏ hiển thị thời lượng khung hình vượt quá thời hạn kết xuất.Ảnh chụp màn hình thành phần khung hình bị giật

  5. Sau khi bạn phát hiện ra một khung hình bị giật, hãy nhấp vào nó. Bạn cũng có thể điều chỉnh mức thu phóng bằng cách nhấn M để tập trung vào khung đã chọn. Các sự kiện liên quan sẽ được làm nổi bật trong các chuỗi chính: RenderThreadGPU completion.Ảnh chụp màn hình Trình phân tích tài nguyên hiển thị các Khung hình bị giật và chuỗi chính

  6. Bạn có thể tuỳ ý xem tất cả khung hình hoặc phân tích thời gian kết xuất bằng cách chọn/không chọn các hộp đánh dấu Tất cả các khungVòng đời tương ứng.Ảnh chụp màn hình của Trình phân tích tài nguyên như trên, nhưng hộp đánh dấu Tất cả khung hình và Vòng đời phải được chọn

Để biết thêm thông tin, hãy xem Phát hiện giao diện người dùng bị giật.

Bản phát hành của bản vá

Dưới đây là danh sách các bản phát hành của bản vá trong Android Studio Chipmunk.

Android Studio Chipmunk | 2021.2.1 Bản vá 2 (tháng 8 năm 2022)

Bản cập nhật nhỏ này bao gồm bản cập nhật và các bản sửa lỗi sau:

Hỗ trợ nền tảng Android

Với Android Studio Chipmunk Bản vá 2 và Android Gradle 7.2.2, bạn có thể biên dịch dựa trên các API Android 13 bằng cách đặt compileSdk=33. Phiên bản SDK tối thiểu được hỗ trợ cao nhất là 32. minSdk = 33 không được hỗ trợ cho đến Trình bổ trợ Android cho Gradle 7.3.0-beta05.

Lỗi đã được khắc phục
Trình gỡ lỗi C++
Phiên bản phát hành của một thư viện gốc từ một dự án phụ thuộc được đóng gói ngay cả đối với một biến thể bản dựng gỡ lỗi
Công cụ thiết kế
Tổ hợp phím Ctrl + D hoặc nút “show diff” không hiển thị git diff
Dexer (D8)
Ghi lại phiên bản trình biên dịch cần thiết cho từng phiên bản thư viện đã đơn giản hoá
Gradle
Tìm lỗi mã nguồn unusedResources Nhận dạng Sai với Bí danh Nhập
Nhập/Đồng bộ hoá
Sự cố bản dựng với nhiều phiên bản sản phẩm (product flavour) trong phiên bản mới
Trình rút gọn (R8)
ArrayIndexOutOfBoundsException trong IntSwitch
R8 3.1.7-dev trở lên đã tối ưu hoá Enum không đúng cách, dẫn đến lỗi NoSuchFieldError
R8 gây ra lỗi VerifyError trên thư viện Scala
Gradle 7.2.0 gây ra lỗi bản dựng APK com.android.tools.r8.CompilationFailedException
NPE trong trình thu gọn, R8 phiên bản 3.2.60
[R8 3.3.57] NoClassDefFound do giao diện được thay thế bằng lớp trừu tượng có yêu cầu SDK cao hơn
NullPointerException trong FieldAssignmentTracker sử dụng 3.3.35

Android Studio Chipmunk | 2021.2.1 Bản vá 1 (tháng 5 năm 2022)

Bản cập nhật nhỏ này bao gồm các bản sửa lỗi sau:

Lỗi đã được khắc phục
Dexer (D8)
Máy ảo Art/Dalvik trước phiên bản 8 không hỗ trợ bản sửa lỗi cho JDK-8272564
IntelliJ
Trình theo dõi tệp không khởi động được trên Ubuntu 20.04
MBP 15" 2018 bị thiếu trình đơn trên Touch Bar.
Chạy
Tuỳ chọn thiết bị không hiển thị và không thể chạy ứng dụng mặc dù có sẵn mô-đun ứng dụng.
Trình rút gọn (R8)
Tại sao R8 không điều chỉnh được các phương thức giao diện mặc định nhưng D8 thì có?
THAM CHIẾU VÒNG TRÒN: com.android.tools.r8.internal.R10: Loại chuyển đổi không mong muốn vào lượt chuyển đổi gốc: OBJECT

Android Studio Bumblebee | 2021.1.1

Android Studio Bumblebee là một bản phát hành chính có nhiều tính năng và điểm cải tiến mới.

Bản xem trước tương tác của Compose được bật theo mặc định

Kể từ Android Studio Bumblebee, tính năng bản xem trước tương tác sẽ được bật theo mặc định. Bản xem trước tương tác cho phép bạn tương tác với một bản xem trước giống như khi bản xem trước đó hoạt động trên thiết bị. Bản xem trước tương tác là bản xem trước tách biệt với bản xem trước khác trong môi trường hộp cát. Tại đây, bạn có thể nhấp vào các phần tử và nhập hoạt động đầu vào của người dùng trong bản xem trước đó. Đây là một cách nhanh chóng để kiểm tra nhiều trạng thái và cử chỉ của cấu trúc có thể kết hợp, chẳng hạn như hộp đánh dấu có thể có trạng thái đã đánh dấu hoặc để trống.

Chế độ tương tác của bản xem trước sẽ chạy ngay trong Android Studio mà không cần chạy trình mô phỏng, dẫn đến một số hạn chế như sau:

  • Không có quyền truy cập mạng.
  • Không có quyền truy cập vào tệp.
  • Có thể không cung cấp đầy đủ một số API ngữ cảnh.

Người dùng tương tác với bản xem trước trong Android Studio

Bản xem trước vectơ vẽ được ở dạng động (AVD)

Công cụ vectơ vẽ được ở dạng động giúp bạn xem trước tài nguyên có thể vẽ ở dạng động. Các công cụ này giúp bạn xem trước tài nguyên <animation-list>, <animated-vector><animated-selector> trong Android Studio, đồng thời giúp bạn tinh chỉnh ảnh động tuỳ chỉnh của mình dễ dàng hơn.

Người dùng xem trước và phát ảnh động trong Android Studio

Cập nhật bộ chọn thiết bị cho công cụ thiết kế

Để đơn giản hoá quá trình thiết kế ứng dụng cho nhiều thiết bị Android, chúng tôi đã cập nhật bộ chọn thiết bị trong nhiều cửa sổ công cụ thiết kế, chẳng hạn như Layout Editor và Xác thực bố cục. Trong đó, các thiết bị tham chiếu sẽ phản ánh kích thước phổ biến của từng kiểu dáng thiết bị. Dù là điện thoại, máy tính bảng, thiết bị Wear hay Android TV, giờ đây, bạn có thể xem trước, xác thực hoặc chỉnh sửa bố cục trên các kích thước màn hình tiêu biểu của các thiết bị phổ biến trong thực tế một cách dễ dàng hơn.

Bộ chọn thiết bị với các thiết bị, kích thước cũng như mật độ thiết bị được nhóm theo lớp

Phiên chạy thử nghiệm KMP

Bạn có thể chạy các thử nghiệm cho dự án Kotlin Multiplatform (KMP) trên Android Studio Bumblebee.

Để đảm bảo các thử nghiệm chạy thành công trên Android Studio, hãy đảm bảo bạn đáp ứng mọi yêu cầu dưới đây:

  • AGP 7.0.0-alpha08 trở lên
  • Gradle 6.8.2 trở lên
  • Trình bổ trợ Kotlin 1.4.30 trở lên

Các lớp R không mang tính chất bắc cầu được bật theo mặc định

Các lớp R không mang tính chất bắc cầu giờ đây sẽ được bật theo mặc định. Bạn có thể sử dụng các lớp R không mang tính chất bắc cầu với trình bổ trợ Android cho Grade để tạo các bản dựng nhanh hơn cho các ứng dụng có nhiều mô-đun. Làm như vậy sẽ giúp ngăn chặn tình trạng trùng lặp tài nguyên bằng cách đảm bảo rằng lớp R của mỗi mô-đun chỉ chứa tệp đối chiếu đến tài nguyên riêng của mô-đun đó mà không cần lấy các tệp đối chiếu từ các phần phụ thuộc tương ứng. Điều này giúp chúng ta có các bản dựng mới hơn cũng như nhận được các lợi ích tương ứng khi tránh hoạt động biên dịch.

Bạn có thể yêu cầu trợ giúp khi sử dụng tính năng này bằng cách chuyển đến mục Refactor > Migrate to Non-Transitive R Classes... (Tái cấu trúc > Di chuyển đến lớp R không mang tính chất bắc cầu)

Cập nhật hỗ trợ Apple Silicon

Đối với những người sử dụng macOS trên phần cứng Apple Silicon (arm64), Android Studio Arctic Fox và Trình mô phỏng Android đã hỗ trợ cấu trúc mới này kể từ năm ngoái. Tuy nhiên, với bản phát hành này, chúng tôi hiện đã cập nhật công cụ nền tảng SDK Android phiên bản 32.0.0 (bao gồm công cụ khởi động nhanh và công cụ adb) cũng như công cụ xây dựng phiên bản 32.1.0 (bao gồm cả aapt) thành tệp nhị phân chung để các công cụ dành cho nhà phát triển Android có thể chạy mà không cần đến trình biên dịch tệp nhị phân Rosetta. Xem Ghi chú phát hành về công cụ của nền tảng SDK.

Tính năng mới trong Layout Inspector

Ghi lại ảnh chụp nhanh về hệ thống phân cấp bố cục

Giờ đây, Layout Inspector cho phép bạn lưu ảnh chụp nhanh về hệ thống phân cấp bố cục của ứng dụng đang chạy, nhờ vậy, bạn có thể dễ dàng chia sẻ với những người khác hoặc để tham khảo sau.

Ảnh chụp nhanh ghi lại dữ liệu mà bạn thường thấy khi sử dụng Layout Inspector, bao gồm cả thông tin kết xuất chi tiết ở dạng 3D về bố cục, cây thành phần của Khung hiển thị, ứng dụng Compose hoặc bố cục kết hợp và các thuộc tính chi tiết của mỗi thành phần trong giao diện người dùng. Để lưu ảnh chụp nhanh, hãy làm như sau:

  1. Triển khai ứng dụng của bạn cho thiết bị chạy API cấp 23 trở lên
  2. Mở Layout Inspector bằng cách chọn View (Xem) > Tool Windows (Cửa sổ công cụ) > Layout Inspector.
  3. Layout Inspector sẽ tự động kết nối với quá trình xử lý ứng dụng. Nếu không, hãy chọn quá trình xử lý ứng dụng từ trình đơn thả xuống.
  4. Khi bạn muốn ghi lại ảnh chụp nhanh, hãy nhấp vào biểu tượng Export snapshot (Xuất ảnh chụp nhanh) Biểu tượng
xuất trên thanh công cụ của Layout Inspector.
  5. Trong hộp thoại hệ thống vừa xuất hiện, hãy chỉ định tên và vị trí bạn muốn lưu ảnh chụp nhanh. Hãy nhớ lưu tệp có đuôi là *.li.

Sau đó, bạn có thể tải ảnh chụp nhanh của Layout Inspector bằng cách chọn File > Open (Tệp > Mở) trên thanh trình đơn chính rồi mở tệp *.li.

Ảnh chụp nhanh trong Layout Inspector cho ứng dụng mẫu Sunflower

Hỗ trợ kiểm tra ngữ nghĩa trong Compose

Trong bộ công cụ Compose, Semantics (Ngữ nghĩa học)sẽ mô tả giao diện người dùng theo một cách khác dễ hiểu đối với các dịch vụ Hỗ trợ tiếp cận và khung Thử nghiệm. Trong Android Studio Bumblebee, giờ đây bạn có thể sử dụng Layout Inspector để kiểm tra thông tin ngữ nghĩa trong bố cục của công cụ Compose.

Thông tin ngữ nghĩa hiển thị thông qua Layout Inspector

Khi chọn nút Compose, hãy dùng cửa sổ Attributes (Thuộc tính) để kiểm tra xem nút đó có trực tiếp khai báo thông tin ngữ nghĩa, hợp nhất ngữ nghĩa của các phần tử con hoặc cả hai hay không. Để nhanh chóng xác định nút nào có chứa thông tin ngữ nghĩa, đã được khai báo hoặc hợp nhất, hãy dùng trình đơn thả xuống View options (Tuỳ chọn xem) trong cửa sổ Component Tree (Cây thành phần) rồi chọn Highlight Semantics Layers (Làm nổi bật các lớp ngữ nghĩa). Thao tác này chỉ làm nổi bật các nút trong cây chứa thông tin ngữ nghĩa và bạn có thể dùng bàn phím để nhanh chóng di chuyển giữa các nút đó.

Tránh tình trạng Hoạt động khởi động lại

Việc kết nối Layout Inspector với một ứng dụng đang chạy trên các phiên bản Android Studio cũ sẽ khiến Hoạt động của ứng dụng khởi động lại. Việc đặt cờ thiết bị để kiểm tra bố cục của ứng dụng là bắt buộc.

Trong Android Studio Bumblebee, bạn có thể tránh tình trạng Hoạt động khởi động lại khi kết nối Layout Inspector bằng cách đặt cờ này trước theo một trong các bước sau:

  • Bật tuỳ chọn Run Configuration (Cấu hình chạy)

    1. Chọn Run > Edit Configurations (Chạy > Chỉnh sửa cấu hình) trên thanh trình đơn chính. Hộp thoại Run/Debug Configurations (Cấu hình chạy/gỡ lỗi) sẽ hiện ra.
    2. Chuyển đến cấu hình chạy mà bạn muốn sử dụng.
    3. Trong phần Layout Inspector options (Tuỳ chọn của Layout Inspector), hãy đánh dấu vào hộp bên cạnh tuỳ chọn Connect to Layout Inspector without restarting activity (Kết nối với Layout Inspector mà không cần khởi động lại hoạt động).
    4. Sử dụng cấu hình chạy vào lần tiếp theo bạn muốn kiểm tra ứng dụng của mình bằng Layout Inspector.
  • Cách đặt cờ từ dòng lệnh:

    1. Mở một cửa sổ dòng lệnh trên máy được kết nối với thiết bị của bạn
    2. Đặt cờ thiết bị cho ứng dụng của bạn bằng lệnh sau đây:
    adb shell settings put global debug_view_attributes_application_package <my_package_name>
    
    1. Triển khai ứng dụng của bạn cho thiết bị và kết nối Layout Inspector. Android Studio sẽ kiểm tra xem cờ đã được đặt hay chưa để tránh tình trạng khởi động lại Hoạt động nếu có thể.

Ghi lại ảnh chụp nhanh trong Layout Inspector ở dạng tài liệu

Giờ đây, bạn có ghi lại ảnh chụp nhanh về hệ thống phân cấp bố cục của ứng dụng để lưu, chia sẻ hoặc kiểm tra sau. Ảnh chụp nhanh ghi lại dữ liệu mà bạn thường thấy khi sử dụng Layout Inspector, bao gồm thông tin hiển thị chi tiết ở dạng 3D về bố cục, cây thành phần của Thành phần hiển thị, bộ công cụ Compose hoặc bố cục kết hợp và các thuộc tính chi tiết của mỗi thành phần trong giao diện người dùng. Khi kiểm tra bố cục của một ứng dụng đang chạy, hãy nhấp vào biểu tượng Export snapshot (Xuất ảnh chụp nhanh) Biểu tượng
xuất trên thanh công cụ của Layout Inspector và lưu ảnh chụp nhanh ở dạng tệp có đuôi *.li. Sau đó, bạn có thể tải ảnh chụp nhanh của Layout Inspector bằng cách chọn File > Open (Tệp > Mở) trên thanh trình đơn chính rồi mở tệp *.li. Ảnh chụp nhanh sẽ xuất hiện trên một thẻ trong cửa sổ Trình chỉnh sửa để bạn có thể dễ dàng so sánh thông tin này với ứng dụng đang chạy.

Tính năng mới trong cửa sổ Kiểm tra ứng dụng

Trong Android Studio Bumblebee, cửa sổ Kiểm tra ứng dụng có một số công cụ và chức năng mới. Bạn có thể mở App Inspector (Trình kiểm tra ứng dụng) bằng cách chọn View > Tool Windows > App Inspection (Xem > Cửa sổ công cụ > Kiểm tra ứng dụng) trên thanh trình đơn chính.

Công cụ kiểm tra mạng

Giờ đây, Trình phân tích mạng trong cửa sổ công cụ Profilers (Trình phân tích tài nguyên) đã chuyển sang cửa sổ công cụ App Inspection (Kiểm tra ứng dụng). Nếu bạn đã từng dùng Trình phân tích mạng, thì tất cả các tính năng tương tự và dữ liệu đa dạng về lưu lượng truy cập mạng sẽ vẫn được cung cấp. Bạn chỉ cần triển khai ứng dụng của mình cho một thiết bị chạy API cấp 26 trở lên và mở thẻ App Inspector > Network Inspector (Công cụ kiểm tra ứng dụng > Công cụ kiểm tra mạng).

Kiểm tra Công việc, Chuông báo và Hoạt động khoá chế độ thức

Background Task Inspector (Công cụ kiểm tra tác vụ trong nền) hiện cho phép bạn kiểm tra Công việc, Chuông báo và Hoạt động khoá chế độ thức của ứng dụng, ngoài chức năng hỗ trợ hiện tại để kiểm tra Worker (Trình chạy). Giờ đây, mỗi loại tác vụ không đồng bộ sẽ xuất hiện với tiêu đề phù hợp trong thẻ công cụ kiểm tra, cho phép bạn dễ dàng theo dõi trạng thái và tiến trình của tác vụ đó. Tương tự với Worker (Trình chạy), bạn cũng có thể chọn một Công việc, Chuông báo hoặc Hoạt động khoá chế độ thức để kiểm tra thông tin chi tiết của trình chạy đó trong bảng Task Details (Thông tin chi tiết về tác vụ).

Công cụ kiểm tra tác vụ trong nền hiển thị Công việc, Chuông báo và Hoạt động khoá chế độ thức

Do Worker (Trình chạy) sử dụng Công việc và Hoạt động khoá chế độ thức nâng cao, nên các tác vụ mà Worker (Trình chạy) đã lên lịch sẽ xuất hiện ở dạng phần tử con của mỗi Worker (Trình chạy). Xin lưu ý rằng bạn chỉ có thể xem Worker (Trình chạy) ở chế độ Biểu đồ.

Gỡ lỗi qua Wi-Fi

Android Studio Bumblebee hỗ trợ tính năng gỡ lỗi qua Wi-Fi trên các thiết bị Android 11 trở lên. Ghép nối và triển khai ứng dụng của bạn trên Android Studio qua Wi-Fi mà không cần sử dụng cáp USB hoặc quản lý các kết nối của Cầu gỡ lỗi Android (adb) bằng dòng lệnh. Để sử dụng, hãy chuyển đến tuỳ chọn Pair devices using Wi-Fi (Ghép nối thiết bị bằng Wi-Fi) trong trình đơn chọn thiết bị, sau đó chọn một mã QR hoặc mã ghép nối ở dạng mã PIN. Sau đó, trên thiết bị Android 11 trở lên, trong mục Tuỳ chọn cho nhà phát triển, hãy tìm màn hình Gỡ lỗi qua Wi-Fi rồi khởi chạy và kết nối với một phiên adb qua Wi-Fi bằng Android Studio. Hãy tìm hiểu thêm về tính năng gỡ lỗi qua Wi-Fi qua bài viết Kết nối với thiết bị qua Wi-Fi (Android 11 trở lên).

Ghép nối một thiết bị qua Wi-Fi

Trình chạy kiểm thử hợp nhất cho Gradle

Trình bổ trợ Android cho Gradle 7.1.0 và Android Studio Bumblebee trở lên sử dụng hoạt động triển khai riêng của Gradle đối với trình chạy kiểm thử được đo lường cho Android để chạy các hoạt động kiểm thử được đo lường. Bằng cách sử dụng cùng một trình chạy kiểm thử, các kết quả có thể nhất quán cho dù bạn chạy bằng AGP từ dòng lệnh, chẳng hạn như trên máy chủ tích hợp liên tục hay từ Android Studio.

Trình chạy kiểm thử hợp nhất cho Gradle trong Bumblebee

Các phiên bản cũ của Android Studio sử dụng trình chạy kiểm thử được đo lường cho Android phiên bản IntelliJ thay vì trình chạy kiểm thử được đo lường cho Android của Gradle. Vì vậy, nếu không sử dụng Android Studio phiên bản mới nhất, tuỳ thuộc vào việc bạn chạy chương trình kiểm thử bằng Android Studio hay bằng dòng lệnh với Plugin Gradle, thì bạn có thể thấy các kết quả kiểm thử khác nhau, chẳng hạn như chương trình kiểm thử cho kết quả đạt trên một trình chạy này nhưng lại cho kết quả không đạt trên một trình chạy khác.

Các trình chạy kiểm thử riêng biệt trong các phiên bản Android Studio cũ

Nếu bạn đã lưu cấu hình kiểm thử được đo lường vào dự án của mình, thì các cấu hình này sẽ sử dụng Gradle để chạy hoạt động kiểm thử trên thiết bị đã kết nối. Bạn có thể tạo một cấu hình mới cho hoạt động kiểm thử được đo lường bằng cách sử dụng thao tác định hướng bên cạnh lớp hoặc phương thức kiểm thử, như minh hoạ dưới đây.

Chạy hoạt động kiểm thử bằng thao tác định hướng

Khi chạy các hoạt động kiểm thử được đo lường, bạn có thể xác nhận rằng Android Studio đang sử dụng trình chạy kiểm thử của Gradle bằng cách kiểm tra đầu ra của hoạt động kiểm thử trong Ma trận thử nghiệm cho đầu ra tác vụ của Gradle. Mặc dù, chúng tôi đang cải thiện tính năng này trong mỗi bản phát hành của Android Studio, nhưng vẫn có một số vấn đề đã biết. Nếu bạn đang gặp vấn đề, hãy báo cáo lỗi. Bạn cũng có thể tắt quy trình kiểm thử mới để quay lại hành vi cũ.

Theo mặc định, Trình mô phỏng Android hiện chạy trực tiếp bên trong Android Studio

Theo mặc định, Trình mô phỏng Android chạy trực tiếp bên trong Android Studio. Điều này cho phép bạn bảo toàn chế độ hiển thị màn hình, di chuyển nhanh giữa trình mô phỏng và cửa sổ trình chỉnh sửa bằng cách sử dụng phím tắt, đồng thời sắp xếp quy trình cho IDE và trình mô phỏng trong một cửa sổ ứng dụng duy nhất.

Trình mô phỏng chạy trong một cửa sổ công cụ trong Android Studio.

Khi trình mô phỏng đang chạy, bạn có thể thực hiện các hành động phổ biến trong trình mô phỏng như xoay và dùng các chế độ điều khiển mở rộng như phát và điều hướng. Để chạy trình mô phỏng trong một cửa sổ riêng, hãy chuyển đến File (Tệp) > Settings (Cài đặt) > Tools (Công cụ) > Emulator (Trình mô phỏng) (Android Studio > Preferences (Lựa chọn ưu tiên) > Tools (Công cụ) > Emulator (Trình mô phỏng) trên macOS) rồi bỏ chọn Launch in a tool window (Chạy trong cửa sổ công cụ).

Tắt quy trình kiểm thử mới

Theo mặc định, Android Studio Bumblebee sử dụng Gradle để chạy các hoạt động kiểm thử được đo lường của mình. Nếu đang gặp vấn đề, bạn có thể vô hiệu hoá hành vi này như sau:

  1. Chọn File (Tệp) > Settings (Cài đặt) > Build, Execution, Deployment (Xây dựng, Thực thi, Triển khai) > Testing (Kiểm thử) (hoặc Android Studio > Preferences (Tuỳ chọn) > Build, Execution, Deployment (Xây dựng, Thực thi, Triển khai) > Testing (Kiểm thử) đối với MacOS.)
  2. Bỏ đánh dấu hộp bên cạnh Run Android instrumented tests using Gradle (Chạy các hoạt động kiểm thử được đo lường cho Android bằng Gradle) rồi nhấp vào OK.

Bạn cũng có thể quay lại các hành vi cũ bằng cách thực hiện một trong những thao tác sau đây:

  • Khi chạy các tác vụ của Gradle từ dòng lệnh, hãy sử dụng tham số dòng lệnh sau: -Pandroid.experimental.androidTest.useUnifiedTestPlatform=false
  • Thêm tham số sau đây vào tệp gradle.properties của dự án: android.experimental.androidTest.useUnifiedTestPlatform=false

Để giải quyết các vấn đề mà bạn có thể gặp phải, hãy báo cáo lỗi.

Trình quản lý thiết bị mới

Cửa sổ Trình quản lý thiết bị mới, trong đó lựa chọn "pair device" (ghép nối thiết bị) được làm nổi bật trong trình đơn

Device Manager (Trình quản lý thiết bị) là một ứng dụng thay thế độc lập cho Trình quản lý thiết bị ảo Android, trên cả Màn hình chào mừng của Android Studio hoặc sau khi bạn mở một dự án. Trình quản lý thiết bị giới thiệu một số tính năng mới giúp bạn dễ dàng tạo và quản lý tất cả thiết bị kiểm thử trên máy, chẳng hạn như:

  • Một giao diện người dùng linh hoạt hơn hỗ trợ việc đưa vào môi trường phát triển tích hợp (IDE), thành phần nổi hoặc một cửa sổ riêng biệt, chẳng hạn như bạn có thể đưa vào các cửa sổ công cụ khác của Android Studio. Điều này giúp bạn dễ dàng truy cập vào các thiết bị của mình hơn mà không gây trở ngại các cửa sổ khác của IDE.
  • Thẻ Virtual (Ảo) cho phép bạn tạo, quản lý và triển khai các thiết bị ảo; xem nhanh thông tin chi tiết về từng thiết bị; hoặc kiểm tra nhanh thiết bị trong Trình khám phá tệp trên thiết bị chỉ bằng một thao tác nhấp chuột.
  • Thẻ Physical (Thực) cho phép bạn nhanh chóng ghép nối với một thiết bị mới bằng cách sử dụng Cầu gỡ lỗi Android (ADB) qua Wi-Fi và xem nhanh thông tin chi tiết về từng thiết bị thực. Bạn cũng có thể nhanh chóng kiểm tra hệ thống tệp của từng thiết bị bằng Trình khám phá tệp trên thiết bị chỉ với một thao tác nhấp vào nút.

Để mở Device Manager (Trình quản lý thiết bị) mới, hãy làm theo một trong những cách sau:

  • Trên màn hình Chào mừng của Android Studio, hãy chọn More Actions (Thao tác khác) > Virtual Device Manager (Trình quản lý thiết bị ảo).
  • Sau khi mở một dự án, hãy chọn View (Xem) > Tool Windows (Cửa sổ công cụ) > Device Manager (Trình quản lý thiết bị) trên thanh trình đơn chính.

Phát hiện giao diện người dùng bị giật

Giờ đây, khi định cấu hình ứng dụng bằng thiết bị chạy Android 11 (API cấp 30) trở lên, Trình phân tích CPU sẽ cho thấy một nhóm kênh theo dõi mới minh hoạ các giai đoạn của mỗi khung hình trong Frame Lifecycle (Vòng đời khung hình): Application (Ứng dụng), Wait for GPU (Chờ GPU), Composition (Quá trình kết hợp) và Frames on display (Khung hình hiển thị). Mỗi kênh sẽ gắn nhãn các khung bằng số khung và áp dụng mã màu cho hình chữ nhật để giúp bạn dễ hình dung vị trí của một khung cụ thể trong vòng đời, cùng với hướng dẫn mà bạn có thể bật/tắt để so sánh với Sự kiện Vsync. Bạn có thể sử dụng dữ liệu này để hiểu vị trí có thể xảy ra tình trạng giật trong ứng dụng và điều tra nguyên nhân gốc rễ. Trong bảng Phân tích, hiện có một thẻ Khung, giúp bạn tóm tắt thông tin kết xuất cho tất cả khung hình một cách thuận tiện. Để biết thêm thông tin, hãy xem bài viết Phát hiện giao diện người dùng trên giao diện người dùng.

Hỗ trợ hồ sơ ứng dụng

Khi tạo hồ sơ cho ứng dụng, điều quan trọng là bạn phải tạo dữ liệu chính xác bằng phiên bản ứng dụng giống nhất với phiên bản mà người dùng sẽ cài đặt. Để làm như vậy, giờ đây, bạn có thể đưa thuộc tính <profileable> vào tệp kê khai của ứng dụng để các ứng dụng hồ sơ không thể gỡ lỗi, như mã thể hiện dưới đây.

<profileable android:shell="true"/>

Hồ sơ có thể định cấu hình là tệp cấu hình tệp kê khai được giới thiệu trong Android 10, đồng thời có sẵn cho các tác vụ lập hồ sơ CPU và Bộ nhớ. Lợi ích chính khi sử dụng cờ có thể định cấu hình thay cho cờ có thể gỡ lỗi là giảm chi phí đo lường hiệu suất. Tuy nhiên, một số tính năng định cấu hình không dành cho các bản dựng Có thể định cấu hình, chẳng hạn như tiến trình Sự kiện, quá trình đi cấu hình do API bắt đầu, tệp báo lỗi hoặc bản ghi vị trí trực tiếp. Để biết thêm thông tin, hãy xem Ứng dụng có thể lập hồ sơ.

Thu gọn khung Callstack

Bây giờ, bạn có thể thu gọn các khung không liên quan đến cuộc điều tra khi kiểm tra Bản ghi mẫu Callstack trong cửa sổ công cụ Profilers. Các ngăn xếp lệnh gọi rất hữu ích trong việc giúp bạn nắm rõ được phần nào của mã đã được thực thi và lý do lệnh đó được gọi. Tuy nhiên, ngăn xếp cho chương trình Java/Kotlin thường không chỉ bao gồm mã Java/Kotlin, mà còn bao gồm các khung từ mã gốc có thể gây mất tập trung. Để tìm hiểu thêm về cách tinh chỉnh chế độ xem Callstack, hãy xem Kiểm tra khung callstack.

Bản phát hành của bản vá

Dưới đây là danh sách các bản phát hành của Bản vá trong Android Studio Bumblebee.

Android Studio Bumblebee | 2021.1.1 Bản vá 3 (Tháng 4 năm 2022)

Bản cập nhật nhỏ này bao gồm các bản sửa lỗi sau:

  • Trình bổ trợ Android cho Gradle
    • Các vấn đề trùng lặp về lớp do R8 báo cáo
  • Biến thể xây dựng
    • versionNameSuffix không còn hoạt động nữa nếu tên phiên bản của biến thể được đặt thông qua API onVariant mới
  • Tính năng xem trước trong Compose
    • Sửa lỗi liên quan đến hiệu suất và độ ổn định.
    • Giải quyết tình trạng ứng dụng bị treo đôi khi xảy ra khi dùng tính năng Chỉnh sửa trực tiếp của Literals
  • Công cụ kiểm tra mạng
    • Công cụ kiểm tra mạng mới gặp sự cố sau khi cập nhật Bumblebee
    • Tôi liên tục gặp lỗi này khi trình gỡ lỗi được kết nối trên phiên bản Android Studio mới nhất.
    • TrackedHttpURLConnection.getHeaderField gặp sự cố với NullPointerException
Để biết thêm thông tin, hãy xem Bài đăng trên blog về Android Studio Bumblebee Bản vá 1

Android Studio Bumblebee | 2021.1.1 Bản vá 2 (tháng 2/2022)

Bản cập nhật này bao gồm các bản sửa lỗi sau:

  • Bản dựng C++
    • ModelCache.safeGet(androidProjectResult.androidProject::getNdkVersion, "") không được có giá trị rỗng
  • Trình soạn thảo mã
    • Lỗi trong Mẫu trực tiếp của Android Studio – biểu thức className() không phân giải tên lớp
  • D8/R8
    • java.lang.NoSuchMethodError: Không có phương thức $jacocoInit tĩnh
    • Phạm vi kiểm thử Android không hoàn thành do lỗi Mockito
    • Cần có giải pháp cho quá trình triển khai CAS không thành công trên API 31
    • Lớp kín không được hỗ trợ
    • NullPointerExceptions khi bật tính năng hợp nhất lớp theo chiều ngang trong Chrome
    • AbstractMethodError sau khi hợp nhất phương thức ảo
    • Không xác minh được khung ngăn xếp do loại đầu ra khởi tạo lớp không đúng
    • Đầu vào Dex sử dụng một thanh ghi chưa được xác định
    • StringBuilderOptimizerAnalysisTest không thực hiện được trên các nhánh của bản phát hành
    • Thuyết không đơn định trong R8
  • Bản triển khai
    • Không chạy được dự án của ứng dụng chủ sở hữu thiết bị với thông báo lỗi là "Không chấm dứt được quy trình hiện tại của"
  • Công cụ thiết kế
    • Bản xem trước của Compose không tìm thấy tài nguyên từ các mô-đun khác khi lớp R không mang tính chất bắc cầu ở trạng thái bật
    • Studio bị treo trong quá trình xây dựng.
  • Trình mô phỏng được nhúng
    • Các điểm cải tiến khác về hiệu suất và độ ổn định.
  • Nhập/Đồng bộ hoá
    • Lỗi IDE khi chạy Bumblebee: Không có tệp bản dựng liệt kê danh sách đầu ra cho APK loại đầu ra trong IdeBuildTaskAndOutput Informationimp
  • IntelliJ
    • Các biến Env không được cung cấp khi chạy trên Mac OS X Monterey Dock
  • Jetpack (AndroidX) > Điều hướng
    • Nâng cấp SafeArgs được xây dựng dựa trên AGP ổn định mới nhất
  • Cửa sổ công cụ
    • Không chạy được Trình quản lý thiết bị Android
    • Công cụ kiểm tra mạng trong BumbleBee không hiển thị phản hồi của API ở định dạng có thể đọc được
Để biết thêm thông tin, hãy xem bài đăng trên blog về Android Studio Bumblebee Bản vá 2.

Android Studio Bumblebee | 2021.1.1 Bản vá 1 (tháng 2/2022)

Bản cập nhật nhỏ này bao gồm các bản sửa lỗi sau:

  • Trình mô phỏng
    • Không kết nối được với trình mô phỏng được nhúng sau khi nâng cấp lên Bumblebee (máy Mac M1)
  • IntelliJ
    • Các biến Env không được cung cấp khi chạy trên Mac OS X Monterey Dock

Để biết thêm thông tin, hãy xem bài đăng trên blog về Android Studio Bumblebee Bản vá 1.

Android Studio Arctic Fox | 2020.3.1

Android Studio Bumblebee là một bản phát hành chính có nhiều tính năng và điểm cải tiến sau.

Android Studio Arctic Fox | 2020.3.1 Bản vá 4 (Tháng 12/2021)

Bản cập nhật nhỏ này bao gồm các bản sửa lỗi sau:

  • Trình bổ trợ Android cho Gradle
    • Việc đặt Provider cho VariantOutput.verison có thể gây lỗi cho bộ nhớ đệm cấu hình
    • gradeResValues.xml chưa được cập nhật khi ký để phát hành
  • D8/R8
    • java.lang.ClassCastException được tạo trong hàm khởi tạo của lớp trong bản dựng được rút gọn bằng R8
    • Không truy cập được vào hoạt động điều chỉnh loại khi hợp nhất định dạng dex
    • java.lang.VerifyError: Trình xác minh không xác minh được vì không thể truy cập vào trường thực thể từ đối tượng của loại Reference.java.lang.Object
  • Tìm lỗi mã nguồn
    • Tắt tính năng kiểm tra tìm lỗi mã nguồn MediaCapabilities
    • Công cụ tìm lỗi mã nguồn báo cáo lỗi dương tính giả [Có thể tạo phiên bản] khi shrinkResources được bật
  • Mẫu
    • Tuỳ chọn Nhập mô-đun đã chuyển sang màu xám

Để biết thêm thông tin, hãy xem bài đăng trên blog về phiên bản 2020.3.1 Bản vá 4.

Android Studio Arctic Fox | 2020.3.1 Bản vá 3 (Tháng 10/2021)

Bản cập nhật nhỏ này bao gồm các bản sửa lỗi sau:

  • Trình bổ trợ Android cho Gradle
    • Trình bổ trợ độc lập tìm lỗi mã nguồn không xử lý phần phụ thuộc gradleApi() đúng cách
    • Bản dựng JPS được kích hoạt trong khi bản dựng Gradle chạy bên ngoài Studio
    • Bật cả KSP và Kapt trong một dự án có chứa cả hai bộ xử lý tạo ra hiện tượng ngắt nguồn BundleLibraryClassesInputs
  • Trình chỉnh sửa C++
    • Giao diện người dùng bị treo do tác vụ tính toán JniReferencesSearch dài trong nền
  • Trình kiểm tra cơ sở dữ liệu
    • Cho phép lưu các cơ sở dữ liệu
    • Không xuất được dữ liệu bằng cách sử dụng công cụ Kiểm tra ứng dụng/Trình kiểm tra cơ sở dữ liệu có không gian trống trong đường dẫn
  • Dexer (D8)
    • Giá trị lambda của Java gây ra hành vi không mong muốn khi phân lớp con
  • Trình rút gọn (R8)
    • Lỗi Cannot constrain type trong khi rút gọn r8
    • Vấn đề khi thực thi R8 3.0.69 (từ AGP 7.0.2) và 3.0.72

Để biết thêm thông tin, hãy xem bài đăng trên blog về phiên bản 2020.3.1 Bản vá 3.

Android Studio Arctic Fox | 2020.3.1 Bản vá 2 (Tháng 9/2021)

Bản cập nhật nhỏ này bao gồm các bản sửa lỗi sau:

  • Trình bổ trợ Android cho Gradle
    • Tính năng đồng bộ hoá của Gradle đã phát hành 10 LẦN khi nâng cấp từ AS Arctic Fox Canary 7 lên Canary 8
    • Bản dựng đơn giản hoá và có thể mô phỏng
  • Bản dựng C++
    • Trình bổ trợ Android cho Gradle 7.0.0 không bao gồm jniLibs trong APK nếu phần kết thúc tasks.whenTaskAdded được sử dụng
  • Chức năng chỉnh sửa
    • MergedManifestRefreshListener bị kẹt trong một vòng lặp vô hạn trong Arctic Fox
  • Tìm lỗi mã nguồn
    • "Hoạt động kiểm tra tìm lỗi mã nguồn để kiểm tra tìm lỗi mã nguồn" hiện không chạy
  • Trình rút gọn (R8)
    • Xuất hiện lỗi ClassNotFoundException khi chạy bản dựng bằng R8 trong AGP7

Để biết thêm thông tin, hãy xem bài đăng trên blog về phiên bản 2020.3.1 Bản vá 2.

Android Studio Arctic Fox | 2020.3.1 Bản vá 1 (Tháng 8/2021)

Bản cập nhật này đã khắc phục các vấn đề sau:

  • Trình bổ trợ Android cho Gradle
    • TypedefRemover sử dụng ASM5 và TypedefRemover không tương thích với các nguồn JDK 11 yêu cầu ASM7
    • Không thể dùng một số khối DSL mới từ Groovy DSL trong AGP 7.0.0
    • Phiên bản ổn định AGP 7.0.0 gửi ExternalApiUsageException trên libraryVariants.all{applicationId}
  • Trình gỡ lỗi C++
    • AS Arctic Fox gặp lỗi khi bắt đầu phiên gỡ lỗi gốc trên Mac M1, "Đã tìm thấy cấu hình LLDB bị hỏng"
  • Trình quản lý tài nguyên
    • (Windows) New (Mới) > Vector Asset (Tài sản dạng vectơ) > picture.svg: ký tự "minus" không hợp lệ trong xml được tạo
  • Trình rút gọn (R8)
    • NPE trong BridgeHoisting
    • Sau khi nâng cấp lên 7.0.0, R8 gặp lỗi "Phương thức trả về hoạt động sử dụng không mong muốn sau khi ở trạng thái nội dòng"

Để biết thêm thông tin, hãy xem bài đăng trên blog về phiên bản 2020.3.1 Bản vá 1.

Đánh số phiên bản mới

Cập nhật cách đánh số phiên bản cho Android Studio

Chúng tôi đã thay đổi hệ thống đánh số phiên bản cho Android Studio để phù hợp hơn với IntelliJ IDEA, IDE mà Android Studio dựa trên đó.

Trong hệ thống đánh số cũ, bản phát hành này sẽ được đánh số là Android Studio 4.3 hoặc phiên bản 4.3.0.1. Với hệ thống đánh số mới, bản phát hành này giờ đây sẽ là Android Studio – Arctic Fox | 2020.3.1 hoặc phiên bản 2020.3.1.

Phiên bản Intellij Tên cũ Cũ – Hệ thống số Mới – Hệ thống năm Tên phiên bản mới
2020.3 4.3 4.3.0 2020.3.1 Arctic Fox | 2020.3.1

Sau đây là cách xác định số phiên bản Android Studio:

<Year of IntelliJ Version>.<IntelliJ major version>.<Studio major version>.<Studio minor/patch version>

  • 2 nhóm số đầu tiên thể hiện phiên bản của nền tảng IntellIj mà một bản phát hành Android Studio cụ thể sẽ dựa vào đó. Đối với bản phát hành này, đây là phiên bản 2020.3.
  • Nhóm số thứ ba đại diện cho phiên bản chính của Studio, bắt đầu từ 1 và tăng dần từng phiên bản một cho mỗi bản phát hành chính.
  • Nhóm số thứ tư đại diện cho phiên bản nhỏ/bản vá của Studio, bắt đầu từ 1 và tăng dần từng phiên bản một cho mỗi bản phát hành nhỏ.
  • Chúng tôi cũng đặt tên phiên bản cho từng bản phát hành chính, tăng dần từ A đến Z dựa trên tên của các loài động vật. Bản phát hành này có tên là Arctic Fox.

Cập nhật cách đánh số phiên bản cho trình bổ trợ Android cho Gradle

Chúng tôi đã thay đổi cách đánh số phiên bản áp dụng với trình bổ trợ Android cho Gradle (AGP) để phù hợp hơn với công cụ xây dựng cơ bản của Gradle. Do đó, AGP 7.0 là bản phát hành tiếp theo sau AGP 4.2.

Để biết thêm thông tin chi tiết, hãy xem phần Các thay đổi liên quan đến việc tạo phiên bản trong ghi chú phát hành của AGP.

Trình bổ trợ Android cho Gradle 7.0.0

Phiên bản mới nhất của trình bổ trợ Android cho Gradle sẽ bao gồm nhiều bản cập nhật. Để tìm hiểu thêm, hãy đọc ghi chú phát hành đầy đủ của trình bổ trợ Android cho Gradle.

Hoạt động kiểm thử đơn vị hiện dùng trình chạy kiểm thử của Gradle

Để cải thiện tính nhất quán chung của các phiên chạy thử nghiệm, Android Studio hiện sử dụng Gradle để chạy mọi hoạt động kiểm thử đơn vị theo mặc định. Trong nhiều trường hợp, sự thay đổi này sẽ không ảnh hưởng đến quy trình kiểm thử của bạn trong IDE.

Ví dụ: Khi bạn nhấp vào lệnh Run (Chạy) trong trình đơn theo bối cảnh (hiển thị khi bạn nhấp chuột phải vào một lớp kiểm thử) hoặc thao tác định hướng tương ứng của lệnh đó, theo mặc định, Android Studio sẽ sử dụng cấu hình chaỵ của Gradle để chạy các hoạt động kiểm thử đơn vị.

Trình đơn theo bối cảnh để chạy hoạt động kiểm thử

Tuy nhiên, Android Studio không nhận dạng các cấu hình chạy JUnit hiện có của Android nữa, vì vậy, bạn nên di chuyển các cấu hình chạy JUnit của Android mà bạn có thể lưu ở dạng tệp dự án sang cấu hình chạy của Gradle.

Để tạo một cấu hình kiểm thử của Gradle, hãy chọn mẫu Gradle trong khi làm theo các hướng dẫn trong bài viết Tạo một cấu hình chạy/gỡ lỗi mới. Khi bạn đã tạo một cấu hình mới, cấu hình đó sẽ xuất hiện trong hộp thoại Edit Configurations (Chỉnh sửa cấu hình) trong phần Gradle:

Chỉnh sửa cấu hình kiểm thử trong Android Studio

Nếu muốn kiểm tra các cấu hình JUnit của Android hiện không nhận dạng được nữa, thì bạn có thể làm một trong hai việc sau:

  • Mở cấu hình đã lưu thủ công trong trình chỉnh sửa văn bản. Vị trí của các tệp này do người dùng chỉ định, nhưng các tệp thường xuất hiện trong <my-app>/.idea/runConfigurations/.
  • Tìm các cấu hình tạm thời trong <my-app>/.idea/workspace.xml và tìm ở bên dưới nút <component name="RunManager" ...>. Ví dụ:

    <component name="RunManager" selected="Gradle.PlantTest">
    …
    <configuration name="PlantTest" type="AndroidJUnit" factoryName="Android JUnit" nameIsGenerated="true">
          <module name="Sunflower.app" />
          <useClassPathOnly />
          <extension name="coverage">
            <pattern>
              <option name="PATTERN" value="com.google.samples.apps.sunflower.data.*" />
              <option name="ENABLED" value="true" />
            </pattern>
          </extension>
          <option name="PACKAGE_NAME" value="com.google.samples.apps.sunflower.data" />
          <option name="MAIN_CLASS_NAME" value="com.google.samples.apps.sunflower.data.PlantTest" />
          <option name="METHOD_NAME" value="" />
          <option name="TEST_OBJECT" value="class" />
          <option name="PARAMETERS" value="" />
          <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
          <method v="2">
            <option name="Android.Gradle.BeforeRunTask" enabled="true" />
          </method>
        </configuration>
    

Công cụ kiểm tra tác vụ trong nền phiên bản mới

Bạn có thể minh hoạ trực quan, theo dõi và gỡ lỗi các trình chạy trong nền của ứng dụng bằng Công cụ kiểm tra tác vụ trong nền phiên bản mới. Để bắt đầu, hãy triển khai ứng dụng của bạn trên một thiết bị chạy thư viện WorkManager 2.5.0 trở lên rồi chọn View (Xem) > Tool Windows (Cửa sổ công cụ) > App Inspection (Kiểm tra ứng dụng) trên thanh trình đơn.

Trình chạy đang hoạt động trong Công cụ kiểm tra tác vụ trong nền

Bạn có thể xem thêm thông tin chi tiết bằng cách nhấp vào một trình chạy. Ví dụ: Bạn có thể xem nội dung mô tả về trình chạy này, cách thực thi trình chạy, thông tin chi tiết về chuỗi trình chạy và kết quả thực thi.

Thẻ Thông tin chi tiết về trình chạy

Bạn cũng có thể xem hình ảnh biểu diễn của một chuỗi trình chạy bằng cách chọn một trình chạy trong bảng rồi nhấp vào biểu tượng Show Graph View (Hiện thành phần hiển thị biểu đồ) trên thanh công cụ. Sau đó, bạn có thể chọn bất kỳ trình chạy nào trong chuỗi để xem thông tin chi tiết hoặc dừng trình chạy nếu nó đang ở trong hàng đợi hoặc đang chạy. Để quay lại bảng, hãy nhấp vào biểu tượng Show List View (Hiện thành phần hiển thị danh sách) .

Chuỗi trình chạy trong Công cụ kiểm tra tác vụ trong nền

Để giúp bạn điều tra vấn đề của các trình chạy không thực thi được, bạn có thể dừng một trình chạy đang chạy hoặc đang ở trong hàng đợi bằng cách chọn nó trong bảng rồi nhấp vào biểu tượng Cancel Selected Worker (Huỷ trình chạy đã chọn) trên thanh công cụ. Bạn cũng có thể lọc trình chạy trong bảng theo thẻ mà bạn đã chỉ định cho trình chạy đó bằng cách dùng trình đơn thả xuống All tags (Tất cả các thẻ).

Cập nhật Trình kiểm tra cơ sở dữ liệu

Database Inspector (Trình kiểm tra cơ sở dữ liệu) hiện đã có trong cửa sổ công cụ mới App Inspection (Kiểm tra ứng dụng). Bạn cũng có thể tìm thấy Background Task Inspector (Công cụ kiểm tra tác vụ trong nền) phiên bản mới ở đây. Mở cửa sổ công cụ App Inspection (Kiểm tra ứng dụng) trên thanh cửa sổ công cụ hoặc chọn View (Xem) > Tool Windows (Cửa sổ công cụ) > App Inspection (Kiểm tra ứng dụng) trên thanh trình đơn.

Xuất dữ liệu trên Trình kiểm tra cơ sở dữ liệu

Trong Arctic Fox, bạn có thể dễ dàng xuất cơ sở dữ liệu, bảng và kết quả truy vấn trên Database Inspector (Trình kiểm tra cơ sở dữ liệu) để lưu, chia sẻ hoặc tạo lại trên máy. Khi mở dự án ứng dụng trong Android Studio và kiểm tra ứng dụng của dự án đó trong Database Inspector (Trình kiểm tra cơ sở dữ liệu), bạn có thể bắt đầu xuất dữ liệu theo một trong những cách sau:

  • Chọn một cơ sở dữ liệu hoặc bảng trong bảng Databases (Cơ sở dữ liệu) rồi nhấp vào Export to file (Xuất sang tệp) ở gần đầu bảng.
  • Nhấp chuột phải vào một cơ sở dữ liệu hoặc bảng trong bảng Databases (Cơ sở dữ liệu), rồi chọn Export to file (Xuất sang tệp) từ trình đơn ngữ cảnh.
  • Khi kiểm tra một bảng hoặc kết quả truy vấn trong một thẻ, hãy nhấp vào Export to file (Xuất sang tệp) ở phía trên bảng hoặc kết quả truy vấn đó.

Sau khi chọn một hành động xuất, bạn sẽ sử dụng hộp thoại Xuất để giúp bạn thực hiện các bước cuối cùng, như hiển thị bên dưới. Tuỳ thuộc vào việc bạn đang cố gắng xuất cơ sở dữ liệu, bảng hay kết quả truy vấn, bạn có thể chọn xuất dữ liệu ở một hoặc nhiều định dạng sau: DB, SQL hoặc CSV.

Hộp thoại Xuất cơ sở dữ liệu

Cập nhật giao diện người dùng để ghi trong Trình phân tích bộ nhớ

Chúng tôi đã hợp nhất giao diện người dùng (UI) của Trình phân tích bộ nhớ cho nhiều hoạt động ghi, chẳng hạn như ghi tệp báo lỗi và ghi lại quá trình phân bổ cho Java, Kotlin, cũng như bộ nhớ gốc.

Quá trình phân bổ bộ nhớ hiển thị trong Trình phân tích bộ nhớ

Trình phân tích bộ nhớ cung cấp các tuỳ chọn sau:

  • Capture heap dump (Ghi tệp báo lỗi): Xem các đối tượng trong ứng dụng đang sử dụng bộ nhớ tại một thời điểm cụ thể.
  • Record native allocations (Ghi lại quá trình phân bổ gốc): Xem cách thức phân bổ đối với mỗi đối tượng C/C++ trong một khoảng thời gian.
  • Record Java/Kotlin allocations (Ghi lại quá trình phân bổ cho Java/Kotlin): Xem cách thức phân bổ đối với mỗi đối tượng Java/Kotlin trong một khoảng thời gian.

Dưới đây là cách sử dụng 3 tuỳ chọn này:

  • Để ghi tệp báo lỗi, hãy nhấp vào Capture heap dump (Ghi tệp báo lỗi), sau đó chọn Record (Ghi). Sau khi trình phân tích tài nguyên hoàn tất việc ghi tệp báo lỗi, giao diện người dùng của Trình phân tích bộ nhớ sẽ chuyển sang một màn hình riêng hiển thị tệp báo lỗi.

    Tệp báo lỗi mẫu trong Trình phân tích bộ nhớ

  • Để ghi lại các lượt phân bổ mã gốc trên thiết bị chạy Android 10 trở lên, hãy chọn Record native allocations (Ghi mức phân bổ cho mã gốc), sau đó chọn Record (Ghi). Quá trình ghi sẽ tiếp tục cho đến khi bạn nhấp vào nút Stop (Dừng) , sau đó, giao diện người dùng của Trình phân tích bộ nhớ sẽ chuyển sang một màn hình riêng hiển thị quá trình ghi gốc.

    Trên Android 9 trở xuống, bạn không sử dụng được tuỳ chọn Record native allocations (Ghi lại quá trình phân bổ gốc).

  • Để ghi lại mức phân bổ cho Java và Kotlin, hãy chọn Record Java / Kotlin allocations (Ghi lại mức phân bổ cho Java/Kotlin), sau đó chọn Record (Ghi). Nếu thiết bị đang chạy Android 8 trở lên, thì giao diện người dùng của Trình phân tích bộ nhớ sẽ chuyển sang một màn hình riêng hiển thị quá trình ghi đang diễn ra. Bạn có thể tương tác với tiến trình thu nhỏ ở phía trên bản ghi (ví dụ: để thay đổi phạm vi lựa chọn). Để hoàn tất quá trình ghi, hãy chọn biểu tượng Stop (Dừng) .

    Hình ảnh minh hoạ quá trình phân bổ cho Java trong Trình phân tích bộ nhớ

    Trên Android 7.1 trở xuống, trình phân tích bộ nhớ sử dụng tính năng ghi quá trình phân bổ cũ, cho thấy quá trình ghi trên tiến trình cho đến khi bạn nhấp vào Stop (Dừng).

Cập nhật tuỳ chọn Làm mới dự án C++ đã liên kết

Chúng tôi đã di chuyển các tệp không liên quan đến cấu hình từ thư mục .cxx/ vào thư mục build/. Các bản dựng CMake C++ cần có một giai đoạn định cấu hình giúp tạo dự án Ninja dùng để thực thi các bước biên dịch và liên kết. Các dự án tạo bằng CMake rất tốn kém chi phí và dự kiến sẽ tiếp tục có hiệu lực khi không có Gradle. Vì lý do này, các dự án sẽ được lưu trữ trong thư mục có tên .cxx/, bên cạnh thư mục build/. Thông thường, trình bổ trợ Android cho Gradle sẽ nhận thấy các thay đổi về cấu hình và tự động tạo lại dự án Ninja. Tuy nhiên, không phải trường hợp nào cũng có thể được phát hiện. Khi trường hợp này xảy ra, tuỳ chọn "Refresh Linked C++ Project" (Làm mới dự án C++ đã liên kết) có thể được dùng để tạo lại dự án Ninja theo cách thủ công.

Ma trận thử nghiệm mới cho quá trình kiểm thử nhiều thiết bị

Giờ đây, các hoạt động kiểm thử đo lường có thể chạy song trên nhiều thiết bị và được điều tra thông qua một bảng điều khiển chuyên dùng về kết quả kiểm thử đo lường. Khi sử dụng bảng điều khiển này, bạn có thể xác định được rằng hoạt động kiểm thử có trạng thái không đạt là do cấp độ API hay do thuộc tính phần cứng.

Bảng điều khiển kiểm thử đo lường

Việc kiểm thử ứng dụng trên nhiều kiểu dáng và cấp độ API là một trong những cách tốt nhất nhằm mang lại trải nghiệm tuyệt vời cho tất cả người dùng khi họ dùng ứng dụng.

Để tận dụng tính năng này, hãy làm như sau:

  1. Chọn Select Multiple Devices (Chọn nhiều thiết bị) trong trình đơn thả xuống thiết bị mục tiêu ở trên cùng chính giữa của IDE.

    Hộp thoại sửa đổi chế độ thiết lập thiết bị

  2. Chọn thiết bị mục tiêu rồi nhấp vào OK.

    Hộp thoại sửa đổi chế độ thiết lập thiết bị

  3. Chạy hoạt động kiểm thử.

Để xem kết quả kiểm thử, trong bảng điều khiển Run (Chạy), hãy chuyển đến phần View > Tool Windows > Run (Xem > Cửa sổ công cụ > Chạy).

Bảng điều khiển mới về kết quả kiểm thử giúp bạn lọc kết quả kiểm thử theo trạng thái, thiết bị và cấp độ API. Ngoài ra, bạn có thể sắp xếp từng cột bằng cách nhấp vào tiêu đề. Khi nhấp vào một hoạt động kiểm thử riêng lẻ, bạn có thể xem riêng nhật ký và thông tin về thiết bị của từng thiết bị.

Hỗ trợ StateFlow trong liên kết dữ liệu

Đối với các ứng dụng Kotlin dùng coroutine, giờ đây, bạn có thể sử dụng các đối tượng StateFlow làm nguồn liên kết dữ liệu để tự động thông báo cho giao diện người dùng về các thay đổi trong dữ liệu. Các liên kết dữ liệu của bạn sẽ nhận biết được vòng đời và chỉ được kích hoạt khi giao diện người dùng hiển thị trên màn hình.

Để dùng một đối tượng StateFlow với lớp liên kết, bạn cần chỉ định một chủ sở hữu vòng đời để xác định phạm vi của đối tượng StateFlow. Đồng thời, trong bố cục của bạn, hãy chỉ định các thuộc tính và phương thức của thành phần ViewModel cho khung hiển thị tương ứng thông qua biểu thức liên kết, như minh hoạ trong ví dụ sau đây:

class ViewModel() {
   val username: StateFlow<String>
}
<TextView
    android:id="@+id/name"
    android:text="@{viewmodel.username}" />

Nếu bạn đang dùng ứng dụng Kotlin sử dụng AndroidX, thì chức năng hỗ trợ StateFlow sẽ tự động được đưa vào chức năng liên kết dữ liệu, bao gồm cả phần phụ thuộc của coroutine.

Để tìm hiểu thêm, hãy xem bài viết Làm việc với các đối tượng dữ liệu có thể quan sát.

Cải thiện thành phần nhập đề xuất

Chúng tôi đã cải thiện số lượng thư viện được tính năng thành phần nhập đề xuất hỗ trợ và cập nhật chỉ mục thường xuyên hơn. Tính năng thành phần nhập đề xuất giúp bạn dễ dàng và nhanh chóng nhập một số cấu phần phần mềm Maven của Google vào cả lớp và dự án Gradle. Khi Android Studio phát hiện thấy các biểu tượng chưa được giải quyết cho một số thư viện của Google, IDE sẽ đề xuất nhập thư viện vào cả lớp và dự án.

Hỗ trợ bộ nhớ đệm cấu hình trong Trình phân tích bản dựng

Trình phân tích bản dựng hiện xác định thời điểm một dự án không bật bộ nhớ đệm cấu hình và cung cấp dự án ở dạng tối ưu hoá. Trình phân tích bản dựng sẽ chạy quá trình đánh giá khả năng tương thích để thông báo cho bạn nếu có bất kỳ vấn đề nào với bộ nhớ đệm cấu hình trong dự án trước khi bộ nhớ này được bật.

Thông tin về bộ nhớ đệm cấu hình trong Trình phân tích bản dựng

Cải thiện Trợ lý nâng cấp cho AGP

Giờ đây, Trợ lý nâng cấp của trình bổ trợ Android cho Gradle sẽ có một cửa sổ công cụ xuất hiện liên tục, trong đó hiện danh sách các bước cần được hoàn thành. Thông tin bổ sung cũng sẽ xuất hiện ở phía bên phải của cửa sổ công cụ. Nếu cần, bạn cũng có thể chọn một phiên bản AGP khác để nâng cấp lên. Thao tác nhấp vào nút Refresh (Làm mới) sẽ cập nhật các bước cập nhật tương ứng.

Cửa sổ công cụ mới xuất hiện liên tục trong trợ lý nâng cấp

Hoạt động tái cấu trúc đối với lớp R không mang tính chất bắc cầu

Bạn có thể sử dụng các lớp R không mang tính chất bắc cầu với trình bổ trợ Android cho Grade để tạo các bản dựng nhanh hơn cho các ứng dụng có nhiều mô-đun. Làm như vậy sẽ giúp ngăn chặn tình trạng trùng lặp tài nguyên bằng cách đảm bảo rằng lớp R của mỗi mô-đun chỉ chứa tệp đối chiếu đến tài nguyên riêng của mô-đun đó mà không cần lấy các tệp đối chiếu từ các phần phụ thuộc tương ứng. Điều này giúp chúng ta có các bản dựng mới hơn cũng như nhận được các lợi ích tương ứng khi tránh hoạt động biên dịch.

Bạn có thể sử dụng tính năng này bằng cách chuyển đến Refactor > Migrate to Non-transitive R Classes (Tái cấu trúc > Di chuyển đến lớp R không mang tính chất bắc cầu).

Hỗ trợ cho công cụ Jetpack Compose

Chúng tôi hiện cung cấp chức năng hỗ trợ bổ sung cho các ứng dụng xem trước và kiểm thử sử dụng Jetpack Compose. Để có trải nghiệm tốt nhất khi phát triển bằng Jetpack Compose, bạn nên dùng Android Studio Arctic Fox phiên bản mới nhất để nhận được lợi ích từ các tính năng của trình chỉnh sửa thông minh, chẳng hạn như các mẫu New Project (Dự án mới) và khả năng xem trước ngay giao diện người dùng trong Compose.

Tính năng xem trước trong Compose

Hiện đã có các tham số sau đây cho phương thức @Preview:

  • showBackground: Bật và tắt một nền cho bản xem trước.
  • backgroundColor: Đặt một màu mà chỉ được dùng trong giao diện xem trước.
  • uiMode: Tham số mới này có thể lấy bất kỳ hằng số Configuration.UI_* nào và cho phép bạn thay đổi hành vi của bản xem trước để, chẳng hạn như đặt thành Chế độ ban đêm để xem phản ứng của giao diện này.

Giao diện người dùng của tính năng xem trước trong Compose

Bản xem trước tương tác

Bạn có thể sử dụng tính năng này để tương tác với các thành phần giao diện người dùng, nhấp vào các thành phần đó và xem trạng thái sẽ thay đổi như thế nào. Đây là một cách nhanh chóng để nhận được thông tin phản hồi về cách phản ứng của giao diện người dùng và để xem trước ảnh động. Để bật tính năng này, hãy nhấp vào biểu tượng Interactive (Tương tác) và thành phần hiển thị trước sẽ chuyển đổi các chế độ.

Để dừng, hãy nhấp vào Stop Interactive Preview (Dừng bản xem trước tương tác) trên thanh công cụ ở trên cùng.

Giao diện người dùng của bản xem trước tương tác

Triển khai cho thiết bị

Bạn có thể sử dụng tính năng này để triển khai đoạn mã của giao diện người dùng cho một thiết bị. Việc này giúp bạn kiểm thử các phần nhỏ của mã trong thiết bị mà không phải khởi động toàn bộ ứng dụng.

Nhấp vào biểu tượng Deploy to Device (Triển khai cho thiết bị) bên cạnh chú thích @Preview hoặc ở trên cùng của bản xem trước, và Android Studio sẽ triển khai @Preview đó trên trình mô phỏng hoặc thiết bị đã được kết nối của bạn.

Chỉnh sửa trực tiếp giá trị cố định

Chúng tôi đã thêm tính năng Chỉnh sửa trực tiếp giá trị cố định để giúp những nhà phát triển sử dụng Compose nhanh chóng chỉnh sửa giá trị cố định (chuỗi, số, boolean) trong mã của họ và xem kết quả ngay lập tức mà không cần chờ quá trình biên dịch. Mục tiêu của tính năng này là giúp tăng năng suất của bạn bằng cách làm cho các thay đổi về mã xuất hiện gần như ngay lập tức trong bản xem trước, trình mô phỏng hoặc thiết bị thực tế.

Việc chỉnh sửa số và chuỗi cập nhật ngay lập tức trong bản xem trước và trên thiết bị

Hỗ trợ Compose trong Layout Inspector

Layout Inspector cho phép bạn xem thông tin chi tiết phong phú về bố cục của ứng dụng đang chạy trên thiết bị đã kết nối của bạn. Bạn có thể tương tác với ứng dụng và xem thông tin cập nhật trực tiếp trong công cụ này để khắc phục nhanh các vấn đề có thể phát sinh.

Bạn có thể kiểm tra các bố cục đã viết bằng khung giao diện người dùng khai báo mới của Android, đó là Jetpack Compose. Cho dù ứng dụng của bạn dùng bố cục được viết đầy đủ trong ứng dụng Compose hay bố cục sử dụng kết hợp giữa Compose và Khung hiển thị, thì Layout Inspector vẫn sẽ giúp bạn hiểu được cách các bố cục hiển thị trên thiết bị đang chạy.

Bắt đầu

Để bắt đầu, hãy triển khai ứng dụng của bạn cho một thiết bị đã kết nối, sau đó mở cửa sổ Layout Inspector bằng cách chọn View (Xem) > Tool Windows (Cửa sổ công cụ) > Layout Inspector. Nếu Layout Inspector không tự động kết nối với quy trình ứng dụng của bạn, hãy chọn quy trình ứng dụng mong muốn trong danh sách quy trình kéo xuống. Bạn sẽ sớm thấy bố cục của ứng dụng hiển thị trong cửa sổ công cụ. Để bắt đầu kiểm tra bố cục của Compose, hãy chọn thành phần bố cục xuất hiện trong quy trình hiển thị hoặc chọn thành phần có trong Component Tree (Cây thành phần).

Giao diện người dùng của Layout Inspector

Cửa sổ Attributes (Thuộc tính) hiển thị cho bạn thông tin chi tiết về hàm Compose hiện được chọn. Trong cửa sổ này, bạn có thể kiểm tra các tham số của hàm cũng như giá trị của các tham số đó, bao gồm cả các giá trị sửa đổi và biểu thức lambda. Đối với biểu thức lambda, công cụ kiểm tra sẽ cung cấp một lối tắt để giúp bạn chuyển đến biểu thức trong mã nguồn.

Layout Inspector hiển thị mọi hàm của Compose trong ngăn xếp lệnh gọi thực hiện việc gửi các thành phần cho bố cục của ứng dụng. Trong nhiều trường hợp, hàm này bao gồm các hàm của Compose được Thư viện của Compose gọi trong nội bộ. Nếu bạn chỉ muốn xem các hàm của Compose trong Component Tree (Cây thành phần) mà ứng dụng trực tiếp gọi, hãy nhấp vào biểu tượng hành động của bộ lọc . Việc này có thể giúp giảm số nút hiển thị trong cây xuống số nút mà bạn muốn kiểm tra.

Cải thiện trình đơn thả xuống về triển khai

Hiện trình đơn thả xuống về thiết bị hiện phân biệt các loại lỗi khác nhau trong cấu hình thiết bị mà bạn chọn. Giờ đây, sự thay đổi về biểu tượng và văn phong sẽ phân biệt giữa lỗi (lựa chọn thiết bị dẫn đến cấu hình bị hỏng) và cảnh báo (lựa chọn thiết bị có thể dẫn đến hành vi không mong muốn nhưng vẫn chạy được).

Ngoài ra, giờ đây, Android Studio cũng sẽ cảnh báo bạn nếu bạn cố gắng chạy dự án trên một thiết bị có lỗi hoặc có cảnh báo liên quan đến dự án đó.

Trợ lý ghép nối Wear OS mới

Trợ lý ghép nối Wear OS mới sẽ hướng dẫn nhà phát triển ghép nối trình mô phỏng Wear OS với điện thoại thực tế hoặc điện thoại ảo ngay trong Android Studio theo từng bước một. Trợ lý này có thể giúp bạn cài đặt đúng ứng dụng đồng hành Wear OS trên điện thoại rồi thiết lập kết nối giữa hai thiết bị đó. Bạn có thể bắt đầu bằng cách chuyển đến trình đơn thả xuống về thiết bị > Wear OS Emulator Pairing Assistant (Trợ lý ghép nối trình mô phỏng Wear OS).

Bản minh hoạ về trợ lý ghép nối Wear OS

Mẫu bố cục thích ứng

Android Studio Arctic Fox hiện có một mẫu bố cục mới thích ứng với nhiều kích thước hiển thị cũng như hoạt động đổi kích thước ứng dụng, chẳng hạn như điện thoại, thiết bị có thể gập lại, máy tính bảng và chế độ chia đôi màn hình. Khi tạo một dự án hoặc mô-đun mới, hãy chọn mẫu Hoạt động thích ứng để tạo bố cục có các thành phần tự động đổi kích thước.

Mẫu bố cục thích ứng trong màn hình nhỏ Mẫu bố cục thích ứng trong màn hình vừa Mẫu bố cục thích ứng trong màn hình lớn

Để bắt đầu, hãy chuyển đến File > New (Tệp > Mới), chọn New Project (Dự án mới) hoặc New Module (Mô-đun mới) rồi chọn mẫu Responsive Activity (Hoạt động thích ứng).

Mẫu bố cục thích ứng trong trình hướng dẫn dự án mới

Vấn đề đã biết về Arctic Fox

Phần này mô tả các vấn đề hiện đã biết trong Android Studio Arctic Fox.

Bản vá không hoạt động trên Windows đối với phiên bản 3.6-v4.1

Các bản vá trên nền tảng Windows cho phiên bản 3.6-4.1 đối với Android Studio Arctic Fox có thể không hoạt động.

Phiên bản 4.2 (Tháng 4/2021)

Android Studio 4.2 là một bản phát hành chính có nhiều tính năng và điểm cải tiến mới.

Phiên bản 4.2.2 (Tháng 6/2021)

Bản cập nhật nhỏ này gồm một số bản sửa lỗi. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

4.2.1 (Tháng 5/2021)

Bản cập nhật nhỏ này bao gồm trình bổ trợ Kotlin 1.5.0 và nhiều bản sửa lỗi. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

Trình bổ trợ Android cho Gradle 4.2.0

Phiên bản mới nhất của trình bổ trợ Android cho Gradle sẽ bao gồm nhiều bản cập nhật. Để tìm hiểu thêm, hãy đọc ghi chú phát hành đầy đủ của trình bổ trợ Android cho Gradle.

Thay đổi về cấu hình và khả năng tương thích với Gradle

Khi chạy trong Android Studio, công cụ bản dựng Gradle sẽ sử dụng JDK đi kèm của Studio. Trong các bản phát hành trước, JDK 8 được tích hợp với Studio. Tuy nhiên, trong 4.2, JDK 11 sẽ được tích hợp để thay thế. Khi sử dụng JDK đi kèm mới để chạy Gradle, điều này có thể dẫn đến một số điểm không tương thích hoặc ảnh hưởng đến hiệu suất của JVM do những thay đổi đối với bộ thu gom rác. Những vấn đề này được mô tả trong ghi chú phát hành AGP.

Tuỳ chọn tối ưu hoá thời gian đồng bộ hoá Gradle

Để cải thiện hiệu suất đồng bộ hoá Gradle, Android Studio sẽ bỏ qua việc tạo danh sách tác vụ trong quá trình đồng bộ hoá. Điều này giúp quá trình đồng bộ hoá Gradle hoàn thành nhanh hơn và cải thiện khả năng thích ứng của giao diện người dùng cho các dự án có quy mô rất lớn. Tuỳ chọn này được bật theo mặc định trong Android Studio 4.2. Để tắt tuỳ chọn này, hãy chuyển đến File > Settings > Experimental (Tệp > Cài đặt > Thử nghiệm) (Preferences > Experimental (Lựa chọn ưu tiên > Thử nghiệm) trên máy Mac) và bỏ đánh dấu tuỳ chọn Do not build Gradle task list during Gradle sync (Không tạo danh sách tác vụ Gradle trong quá trình đồng bộ hoá Gradle).

Trình kiểm tra cơ sở dữ liệu

Cải tiến trình chỉnh sửa truy vấn

Trình kiểm tra cơ sở dữ liệu bao gồm một số điểm cải tiến để giúp bạn viết và thực thi các câu lệnh SQL tuỳ chỉnh. Khi mở trình kiểm tra và mở thẻ New query (Truy vấn mới), bạn sẽ thấy một giao diện trình chỉnh sửa lớn hơn, có thể đổi kích thước để tạo và định dạng các truy vấn, như thể hiện dưới đây.

Trình chỉnh sửa của Trình kiểm tra cơ sở dữ liệu

Ngoài ra, hiện chúng tôi cũng cung cấp nhật ký các truy vấn trước đây của bạn. Khi nhấp vào nút Show query history (Hiển thị nhật ký truy vấn)Nút hiện nhật ký truy vấn, bạn sẽ thấy danh sách các truy vấn mà mình đã chạy trước đây dựa trên cơ sở dữ liệu hiện được chọn. Nhấp vào một truy vấn trong danh sách để xem trước truy vấn đầy đủ trong trình chỉnh sửa rồi nhấn Enter để sao chép truy vấn đó vào trình chỉnh sửa. Sau đó, hãy nhấp vào Run (Chạy) để thực thi câu lệnh.

Chạy lệnh trong trình chỉnh sửa truy vấn

Chế độ ngoại tuyến

Trong các phiên bản Android Studio cũ, việc ngắt kết nối khỏi một quy trình ứng dụng trong khi sử dụng Trình kiểm tra cơ sở dữ liệu sẽ khiến trình kiểm tra và dữ liệu của trình kiểm tra này đóng lại. Trong Android Studio 4.2, chúng tôi đã thêm tính năng tiếp tục kiểm tra cơ sở dữ liệu của ứng dụng sau khi một quá trình bị ngắt kết nối để dễ dàng gỡ lỗi ứng dụng sau khi gặp sự cố hơn.

Khi tình trạng ngắt kết nối xảy ra, Trình kiểm tra cơ sở dữ liệu sẽ tải cơ sở dữ liệu của bạn xuống, sau đó cung cấp cho bạn ở chế độ ngoại tuyến. Khi ở chế độ ngoại tuyến, bạn có thể mở bảng và chạy các truy vấn.

Xin lưu ý rằng khi bạn kết nối lại với một quy trình ứng dụng đang hoạt động, Trình kiểm tra cơ sở dữ liệu sẽ quay về chế độ trực tiếp và chỉ hiển thị cho bạn dữ liệu có trên thiết bị. Điều này nghĩa là dữ liệu hiển thị ở chế độ ngoại tuyến sẽ không tồn tại khi bạn kết nối lại với một quy trình ứng dụng. Do đó, Trình kiểm tra cơ sở dữ liệu không cho phép chỉnh sửa hoặc chạy câu lệnh sửa đổi khi ở chế độ ngoại tuyến.

Trợ lý nâng cấp của AGP

Trợ lý nâng cấp mới cho Trình bổ trợ Android cho Gradle có thể giúp bạn cập nhật phiên bản AGP cho dự án của mình.

Hộp thoại của Trợ lý nâng cấp cho trình bổ trợ Android cho Gradle

Được xây dựng dựa trên chức năng nâng cấp hiện có cho AGP, công cụ này sẽ hướng dẫn bạn cách tái cấu trúc/cập nhật trên toàn dự án và xem trước các bản cập nhật để ngăn chặn các thay đổi có thể gây lỗi trước khi thực hiện việc nâng cấp AGP.

Xem trước các thay đổi mà Trợ lý nâng cấp sẽ thực hiện

Theo dõi hệ thống: Cải thiện chỉ số cho bộ nhớ và phần đồ hoạ

Trong trình phân tích CPU, tính năng Theo dõi hệ thống hiện có các chỉ số mới để phân tích hiệu suất của ứng dụng và bao gồm các chỉ số sau:

  • Bảng sự kiện. Liệt kê tất cả các sự kiện theo dõi trong chuỗi hiện được chọn.

  • BufferQueue. Trong phần Hiển thị, kênh mới này cho biết số lượng vùng đệm của giao diện ứng dụng BufferQueue (0, 1 hoặc 2) để giúp bạn biết được trạng thái của bộ đệm hình ảnh khi chúng di chuyển giữa các thành phần đồ hoạ Android.

    Hàng đợi bộ đệm của công cụ Theo dõi hệ thống

  • Tần suất của CPU. Trong phần lõi của CPU, kênh mới này sẽ hiển thị tần suất của CPU theo lõi, cho biết hiệu suất hoạt động của mỗi lõi.

    Tần số của CPU trong công cụ theo dõi hệ thống

  • Bộ nhớ xử lý (RSS). Cửa sổ mới này cho thấy dung lượng bộ nhớ thực tế hiện ứng dụng đang dùng.

    Bộ nhớ xử lý của công cụ theo dõi hệ thống (RSS)

Để biết thêm thông tin chi tiết, hãy xem bài viết Kiểm tra hoạt động của CPU bằng Trình phân tích CPU.

Thao tác làm mới của Layout Inspector

Ra mắt trong Android Studio 4.0, Layout Inspector được thiết kế để kiểm tra ngăn xếp trên giao diện người dùng của ứng dụng đang chạy theo thời gian thực. Tuy nhiên, không phải lúc nào bạn cũng muốn Layout Inspector ngay lập tức phản ánh những gì đang diễn ra trong ứng dụng của mình, vì bạn có thể muốn kiểm tra ảnh chụp nhanh cho bố cục của ứng dụng tại một thời điểm cụ thể hoặc muốn giảm thiểu tác động về hiệu suất của bản cập nhật trực tiếp đến ứng dụng của mình.

Tạm dừng bản cập nhật trực tiếp và làm mới thao tác chụp ảnh màn hình trong Layout Inspector.

Để tải ảnh chụp nhanh về dữ liệu giao diện người dùng trong ứng dụng của bạn theo cách thủ công, trước tiên, hãy tắt tuỳ chọn Live updates (Bản cập nhật trực tiếp). Sau đó, bạn có thể nhấp vào nút Refresh (Làm mới) để xem ảnh chụp nhanh mới về ngăn xếp giao diện người dùng để kiểm tra. Layout Inspector hiện ghi nhớ các lựa chọn ưu tiên của bạn để luôn bật hoặc tắt các tuỳ chọn Live updates (Bản cập nhật trực tiếp) giữa các phiên.

Hỗ trợ cho Safe Args

Safe Args là một trình bổ trợ cho Gradle tạo ra các lớp xây dựng và đối tượng đơn giản để di chuyển theo loại an toàn, đồng thời cấp quyền truy cập vào mọi đối số liên quan. Android Studio hiện hỗ trợ nhiều tính năng hơn khi làm việc với Safe Args, như mô tả ở bên dưới:

  • Tính năng tự động hoàn thành cho dịch vụ Đường đi, Args và các lớp xây dựng
  • Hỗ trợ cho cả trình bổ trợ Safe Args của Java và Kotlin
  • Di chuyển từ nguồn sang XML

R8 retrace hiện đã có trong công cụ dòng lệnh

Có sẵn trong phiên bản 4.0 của công cụ dòng lệnh, R8 retrace là một công cụ độc lập giúp lấy dấu vết ngăn xếp ban đầu từ dấu vết ngăn xếp đã làm rối mã nguồn.

Bạn có thể tải gói này xuống bằng Trình quản lý SDK, trình quản lý này sẽ cài đặt R8 retrace trong android_sdk/cmdline-tools. Ngoài ra, bạn cũng có thể tải gói công cụ dòng lệnh độc lập xuống.

Để biết thông tin về cách sử dụng, hãy xem phần R8 retrace trong hướng dẫn sử dụng.

Triển khai cho nhiều thiết bị

Để giúp đơn giản hoá quá trình kiểm thử ứng dụng trên các thiết bị và cấp độ API, giờ đây, bạn có thể triển khai ứng dụng của mình cho nhiều thiết bị hoặc trình mô phỏng cùng một lúc bằng cách làm theo các bước sau:

  1. Chọn Select Multiple Devices (Chọn nhiều thiết bị) trong trình đơn thả xuống thiết bị mục tiêu (ở trên cùng chính giữa của IDE).

    Trình đơn thả xuống thiết bị mục tiêu

  2. Chọn thiết bị mục tiêu rồi nhấp vào OK.

    Hộp thoại sửa đổi chế độ thiết lập thiết bị

  3. Chạy ứng dụng của bạn.

Chế độ cài đặt removable mới cho mô-đun tính năng

Trình bổ trợ Android cho Gradle 4.2 sử dụng bundletool 1.0.0 giới thiệu sự thay đổi về hành vi của các ứng dụng dùng mô-đun tính năng: Bất kỳ mô-đun tính năng nào được chỉ định là dist:install-time nhưng chưa được đánh dấu rõ ràng là dist:removable sẽ trở thành giá trị không xoá được theo mặc định. Chế độ cài đặt mới này tối ưu hoá việc hợp nhất các mô-đun thời gian cài đặt với mô-đun cơ sở, nhờ đó có thể cải thiện hiệu suất ứng dụng cho một số ứng dụng.

Để xoá được các mô-đun tính năng, hãy đặt dist:removable="true" trên bất kỳ mô-đun nào bạn muốn gỡ cài đặt.

Để biết thêm thông tin về chế độ cài đặt mới này, hãy xem tài liệu cho thẻ dist:removable trong tài liệu về tệp kê khai mô-đun tính năng.

Áp dụng các thay đổi

Để giúp bạn làm việc hiệu quả hơn khi thực hiện thao tác lặp lại trên ứng dụng, chúng tôi đã thực hiện các cải tiến sau đây để áp dụng các thay đổi cho thiết bị chạy Android 11 trở lên:

Hỗ trợ cho các thay đổi khác về mã

Đối với các thiết bị chạy Android 11 trở lên, giờ đây, bạn có thể thêm các trường gốc chính thức, sau đó triển khai những thay đổi đó đối với ứng dụng đang chạy bằng cách nhấp vào biểu tượng Apply Code Changes (Áp dụng các thay đổi mã) hoặc Apply Changes and Restart Activity (Áp dụng các thay đổi và khởi động lại hoạt động) .

Giờ đây, bạn cũng có thể thêm tài nguyên, rồi triển khai những thay đổi đó cho ứng dụng đang chạy trên thiết bị Android 11 bằng cách nhấp vào Apply Changes and Restart Activity (Áp dụng thay đổi và khởi động lại hoạt động) .

Cập nhật trình hướng dẫn Dự án mới và Mô-đun mới

Trình hướng dẫn New Project (Dự án mới) và New Module (Mô-đun mới) đã được cập nhật để giúp bạn dễ dàng duyệt xem, chọn mẫu và nhập thông tin về dự án hoặc mô-đun mới hơn.

Tuỳ chọn Import .JAR/.AAR Package (Nhập gói .JAR/.AAR) trong trình hướng dẫn New Module (Mô-đun mới) cũng bị xoá. Để nhập JAR hoặc AAR vào dự án của bạn, hãy sử dụng Hộp thoại cấu trúc dự án để thay thế.

Kotlin 1.4.31

Android Studio 4.2 tích hợp Kotlin 1.4.31. Hãy xem nhật ký thay đổi của Kotlin 1.4.0 để xem xét các thay đổi chính.

Ngừng sử dụng biến môi trường ANDROID_SDK_HOME

Ngừng sử dụng biến môi trường ANDROID_SDK_HOME và thay thế bằng ANDROID_PREFS_ROOT. Để biết thêm thông tin, hãy xem bài viết Biến môi trường của Trình mô phỏng.

Vấn đề đã biết với Android Studio 4.2

Phần này mô tả các vấn đề đã biết còn tồn tại trong Android Studio 4.2. Để xem danh sách đầy đủ, hãy truy cập trang Các vấn đề đã biết.

Android Studio 4.2.0 tạo dự án có phiên bản Kotlin không chính xác: "1.5.0-release-764"

Nếu bạn đang dùng Android Studio 4.2.0 và đã nâng cấp lên trình bổ trợ Kotlin 1.5.0, thì các dự án Kotlin mới do Studio tạo sẽ không tạo được do lỗi đồng bộ hoá Gradle sau: Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-release-764.

Để khắc phục lỗi này, hãy thay thế "1.5.0-release-764" bằng "1.5.0" trong tệp build.gradle của dự án.

Lỗi khi sử dụng nhiều mật khẩu khác nhau cho khoá và kho khoá

Kể từ phiên bản 4.2, Android Studio hiện chạy trên JDK 11. Bản cập nhật này gây ra sự thay đổi lớn về hành vi liên quan đến các khoá ký.

Khi bạn chuyển đến phần Build > Generate Signed Bundle/APK (Tạo > Tạo gói đã ký/APK) và tìm cách định cấu hình cho hoạt động ký ứng dụng cho gói ứng dụng hoặc APK, việc nhập các mật khẩu khác nhau cho khoá và kho khoá có thể dẫn đến lỗi sau:

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

Để khắc phục lỗi này, hãy nhập cùng một mật khẩu cho cả khoá và kho khoá.

Android Studio không khởi động sau khi cài đặt phiên bản 4.2

Studio cố gắng nhập .vmoptions trước và dọn dẹp chúng để thao tác với trình thu gom rác do JDK 11 sử dụng. Nếu quá trình đó không thành công, thì IDE có thể không khởi động cho một số người dùng đã đặt các tuỳ chọn máy ảo tuỳ chỉnh trong tệp .vmoptions.

Để khắc phục lỗi này, bạn nên đánh dấu các lựa chọn tuỳ chỉnh trong .vmoptions là nội dung nhận xét (bằng ký tự "#"). Bạn có thể tìm thấy tệp .vmoptions ở các vị trí sau:

Windows

C:\Users\YourUserName\AppData\[Local|Roaming]\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

Nếu Studio vẫn không khởi động sau khi thử giải pháp này, hãy xem bài viết Studio không khởi động sau khi nâng cấp ở bên dưới.

Phiên bản 4.1 (Tháng 8/2020)

Android Studio 4.1 là một bản phát hành chính có nhiều tính năng và điểm cải tiến mới.

Phiên bản 4.1.3 (Tháng 3/2021)

Bản cập nhật nhỏ này gồm một số bản sửa lỗi. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

4.1.2 (Tháng 1/2021)

Bản cập nhật nhỏ này gồm một số bản sửa lỗi. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

4.1.1 (Tháng 11/2020)

Bản cập nhật nhỏ này gồm một số bản sửa lỗi. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

Trình bổ trợ Android cho Gradle 4.1.0

Phiên bản mới nhất của trình bổ trợ Android cho Gradle sẽ bao gồm nhiều bản cập nhật. Để tìm hiểu thêm, hãy đọc ghi chú phát hành đầy đủ của trình bổ trợ Android cho Gradle.

Trình kiểm tra cơ sở dữ liệu mới

Kiểm tra, gửi truy vấn và sửa đổi cơ sở dữ liệu của bạn trong ứng dụng đang chạy bằng Trình kiểm tra cơ sở dữ liệu mới. Để bắt đầu, hãy triển khai ứng dụng của bạn cho một thiết bị chạy cấp độ API 26 trở lên rồi chọn View > Tool Windows > Database Inspector (Xem > Cửa sổ công cụ > Trình kiểm tra cơ sở dữ liệu) trong thanh trình đơn.

Để tìm hiểu thêm, hãy xem bài viết Gỡ lỗi cho cơ sở dữ liệu bằng Trình kiểm tra cơ sở dữ liệu.

Chạy Trình mô phỏng Android ngay trong Android Studio

Giờ đây, bạn có thể chạy Trình mô phỏng Android ngay trong Android Studio. Hãy sử dụng tính năng này để bảo toàn không gian màn hình, để di chuyển nhanh giữa trình mô phỏng và cửa sổ trình chỉnh sửa bằng cách sử dụng phím tắt, cũng như để sắp xếp quy trình IDE và trình mô phỏng trong một cửa sổ ứng dụng duy nhất.

Trình mô phỏng chạy trong một cửa sổ công cụ trong Android Studio.

Để tìm hiểu thêm, hãy xem tài liệu về Trình mô phỏng Android.

Sử dụng mô hình TensorFlow Lite

Liên kết mô hình máy học giúp bạn dễ dàng nhập trực tiếp tệp mô hình .tflite và sử dụng các tệp đó trong các dự án của mình. Android Studio tạo ra các lớp dễ sử dụng để bạn có thể chạy mô hình của mình mà không tốn nhiều mã cũng như cải thiện mức độ an toàn của hoạt động nhập.

Mô hình được hỗ trợ

Việc triển khai Liên kết mô hình máy học hiện tại hỗ trợ việc phân loại hình ảnh và mô hình chuyển kiểu, miễn là các mô hình đó được nâng cao bằng siêu dữ liệu. Theo thời gian, dịch vụ hỗ trợ sẽ được mở rộng cho các miền khác gặp vấn đề, như phát hiện đối tượng, phân đoạn hình ảnh và phân loại văn bản.

Có rất nhiều mô hình luyện sẵn có siêu dữ liệu được cung cấp trên TensorFlow Hub. Bạn cũng có thể tự thêm siêu dữ liệu vào mô hình TensorFlow Lite như đã nêu trong bài viết Thêm siêu dữ liệu vào mô hình TensorFlow Lite.

Nhập một tệp mô hình

Để nhập tệp mô hình được hỗ trợ, hãy làm theo các bước sau:

  1. Mở hộp thoại nhập mô hình TensorFlow Lite trong trình đơn Tệp tại File > New > Other > TensorFlow Lite Model (Tệp > Mới > Khác > Mô hình TensorFlow Lite).
  2. Chọn tệp mô hình .tflite mà bạn đã tải xuống hoặc tạo trước đó.
  3. Nhấp vào Hoàn tất.

Thao tác này sẽ nhập tệp mô hình vào dự án của bạn và đặt tệp đó vào thư mục ml/; nếu thư mục không tồn tại, Android Studio sẽ tạo thư mục cho bạn.

Nhập mô hình TensorFlow Lite

Xem siêu dữ liệu và mức sử dụng mô hình

Để xem thông tin chi tiết của một mô hình đã nhập cũng như hướng dẫn về cách sử dụng mô hình đó trong ứng dụng, hãy nhấp đúp vào tệp mô hình trong dự án của bạn để mở trang trình xem mô hình có nội dung như sau:

  • Mô hình: Thông tin mô tả cấp cao về mô hình
  • Tensor: Thông tin mô tả về tensor đầu vào và đầu ra
  • Mã mẫu: Ví dụ về cách tạo giao diện bằng mô hình trong ứng dụng của bạn

Dưới đây là ví dụ về cách sử dụng mobilenet_v1_0.25_160_quantized.tflite:

Ảnh chụp màn hình trình xem mô hình TensorFlow Lite

Như ví dụ minh hoạ, Android Studio sẽ tạo một lớp có tên là MobilenetV1025160Quantized để tương tác với mô hình.

Nếu mô hình này không có siêu dữ liệu, màn hình này sẽ chỉ cung cấp rất ít thông tin.

Các sự cố đã biết và cách giải quyết

  • Hệ thống hiện chưa hỗ trợ các mô hình TensorFlow Lite cho các miền có vấn đề ngoài việc phân loại hình ảnh và chuyển kiểu. Mặc dù việc nhập hoạt động tốt, nhưng một số đầu vào và/hoặc đầu ra của mô hình lại được thể hiện bằng TensorBuffers thay vì các loại dễ dùng. Đối với các mô hình không có siêu dữ liệu, tất cả các đầu vào và đầu ra của mô hình sẽ là TensorBuffers.
  • Các mô hình có loại dữ liệu Đầu vào và Đầu ra khác với DataType.UINT8 hoặc DataType.FLOAT32 không được hỗ trợ.

Tính năng này vẫn đang trong quá trình phát triển, nên vui lòng cung cấp ý kiến phản hồi hoặc báo cáo lỗi.

Trình phân tích bộ nhớ cho mã gốc

Trình phân tích bộ nhớ của Android Studio hiện bao gồm Trình phân tích bộ nhớ cho mã gốc cho các ứng dụng được triển khai trên các thiết bị thực tế chạy Android 10 trở lên. Với Trình phân tích bộ nhớ cho mã gốc, bạn có thể ghi lại các quá trình phân bổ và giải phóng bộ nhớ từ mã gốc và kiểm tra số liệu thống kê tích luỹ về các đối tượng gốc.

Để tìm hiểu thêm về Trình phân tích bộ nhớ cho mã gốc, hãy xem bài viết Kiểm tra mức sử dụng bộ nhớ của ứng dụng bằng Trình phân tích bộ nhớ.

Các sự cố đã biết và cách giải quyết

  • Trình phân tích bộ nhớ gốc trong Android Studio 4.1 không hoạt động trên các thiết bị Android 11. Hiện tại, chúng tôi đã cung cấp chức năng hỗ trợ tạo hồ sơ cho thiết bị Android 11 trong bản thử nghiệm 4.2

  • Kể từ bản phát hành 4.1 đầu tiên, tuỳ chọn tạo hồ sơ khởi động ứng dụng đã bị tắt. Tuỳ chọn này sẽ được bật trong bản phát hành sắp tới.

    Để khắc phục vấn đề này, bạn có thể sử dụng Trình phân tích dòng lệnh độc lập Perfetto để ghi lại dữ liệu phân tích trong quá trình khởi động.

Giao diện người dùng của công cụ Theo dõi hệ thống: Dễ lựa chọn hơn, có thẻ phân tích mới và nhiều dữ liệu kết xuất khung hơn

Giao diện người dùng của công cụ Theo dõi hệ thống trong trình phân tích tài nguyên của Android Studio có các điểm cải tiến sau:

  • Box selection (Lựa chọn hộp): Trong mục Threads (Luồng), giờ đây, bạn có thể kéo chuột để thực hiện thao tác chọn hộp theo vùng hình chữ nhật mà bạn có thể phóng to bằng cách nhấp vào nút Zoom to Selection (Thu phóng vùng lựa chọn) ở phía trên cùng bên phải (hoặc sử dụng phím tắt M). Khi kéo và thả các chuỗi tương tự bên cạnh các chuỗi khác, bạn có thể chọn trên nhiều chuỗi để kiểm tra tất cả chuỗi đó cùng một lúc. Ví dụ: bạn có thể muốn thực hiện việc phân tích trên nhiều chuỗi trình chạy.

  • Summary tab (Thẻ tóm tắt): Thẻ Summary (Tóm tắt) mới trong bảng điều khiển Analysis (Phân tích) sẽ hiển thị:

    • Dữ liệu thống kê tổng hợp cho tất cả những lần xuất hiện của một sự kiện cụ thể, chẳng hạn như số lần xuất hiện và thời lượng tối thiểu/tối đa.
    • Số liệu thống kê của sự kiện theo dõi cho lần xuất hiện đã chọn.
    • Dữ liệu về việc phân phối trạng thái chuỗi.
    • Lần xuất hiện dài nhất của sự kiện theo dõi đã chọn.

    Để chuyển đến một lần xuất hiện khác, hãy chọn một hàng khác trong bảng.

  • Display data (Dữ liệu hiển thị): Trong phần Display (Hiển thị), tiến trình mới cho SurfaceFlingerVSYNC sẽ giúp bạn điều tra sự cố hiển thị trong giao diện người dùng của ứng dụng.

Để biết hướng dẫn sử dụng cơ bản về cách ghi lại hoạt động theo dõi hệ thống, hãy xem phần Ghi lại dấu vết trong bài viết Kiểm tra hoạt động của CPU bằng Trình phân tích CPU.

Hiện đã có trình phân tích tài nguyên độc lập

Với trình phân tích tài nguyên độc lập mới, giờ đây bạn có thể lập hồ sơ cho ứng dụng của mình mà không cần chạy toàn bộ IDE Android Studio.

Để xem hướng dẫn về cách sử dụng các trình phân tích tài nguyên độc lập, hãy xem bài viết Chạy các trình phân tích tài nguyên độc lập.

Hỗ trợ điều hướng trên Dagger

Thao tác định hướng trong IDE để điều hướng đến người tiêu dùng và nhà cung cấp Dagger

Android Studio giúp bạn dễ dàng di chuyển giữa mã liên quan đến Dagger bằng cách cung cấp các thao tác định hướng mới và mở rộng khả năng hỗ trợ trong cửa sổ Find Usages (Tìm hoạt động sử dụng).

  • New gutter actions (Thao tác định hướng mới): Đối với các dự án sử dụng Dagger, IDE cung cấp các thao tác định hướng giúp bạn di chuyển giữa mã được chú thích của Dagger. Ví dụ: khi nhấp vào thao tác định hướng bên cạnh phương thức sử dụng một loại nhất định, bạn sẽ được chuyển đến nhà cung cấp của loại đó. Ngược lại, khi nhấp vào thao tác định hướng , bạn sẽ được chuyển đến vị trí mà một loại được dùng làm phần phụ thuộc.

  • Find Usages node (Nút Tìm hoạt động sử dụng): Khi bạn gọi Find Usages (Tìm hoạt động sử dụng) đối với nhà cung cấp một loại nhất định, cửa sổ Find (Tìm) giờ đây sẽ bao gồm một nút Dependency consumer (Người dùng phần phụ thuộc). Nút này sẽ liệt kê những người dùng loại đó. Ngược lại, khi gọi hành động này cho một người dùng phần phụ thuộc được chèn của Dagger, cửa sổ Find (Tìm) sẽ hiển thị cho bạn thấy nhà cung cấp phần phụ thuộc đó.

Thành phần thiết kế Material Design: Cập nhật giao diện và kiểu trong mẫu dự án mới

Ảnh động: Tạo một dự án trong Android Studio bằng các thuộc tính mới của Material Design.

Các mẫu của Android Studio trong hộp thoại Create New Project (Tạo dự án mới) hiện sử dụng Thành phần thiết kế Material Design (MDC) và tuân theo hướng dẫn cập nhật dành cho các giao diện và kiểu theo mặc định. Nội dung cập nhật bao gồm:

  • MDC: Các dự án phụ thuộc vào com.google.android.material:material trong build.gradle. Giao diện của ứng dụng cơ sở sử dụng phần tử mẹ Theme.MaterialComponents.* và ghi đè các thuộc tính màu và thuộc tính "bật" được cập nhật của MDC.
  • Color resources (Tài nguyên màu): Tài nguyên màu trong colors.xml sử dụng tên của các giá trị cố định (ví dụ: purple_500 thay vì colorPrimary).
  • Theme resources (Tài nguyên giao diện): Tài nguyên giao diện có trong themes.xml (thay vì styles.xml) và sử dụng tên Theme.<ApplicationName>.
  • Dark theme (Giao diện tối): Giao diện của ứng dụng cơ sở sử dụng phần tử mẹ của DayNight và được phân tách giữa res/valuesres/values-night.
  • Theme attributes (Thuộc tính giao diện): Tài nguyên màu được tham chiếu ở dạng thuộc tính giao diện (ví dụ: ?attr/colorPrimary) trong bố cục và kiểu để tránh màu sắc được mã hoá cứng.

IntelliJ IDEA 2020.1

IDE Android Studio chính được cập nhật với những điểm cải tiến từ IntelliJ IDEA thông qua bản phát hành 2020.1, trong đó có cửa sổ Commit (Cam kết) mới cho phép thực hiện hoạt động kiểm soát phiên bản và bật chế độ Zen mới có thể chuyển đổi bằng cách chọn View > Appearance > Enter Distraction Free Mode (Xem > Giao diện > Chuyển sang Chế độ không làm mất tập trung).

Để tìm hiểu thêm về những điểm cải tiến trong phiên bản 2020.1, hãy xem trang sau:

Thay đổi thư mục cấu hình của IDE

Vị trí của các thư mục cấu hình người dùng đã được thay đổi như sau:

Windows

Cú pháp: %APPDATA%\Google\<product><version>

Ví dụ: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

macOS

Cú pháp: ~/Library/Application Support/Google/<product><version>

Ví dụ: ~/Library/Application Support/Google/AndroidStudio4.1

Linux

Cú pháp: ~/.config/Google/<product><version>

Ví dụ: ~/.config/Google/AndroidStudio4.1

Các vị trí mới này của thư mục phù hợp với thông tin cập nhật gần đây đối với IntelliJ IDEA, IDE mà Android Studio dựa trên đó.

Kotlin 1.3.72

Android Studio 4.1 tích hợp Kotlin 1.3.72, gồm một số bản sửa lỗi để cải thiện tính năng làm nổi bật, kiểm tra và hoàn thành mã của Kotlin. Hãy xem nhật ký thay đổi của Kotlin 1.3.72 để biết thông tin chi tiết.

Xem trước thành phần hiển thị tuỳ chỉnh

Khi tạo thành phần hiển thị tuỳ chỉnh (ví dụ: bằng cách mở rộng lớp View hoặc Button), giờ đây, Android Studio sẽ cho bạn xem trước thành phần hiển thị tuỳ chỉnh. Sử dụng trình đơn thả xuống trên thanh công cụ để chuyển đổi giữa nhiều thành phần hiển thị tuỳ chỉnh hoặc nhấp vào các nút để xuống dòng theo chiều dọc hoặc chiều ngang tuỳ theo nội dung.

Xem trước thành phần hiển thị tuỳ chỉnh trong IDE.

Quá trình thay thế bằng biểu tượng cho báo cáo trục trặc mã gốc

Khi một sự cố hoặc lỗi ANR xảy ra trong mã gốc, hệ thống sẽ tạo ra một dấu vết ngăn xếp. Đây là ảnh chụp nhanh về trình tự của các hàm được lồng và gọi trong chương trình của bạn cho tới thời điểm xảy ra sự cố. Các ảnh chụp nhanh này có thể giúp bạn xác định và khắc phục mọi vấn đề trong nguồn, nhưng trước tiên, các ảnh chụp nhanh đó phải được thay thế bằng biểu tượng để dịch các địa chỉ máy lại thành tên hàm mà người dùng có thể đọc được.

Nếu dùng mã gốc như C++ để phát triển ứng dụng hoặc trò chơi, thì giờ đây, bạn có thể tải các tệp biểu tượng gỡ lỗi lên Play Console cho từng phiên bản của ứng dụng. Play Console sử dụng các tệp biểu tượng gỡ lỗi này để thực hiện quá trình thay thế bằng biểu tượng cho dấu vết ngăn xếp của ứng dụng. Nhờ đó, bạn có thể dễ dàng phân tích các sự cố và lỗi ANR hơn. Để tìm hiểu cách tải tệp biểu tượng gỡ lỗi lên, hãy xem bài viết Hỗ trợ cho trục trặc mã gốc.

Áp dụng các thay đổi

Để giúp bạn làm việc hiệu quả hơn khi thực hiện thao tác lặp lại trên ứng dụng, chúng tôi đã thực hiện các cải tiến sau đây để áp dụng các thay đổi cho thiết bị chạy Android 11 Bản dùng thử cho nhà phát triển 3 trở lên:

Tốc độ triển khai nhanh hơn

Chúng tôi đã đầu tư mạnh vào việc tối ưu hoá tốc độ lặp lại bằng cách phát triển một phương thức để triển khai và duy trì các thay đổi trên thiết bị mà không cần cài đặt ứng dụng. Sau lần triển khai đầu tiên, các lần triển khai tiếp theo cho thiết bị Android 11 sử dụng tuỳ chọn Apply Code Changes (Áp dụng các thay đổi mã) hoặc Apply Changes and Restart Activity (Áp dụng các thay đổi và khởi động lại hoạt động) giờ đây sẽ nhanh hơn đáng kể.

Để tìm hiểu thêm về sự khác biệt giữa 2 hành động này, hãy xem bài viết Áp dụng các thay đổi.

Hỗ trợ cho các thay đổi khác về mã

Đối với các thiết bị chạy Android 11 Bản dùng thử cho nhà phát triển 3 trở lên, giờ đây, bạn có thể thêm các phương thức rồi triển khai các thay đổi đó cho ứng dụng đang chạy của mình bằng cách nhấp vào biểu tượng tuỳ chọn Apply Code Changes (Áp dụng các thay đổi mã) hoặc Apply Changes and Restart Activity (Áp dụng các thay đổi và khởi động lại hoạt động) .

Phiên bản 4.0 (Tháng 5/2020)

Android Studio 4.0 là một bản phát hành chính có nhiều tính năng và điểm cải tiến mới.

Phiên bản 4.0.1 (Tháng 7/2020)

Bản cập nhật nhỏ này bao gồm nhiều bản sửa lỗi cũng như tính năng hỗ trợ cho các chế độ cài đặt mặc định mới của Chế độ xem gói trong Android 11. Để biết thêm thông tin, hãy xem ghi chú phát hành của trình bổ trợ Android cho Gradle 4.0.1.

Để xem danh sách các bản sửa lỗi đáng chú ý cho bản phát hành này, hãy đọc bài đăng có liên quan trên blog Thông tin cập nhật về bản phát hành.

Phiên bản 4.0 (Tháng 5/2020)

Lưu ý quan trọng: Sau khi cập nhật, bạn cần khởi động lại Android Studio để áp dụng mọi chế độ cài đặt bộ nhớ đã di chuyển từ phiên bản IDE trước đó. Để biết thêm thông tin, hãy xem trang Vấn đề đã biết.

Trình bổ trợ Android cho Gradle 4.0.0

Trình bổ trợ Android cho Gradle phiên bản mới nhất có nhiều điểm cập nhật, chẳng hạn như tính năng đơn giản hoá Java 8 dành cho các phiên bản Android cũ và các phần phụ thuộc có tính năng liên quan đến nhau. Để tìm hiểu thêm, hãy đọc ghi chú phát hành đầy đủ của trình bổ trợ Android cho Gradle.

Ngoài ra, Android Studio hiện cũng bao gồm các tính năng mới để giúp bạn cải thiện hiệu suất của bản dựng.

Trình phân tích bản dựng

Khi sử dụng Android Studio 4.0 với trình bổ trợ Android cho Gradle 4.0.0 trở lên, cửa sổ Build Analyzer (Trình phân tích bản dựng) sẽ giúp bạn nắm được và chẩn đoán các vấn đề liên quan đến quy trình xây dựng, chẳng hạn như hoạt động tối ưu hoá đã tắt và tác vụ đã định cấu hình không đúng cách. Để mở cửa sổ Build Analyzer (Trình phân tích bản dựng), hãy làm như sau:

  1. Tạo một ứng dụng bằng cách chọn Build > Make Project (Bản dựng > Tạo dự án) trên thanh trình đơn nếu bạn chưa thực hiện việc này.
  2. Chọn View > Tool Windows > Build (Xem > Cửa sổ công cụ > Bản dựng) trên thanh trình đơn.
  3. Trong cửa sổ Build (Bản dựng), hãy mở cửa sổ Build Analyzer (Trình phân tích bản dựng) theo một trong các cách sau:
    • Sau khi Android Studio hoàn tất quá trình tạo dự án, hãy nhấp vào thẻ Build Analyzer (Trình phân tích bản dựng).
    • Sau khi Android Studio hoàn tất quá trình tạo dự án, hãy nhấp vào đường liên kết ở bên phải cửa sổ Build Output (Đầu ra bản dựng).

Cửa sổ Build Analyzer (Trình phân tích bản dựng) sắp xếp các vấn đề về bản dựng có thể xảy ra trong một cây ở bên trái. Bạn có thể kiểm tra và nhấp vào từng vấn đề để tìm hiểu thông tin chi tiết về vấn đề đó trong bảng bên phải. Khi phân tích bản dựng, Android Studio sẽ tính toán tập hợp tác vụ đã xác định thời lượng của bản dựng và cung cấp hình ảnh để giúp bạn hiểu tác động của từng tác vụ này. Bạn cũng có thể xem thông tin chi tiết về các cảnh báo bằng cách mở rộng nút Warnings (Cảnh báo).

Kiểm tra các tác vụ chịu trách nhiệm chính về thời lượng của bản dựng.

Kiểm tra các tác vụ đã xác định thời lượng của bản dựng.

Đơn giản hoá thư viện Java 8 trong D8 và R8

Android Studio hiện đã hỗ trợ việc sử dụng một số API ngôn ngữ Java 8 mà không yêu cầu cấp độ API tối thiểu cho ứng dụng.

Thông qua một quy trình có tên là đơn giản hoá (desugaring), trình biên dịch DEX D8 trong Android Studio 3.0 trở lên đã hỗ trợ đáng kể các tính năng ngôn ngữ Java 8 (chẳng hạn như biểu thức lambda, phương thức giao diện mặc định, thử với các tài nguyên và các tính năng khác). Trong Android Studio 4.0, công cụ đơn giản hoá đã được mở rộng để có thể đơn giản hoá các API ngôn ngữ Java. Như vậy tức là bạn hiện có thể đưa các API ngôn ngữ tiêu chuẩn chỉ có trong các bản phát hành Android gần đây (chẳng hạn như java.util.streams) vào các ứng dụng hỗ trợ các phiên bản Android cũ.

Bộ API sau đây được hỗ trợ trong bản phát hành này:

  • Luồng tuần tự (java.util.stream)
  • Một tập hợp con của java.time
  • java.util.function
  • Các mục bổ sung gần đây cho java.util.{Map,Collection,Comparator}
  • Mục không bắt buộc (java.util.Optional, java.util.OptionalIntjava.util.OptionalDouble) và một số lớp mới khác hữu ích với các API ở trên
  • Một số mục bổ sung cho java.util.concurrent.atomic (các phương thức mới trên AtomicInteger, AtomicLongAtomicReference)
  • ConcurrentHashMap (có bản sửa lỗi cho Android 5.0)

Để hỗ trợ các API ngôn ngữ này, D8 biên dịch một tệp DEX trong thư viện riêng có chứa cách triển khai các API còn thiếu và đưa vào ứng dụng. Quy trình đơn giản hoá sẽ ghi lại mã ứng dụng để sử dụng thư viện này trong thời gian chạy.

Để bật tính năng hỗ trợ cho các API ngôn ngữ này, hãy đưa nội dung sau đây vào tệp build.gradle của app module (mô-đun ứng dụng):

Groovy

android {
    defaultConfig {
        // Required when setting minSdkVersion to 20 or lower
        multiDexEnabled true
    }

    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.4'
}

Kotlin

android {
    defaultConfig {
        // Required when setting minSdkVersion to 20 or lower
        multiDexEnabled = true
    }

    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled = true
        // Sets Java compatibility to Java 8
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
}

dependencies {
    coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.0.4")
}

Xin lưu ý rằng bạn cũng cần bổ sung đoạn mã trên vào tệp build.gradle của library module (mô-đun thư viện) nếu:

  • Các hoạt động kiểm thử được đo lường của mô-đun thư viện sử dụng các API ngôn ngữ này (trực tiếp hoặc thông qua mô-đun thư viện hoặc các phần phụ thuộc của mô-đun). Việc này là để cung cấp các API còn thiếu cho APK kiểm thử được đo lường.

  • Bạn muốn chạy riêng công cụ tìm lỗi mã nguồn trên mô-đun thư viện. Tính năng này giúp công cụ tìm lỗi mã nguồn nhận ra cách sử dụng hợp lệ của các API ngôn ngữ và tránh báo cáo các cảnh báo sai.

Các phần phụ thuộc có tính năng liên quan với nhau

Trong các phiên bản trước của trình bổ trợ Android cho Gradle, tất cả mô-đun tính năng chỉ dựa vào mô-đun cơ sở của ứng dụng. Giờ đây, khi sử dụng trình bổ trợ Android cho Gradle 4.0.0 trở lên, bạn có thể thêm mô-đun tính năng phụ thuộc vào một mô-đun tính năng khác. Tức là một tính năng của :video có thể phụ thuộc vào tính năng của :camera. Và tính năng này cũng phụ thuộc vào mô-đun cơ sở, theo minh hoạ trong hình dưới đây.

Các phần phụ thuộc có tính năng liên quan với nhau

Mô-đun tính năng :video phụ thuộc vào tính năng :camera. Tính năng này lại phụ thuộc vào mô-đun :app cơ sở.

Tức là khi ứng dụng yêu cầu tải một mô-đun tính năng xuống, ứng dụng cũng sẽ tải các mô-đun tính năng khác mà mô-đun đó phụ thuộc vào. Sau khi tạo mô-đun tính năng cho ứng dụng, bạn có thể khai báo phần phụ thuộc có tính năng liên quan với nhau trên tệp build.gradle của mô-đun. Ví dụ: mô-đun :video khai báo phần phụ thuộc trên :camera như sau:

Groovy

// In the build.gradle file of the ':video' module.
dependencies {
    // All feature modules must declare a dependency
    // on the base module.
    implementation project(':app')
    // Declares that this module also depends on the 'camera' feature module.
    implementation project(':camera')
    ...
}

Kotlin

// In the build.gradle file of the ':video' module.
dependencies {
    // All feature modules must declare a dependency
    // on the base module.
    implementation(project(":app"))
    // Declares that this module also depends on the 'camera' feature module.
    implementation(project(":camera"))
    ...
}

Ngoài ra, bạn nên bật tính năng phần phụ thuộc có tính năng liên quan với nhau trên Android Studio (ví dụ: để hỗ trợ tính năng này khi chỉnh sửa cấu hình Run (Chạy)) bằng cách nhấp vào Help > Edit Custom VM Options (Trợ giúp > Chỉnh sửa tuỳ chọn máy ảo tuỳ chỉnh) trên thanh trình đơn rồi bổ sung nội dung sau:

-Drundebug.feature.on.feature=true

Siêu dữ liệu của phần phụ thuộc

Khi xây dựng ứng dụng bằng trình bổ trợ Android cho Gradle 4.0.0 trở lên, trình bổ trợ sẽ bao gồm siêu dữ liệu mô tả các phần phụ thuộc được biên dịch thành ứng dụng. Khi bạn tải ứng dụng lên, Play Console sẽ kiểm tra siêu dữ liệu này để mang lại cho bạn những lợi ích sau:

  • Nhận thông báo về các vấn đề đã biết liên quan đến SDK và các phần phụ thuộc ứng dụng sử dụng
  • Nhận ý kiến phản hồi hữu ích để giải quyết những vấn đề đó

Dữ liệu được nén, mã hoá bằng một khoá ký Google Play và lưu trữ trong khối ký của ứng dụng phát hành. Tuy nhiên, bạn có thể tự kiểm tra siêu dữ liệu trong các tệp bản dựng trung gian cục bộ trong thư mục sau: <project>/<module>/build/outputs/sdk-dependencies/release/sdkDependency.txt.

Nếu không muốn chia sẻ thông tin này, bạn có thể chọn không sử dụng bằng cách đưa nội dung sau vào tệp build.gradle của mô-đun:

Groovy

android {
    dependenciesInfo {
        // Disables dependency metadata when building APKs.
        includeInApk = false
        // Disables dependency metadata when building Android App Bundles.
        includeInBundle = false
    }
}

Kotlin

android {
    dependenciesInfo {
        // Disables dependency metadata when building APKs.
        includeInApk = false
        // Disables dependency metadata when building Android App Bundles.
        includeInBundle = false
    }
}

Hỗ trợ tệp tập lệnh Kotlin DSL

Trình bổ trợ Android cho Gradle hiện hỗ trợ các tệp tập lệnh bản dựng Kotlin DSL (*.kts). Khi sử dụng với Android Studio, giờ đây, một số tính năng IDE, chẳng hạn như hộp thoại Project Structure (Cấu trúc dự án) và bản sửa lỗi nhanh về tập lệnh bản dựng, cũng hỗ trợ đọc và ghi vào tệp tập lệnh bản dựng Kotlin.

Nâng cấp Trình phân tích CPU

Dựa trên ý kiến phản hồi của bạn, chúng tôi đã tập trung cải thiện trải nghiệm người dùng trong Trình phân tích CPU theo 2 cách quan trọng.

Thứ nhất, so với các bản phát hành Android Studio trước đó, tỷ lệ lỗi của bản ghi CPU trong Trình phân tích CPU đã giảm đáng kể.

Thứ hai, giao diện người dùng của Trình phân tích CPU đã được cải tiến toàn diện để mang đến một quy trình trực quan hơn. Một số thay đổi đáng chú ý đối với giao diện người dùng gồm có:

  • Các bản ghi CPU giờ được tách riêng với tiến trình chính của trình phân tích tài nguyên để có thể phân tích dễ dàng hơn. Dữ liệu đã ghi sẽ được sắp xếp theo nhóm ở phía bên trái cửa sổ Profiler (Trình phân tích tài nguyên). Bạn có thể di chuyển các nhóm lên và xuống để sắp xếp lại danh sách bằng cách nhấp vào biểu tượng tuỳ chọn biểu tượng tuỳ chọn trong trình phân tích tài nguyên ở góc trên cùng bên phải của cửa sổ hoặc bằng cách kéo và thả từng mục trong nhóm.
  • Để phân tích song song dễ dàng hơn, giờ đây, bạn có thể xem tất cả các hoạt động trong chuỗi trong tiến trình của hoạt động trong chuỗi đó (bao gồm cả các phương thức, hàm và sự kiện). Có một số cách để di chuyển trong tiến trình:
    • Để tập trung vào một thời điểm cụ thể, hãy kéo một dải ô trong biểu đồ mức sử dụng CPU ở phía trên cùng bên trái.
    • Để phóng to hoặc thu nhỏ, hãy dùng con lăn chuột khi nhấn phím Control (hoặc phím Command trên MacOS). Để xoay sang trái hoặc phải, hãy kéo trong khi nhấn phím cách.
    • Ngoài ra, hãy sử dụng phím W và A để phóng to và thu nhỏ, cũng như phím S và D để di chuyển sang trái và sang phải một cách chi tiết.
  • Các thẻ cho hoạt động phân tích Flame Chart (Biểu đồ hình ngọn lửa), Top Down (Từ trên xuống) và Bottom Up (Từ dưới lên) hiện nằm ở cột bên phải. Trong nhóm Luồng, luồng sẽ tự động được mở rộng cho các bản ghi Theo dõi hệ thống và thu gọn theo mặc định cho các loại bản ghi khác. Nhấp đúp (hoặc nhấn Enter) vào tên chuỗi để mở rộng hoặc thu gọn.
  • Giao diện người dùng của công cụ Theo dõi hệ thống, như trong ảnh chụp màn hình, cũng bao gồm cả các điểm cải tiến:
    • Giờ đây, các sự kiện được tô màu theo cách độc đáo để dễ phân biệt hơn.
    • Các chuỗi được sắp xếp theo số lượng sự kiện theo dõi trong các chuỗi đó để các chuỗi “có nhiều sự kiện hơn” sẽ có thứ hạng cao hơn trong danh sách.
    • Bạn có thể chọn một hoặc nhiều chuỗi để xem thông tin phân tích trong cột bên phải cho riêng các chuỗi được chọn đó.
    • Tương tự như vậy, bạn có thể chọn một sự kiện theo dõi trong bất kỳ chuỗi nào để xem dữ liệu phân tích cho sự kiện đó.

Công cụ thiết kế

Phiên bản Android Studio này bao gồm các bản cập nhật cho công cụ thiết kế, chẳng hạn như Layout Inspector và Trình chỉnh sửa chuyển động hoàn toàn mới.

Trình chỉnh sửa chuyển động mới

Android Studio hiện có một trình chỉnh sửa thiết kế trực quan cho loại bố cục MotionLayout, giúp bạn dễ tạo và xem trước ảnh động hơn.

Trình chỉnh sửa chuyển động cung cấp một giao diện đơn giản để thao tác với các phần tử trong thư viện MotionLayout có vai trò là nền tảng cho ảnh động trong ứng dụng Android. Trong các bản phát hành trước, việc tạo và thay đổi các phần tử này yêu cầu bạn phải chỉnh sửa các quy tắc ràng buộc trong các tệp tài nguyên XML theo cách thủ công. Giờ đây, Trình chỉnh sửa chuyển động có thể tạo XML này cho bạn, cùng với khả năng hỗ trợ cho trạng thái bắt đầu và kết thúc, khung hình chính, hoạt động chuyển đổi và tiến trình.

Để tìm hiểu thêm về cách sử dụng Trình chỉnh sửa chuyển động, hãy xem hướng dẫn sử dụng.

Layout Inspector trực tiếp

Gỡ lỗi bố cục bằng Layout Inspector trực tiếp đã cập nhật. Công cụ này cung cấp thông tin chi tiết hoàn chỉnh theo thời gian thực về giao diện người dùng của ứng dụng trong khi triển khai cho thiết bị.

Để mở cửa sổ Layout Inspector, hãy chuyển đến View > Tools Windows > Layout Inspector (Xem > Cửa sổ công cụ > Layout Inspector). Cùng với nhiều tính năng tương tự của Layout Inspector hiện tại, Layout Inspector trực tiếp cũng bao gồm:

  • Hệ phân cấp bố cục động: Sẽ cập nhật khi số lượt xem trên thiết bị thay đổi.

Hệ phân cấp bố cục động

  • Ngăn xếp độ phân giải giá trị của thuộc tính: Giúp điều tra nguồn gốc của giá trị thuộc tính tài nguyên trong mã nguồn và di chuyển đến vị trí của giá trị đó bằng cách truy cập vào các siêu liên kết trong ngăn thuộc tính.

Giá trị thuộc tính trong ngăn xếp độ phân giải

  • Thành phần hiển thị 3D: Xem hệ phân cấp thành phần hiển thị của ứng dụng trong thời gian chạy bằng chế độ trực quan hoá 3D nâng cao. Để sử dụng tính năng này, trong cửa sổ của công cụ Layout Inspector trực tiếp, bạn chỉ cần nhấp vào Layout (Bố cục) rồi xoay bằng cách kéo chuột.

Layout Inspector: Thành phần hiển thị 3D

Bạn chỉ có thể sử dụng Layout Inspector trực tiếp khi triển khai ứng dụng cho một thiết bị hoặc trình mô phỏng chạy API cấp độ 29 trở lên. Để bật Layout Inspector trực tiếp, hãy chuyển đến File > Settings > Experimental (Tệp > Cài đặt > Thử nghiệm) rồi đánh dấu hộp bên cạnh tuỳ chọn Enable Live Layout Inspector (Bật Layout Inspector trực tiếp). Sau đó, nhấp vào hộp đánh dấu bên cạnh Live updates (Bản cập nhật trực tiếp) phía trên Layout Display (Màn hình bố cục).

Xác thực bố cục

Xác thực bố cục là một công cụ trực quan giúp bạn cùng lúc xem trước bố cục trên nhiều thiết bị và cấu hình, giúp bạn phát hiện vấn đề về bố cục và tạo các ứng dụng dễ tiếp cận hơn.

Tạo một bản xem trước bố cục tuỳ chỉnh trong cửa sổ Xác thực bố cục

Bạn có thể truy cập vào tính năng này bằng cách nhấp vào thẻ Layout Validation (Xác thực bố cục) ở góc trên cùng bên phải cửa sổ IDE:

Thẻ Xác thực bố cục trong Android Studio

Trong cửa sổ Xác thực bố cục, bạn có thể chọn trong số 4 nhóm cấu hình gồm có:

  • Thiết bị Pixel: Xem trước ứng dụng của bạn trên các thiết bị Pixel.
  • Tuỳ chỉnh: Xem trước ứng dụng bằng các tuỳ chọn hiển thị tuỳ chỉnh, chẳng hạn như hướng màn hình hoặc ngôn ngữ.
  • Mù màu: Xem trước ứng dụng của bạn bằng cách sử dụng các tình huống mô phỏng về các loại mù màu phổ biến.
  • Kích thước phông chữ: Xem trước ứng dụng bằng nhiều kích thước phông chữ.

Để tìm hiểu thêm về cách sử dụng tính năng Xác thực bố cục, hãy xem bài viết Gỡ lỗi bố cục bằng Layout Inspector.

Các tính năng của trình chỉnh sửa thông minh cho quy tắc trình thu gọn mã

Android Studio hiện cung cấp các tính năng của trình chỉnh sửa thông minh khi bạn mở các tệp quy tắc trình thu gọn mã cho R8, chẳng hạn như làm nổi bật cú pháp, hoàn thành mã và kiểm tra lỗi. Trình chỉnh sửa cũng tích hợp với dự án Android Studio để hoàn thành toàn bộ biểu tượng cho tất cả các lớp, phương thức và trường, đồng thời bao gồm cả việc điều hướng nhanh và tái cấu trúc.

Các tính năng của trình chỉnh sửa thông minh khi chỉnh sửa tệp quy tắc R8

Mẫu trực tiếp trên Android cho Kotlin

Android Studio hiện bao gồm các mẫu trực tiếp trên Android cho các lớp Kotlin. Ví dụ: giờ đây, bạn có thể nhập toast và nhấn phím Tabđể chèn nhanh một Thông báo ngắn. Để xem toàn bộ danh sách các mẫu trực tiếp đang hoạt động, hãy nhấp vào File > Settings (Tệp > Cài đặt) trong thanh trình đơn (hoặc Android Studio > Preferences (Android Studio > Lựa chọn ưu tiên) trên macOS) rồi chuyển đến Editor > Live Templates (Trình chỉnh sửa > Mẫu trực tiếp).

Trình hướng dẫn cho mảnh và mẫu mảnh mới

Trình hướng dẫn mới cho mảnh của Android và các mẫu mảnh mới hiện đã có sẵn khi bạn chuyển đến File > New > Fragment > Gallery (Tệp > Mới > Mảnh > Thư viện) hoặc nhấp vào Create new destination (Tạo đích mới) trong Trình chỉnh sửa điều hướng.

Hỗ trợ máy ảnh mở rộng trong Trình mô phỏng Android

Khi sử dụng hình ảnh Android 11, máy ảnh của Trình mô phỏng Android sẽ có các tính năng mới sau:

  • Chụp ảnh RAW
  • Xử lý lại YUV
  • Thiết bị cấp 3
  • Hỗ trợ máy ảnh logic

Để tìm hiểu thêm về cách phát triển Android 11, hãy xem tài liệu về Android 11.

clangd hiện có sẵn cho trình soạn thảo mã C++

Jetbrains CLion, công nghệ giúp cải thiện khả năng hỗ trợ ngôn ngữ C++ của Android Studio, hiện sử dụng công cụ kiểm tra dựa trên clangdclang-tidy của LLVM, giúp tăng tốc độ hoàn thành mã C/C++ và cung cấp khả năng tích hợp liền mạch hơn với clang-tidy.

Hiện có sẵn trong trình soạn thảo mã Android Studio C++, clangd và clang-tidy đều thuộc công cụ bổ sung LLVM nguồn mở:

  • clangd có tính năng hoàn thiện mã, biên dịch thông báo lỗi trong trình chỉnh sửa và di chuyển đến phần định nghĩa.
  • clang-tidy là một công cụ phát hiện lỗi sai (Linter) C++ bằng khung mở rộng để chẩn đoán và sửa các lỗi lập trình điển hình.

Trong các bản phát hành trước, người dùng Android Studio có thể sử dụng clang-tidy thông qua NDK; Với sự thay đổi này, Android Studio không còn phụ thuộc vào NDK đối với chức năng clang-tidy nữa.

Ngừng sử dụng chế độ cài đặt ndk.dir trong tệp local.properties

Giá trị của ndk.dir sẽ không được đặt trong tệp local.properties của ứng dụng nữa và chức năng hỗ trợ cho chế độ cài đặt ndk.dir này sẽ bị xoá trong một phiên bản trong tương lai. Trình bổ trợ Android cho Gradle sẽ đặt phiên bản NDK theo mặc định, nhưng nếu cần một phiên bản NDK cụ thể, thì bạn có thể đặt android.ndkVersion trong build.gradle.

Để biết thêm thông tin về cách thiết lập NDK, hãy xem bài viết Cài đặt và định cấu hình NDK và CMake.

IntelliJ IDEA 2019.3.3

IDE Android Studio chính đã được cập nhật với các điểm cải tiến từ IntelliJ IDEA thông qua bản phát hành 2019.3.3.

Để tìm hiểu thêm về những điểm cải tiến từ các phiên bản IntelliJ khác được tích hợp theo cách tích luỹ với phiên bản 2019.3.3, hãy xem các trang sau:

Phiên bản 3.6 (Tháng 2/2020)

Android Studio 3.6 là một bản phát hành chính có nhiều tính năng và điểm cải tiến mới.

Chúng tôi cũng muốn cảm ơn tất cả những người đóng góp cho cộng đồng đã giúp chúng tôi triển khai bản phát hành này.

Phiên bản 3.6.3 (Tháng 4/2020)

Bản cập nhật nhỏ này gồm một số bản sửa lỗi. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

Phiên bản 3.6.2 (Tháng 3/2020)

Bản cập nhật nhỏ này gồm một số bản sửa lỗi. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

Phiên bản 3.6.1 (Tháng 2/2020)

Bản cập nhật nhỏ này gồm một số bản sửa lỗi. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

Công cụ thiết kế

Phiên bản Android Studio này bao gồm các bản cập nhật cho một số công cụ thiết kế, bao gồm Layout Editor và Trình quản lý tài nguyên.

Thành phần hiển thị phân tách và tính năng thu phóng trong trình chỉnh sửa thiết kế

khung hiển thị phân tách hiện cùng lúc cả khung hiển thị thiết kế và khung hiển thị văn bản

Các bản cập nhật sau đây cho trình chỉnh sửa thiết kế trực quan đều được đưa vào bản phát hành này:

  • Trình chỉnh sửa thiết kế, chẳng hạn như Layout Editor và Trình chỉnh sửa điều hướng, hiện cung cấp thành phần hiển thị Split (Phân tách) cho phép bạn cùng lúc xem cả thành phần hiển thị Design (Thiết kế) và Code (Mã) của giao diện người dùng. Ở góc trên cùng bên phải của cửa sổ trình chỉnh sửa, giờ đây có 3 nút biểu tượng thành phần hiển thị để bật/tắt giữa các tuỳ chọn xem:

    • Để bật thành phần hiển thị phân tách, hãy nhấp vào biểu tượng Split(Phân tách) biểu tượng thành phần hiển thị phân tách.
    • Để bật thành phần hiển thị nguồn XML, hãy nhấp vào biểu tượng Source (Nguồn) biểu tượng thành phần hiển thị nguồn.
    • Để bật chế độ xem bản thiết kế, hãy nhấp vào biểu tượng Design (Thiết kế) biểu tượng thành phần hiển thị thiết kế.
  • Các nút điều khiển để thu phóng và xoay trong trình chỉnh sửa thiết kế đã chuyển sang một bảng điều khiển nổi ở góc dưới cùng bên phải của cửa sổ trình chỉnh sửa.

Để tìm hiểu thêm, hãy xem bài viết Tạo giao diện người dùng bằng Layout Editor.

Thẻ tài nguyên trong Công cụ chọn màu

Để giúp bạn nhanh chóng cập nhật giá trị của tài nguyên màu trong ứng dụng khi đang dùng bộ chọn màu trong XML hoặc công cụ thiết kế, giờ đây, IDE sẽ điền các giá trị của tài nguyên màu cho bạn.

Bộ chọn màu có các giá trị màu được điền sẵn

Trình quản lý tài nguyên

Trình quản lý tài nguyên có các bản cập nhật sau:

  • Trình quản lý tài nguyên hiện đã hỗ trợ hầu hết các loại tài nguyên.
  • Giờ đây, khi tìm kiếm một tài nguyên, Trình quản lý tài nguyên sẽ hiển thị kết quả của tất cả các mô-đun dự án. Trước đây, các lượt tìm kiếm chỉ trả về kết quả của mô-đun đã chọn.
  • Nút bộ lọc cho phép bạn xem tài nguyên của các mô-đun phụ thuộc cục bộ, thư viện bên ngoài và khung Android. Bạn cũng có thể dùng bộ lọc để hiển thị các thuộc tính của giao diện.
  • Giờ đây, bạn có thể đổi tên tài nguyên trong quá trình nhập bằng cách nhấp vào bên trong hộp văn bản ở phía trên tài nguyên đó.

Để tìm hiểu thêm, hãy xem bài viết Quản lý tài nguyên giao diện người dùng của ứng dụng bằng Trình quản lý tài nguyên.

Các điểm cập nhật của trình bổ trợ Android cho Gradle

Trình bổ trợ Android cho Gradle phiên bản mới nhất có nhiều điểm cập nhật, chẳng hạn như khả năng tối ưu hoá cho tốc độ xây dựng, khả năng hỗ trợ trình bổ trợ phát hành của Maven cũng như tính năng Liên kết thành phần hiển thị. Để tìm hiểu thêm, hãy đọc ghi chú phát hành đầy đủ.

Liên kết thành phần hiển thị

Tính năng Liên kết thành phần hiển thị giúp bạn dễ dàng viết mã tương tác với các thành phần hiển thị bằng cách tạo một lớp liên kết cho mỗi tệp bố cục XML. Các lớp này có chứa thông tin tham chiếu trực tiếp đến tất cả các thành phần hiển thị có mã nhận dạng trong bố cục tương ứng.

Vì thay thế cho findViewById(), nên tính năng liên kết khung hiển thị sẽ loại bỏ rủi ro xảy ra trường hợp ngoại lệ về con trỏ rỗng do mã khung hiển thị không hợp lệ.

Để bật tính năng liên kết khung hiển thị, bạn cần sử dụng trình bổ trợ Android cho Gradle 3.6.0 trở lên và đưa mã sau vào tệp build.gradle của mỗi mô-đun:

Groovy

android {
    buildFeatures.viewBinding = true
}

Kotlin

android {
    buildFeatures.viewBinding = true
}

Áp dụng các thay đổi

Giờ đây, bạn có thể thêm một lớp rồi triển khai sự thay đổi mã đó cho ứng dụng đang chạy bằng cách nhấp vào biểu tượng tuỳ chọn Apply Code Changes (Áp dụng các thay đổi mã) Biểu tượng Áp dụng các thay đổi mã hoặc Apply Changes and Restart Activity (Áp dụng các thay đổi và khởi động lại hoạt động) Biểu tượng Áp dụng các thay đổi.

Để tìm hiểu thêm về sự khác biệt giữa 2 hành động này, hãy xem bài viết Áp dụng các thay đổi.

Tái cấu trúc tuỳ chọn trình đơn để bật chế độ hỗ trợ Ứng dụng tức thì

Giờ đây, bạn có thể bật ngay mô-đun cơ sở bất cứ lúc nào sau khi tạo dự án ứng dụng như sau:

  1. Mở bảng điều khiển Project (Dự án) bằng cách chọn View > Tool Windows > Project (Xem > Cửa sổ công cụ > Dự án) trên thanh trình đơn.
  2. Nhấp chuột phải vào mô-đun cơ sở, thường có tên là "app" (ứng dụng), rồi chọn Refactor > Enable Instant Apps Support (Tái cấu trúc > Bật chế độ hỗ trợ Ứng dụng tức thì).
  3. Trong hộp thoại xuất hiện, hãy chọn mô-đun cơ sở trên trình đơn thả xuống.
  4. Nhấp vào OK.

Để tìm hiểu thêm, hãy đọc bài viết Tổng quan về Google Play Instant.

Gỡ rối mã nguồn cho mã byte của lớp và phương thức trong Công cụ phân tích APK

Khi sử dụng Công cụ phân tích APK để kiểm tra tệp DEX, bạn có thể gỡ rối mã nguồn cho mã byte của lớp và phương thức theo cách sau đây:

  1. Chọn Build > Analyze APK (Tạo > Phân tích APK) trên thanh trình đơn.
  2. Trong hộp thoại xuất hiện, hãy chuyển đến APK bạn muốn kiểm tra và chọn APK đó.
  3. Nhấp vào Open (Mở).
  4. Trong Công cụ phân tích APK, hãy chọn tệp DEX mà bạn muốn kiểm tra.
  5. Trong trình xem tệp DEX, hãy tải tệp liên kết ProGuard cho APK mà bạn đang phân tích.
  6. Nhấp chuột phải vào lớp hoặc phương thức mà bạn muốn kiểm tra rồi chọn Show bytecode (Hiển thị mã byte).

Công cụ gốc

Các bản cập nhật sau đây hỗ trợ việc phát triển (C/C++) gốc trong Android Studio.

Hỗ trợ Kotlin

Các tính năng sau đây của NDK trong Android Studio, trước đây được hỗ trợ trong Java, giờ đây cũng được hỗ trợ trong Kotlin:

  • Chuyển từ phần khai báo JNI sang hàm triển khai tương ứng trong C/C++. Xem mối liên kết này bằng cách di chuột qua điểm đánh dấu của mục C hoặc C++ ở gần số dòng trong tệp mã nguồn được quản lý.
  • Tự động tạo hàm triển khai đoạn mã cho mục khai báo JNI. Trước tiên, hãy xác định mục khai báo JNI, sau đó nhập “jni” hoặc tên phương thức vào tệp C/C++ để kích hoạt.

  • Các hàm triển khai gốc không sử dụng được đánh dấu là cảnh báo trong mã nguồn. Các mục khai báo JNI bị thiếu phần triển khai cũng được đánh dấu là lỗi.

  • Khi bạn đổi tên (tái cấu trúc) một hàm triển khai gốc, tất cả các mục khai báo JNI tương ứng sẽ được cập nhật. Đổi tên mục khai báo JNI để cập nhật hàm triển khai gốc.

  • Kiểm tra chữ ký cho các hoạt động triển khai JNI có liên kết ngầm định.

Các điểm cải tiến khác của JNI

Giờ đây, trình soạn thảo mã trong Android Studio sẽ hỗ trợ quy trình phát triển JNI liền mạch hơn, bao gồm việc cải tiến các tính năng như gợi ý về loại, tự động hoàn thành, kiểm tra và tái cấu trúc mã.

Tải lại APK cho thư viện gốc

Bạn không cần phải tạo dự án mới khi APK trong dự án của bạn được cập nhật ở bên ngoài IDE. Android Studio phát hiện các thay đổi trong APK và cung cấp cho bạn tuỳ chọn để nhập lại.

Đính kèm nguồn APK chỉ dành cho Kotlin

Giờ đây, bạn có thể đính kèm các nguồn APK bên ngoài chỉ dành cho Kotlin khi lập hồ sơ và gỡ lỗi cho các APK được tạo sẵn. Để tìm hiểu thêm, hãy xem bài viết Đính kèm nguồn Kotlin/Java.

Phát hiện rò rỉ trong Trình phân tích bộ nhớ

Khi phân tích một tệp báo lỗi trong Trình phân tích bộ nhớ, giờ đây, bạn có thể lọc dữ liệu phân tích mà Android Studio cho rằng có thể chỉ báo lỗi rò rỉ bộ nhớ cho các thực thể ActivityFragment trong ứng dụng của bạn.

Bộ lọc này hiển thị những loại dữ liệu sau đây:

  • Các thực thể Activity đã bị huỷ bỏ nhưng vẫn đang được tham chiếu.
  • Các thực thể Fragment không có FragmentManager hợp lệ nhưng vẫn đang được tham chiếu.

Trong một số trường hợp, chẳng hạn như sau, bộ lọc có thể tạo ra các kết quả dương tính giả:

  • Fragment được tạo nhưng chưa được sử dụng.
  • Fragment đang được lưu vào bộ nhớ đệm nhưng không thuộc FragmentTransaction.

Để sử dụng tính năng này, trước tiên, hãy ghi lại tệp báo lỗi hoặc nhập tệp báo lỗi vào Android Studio. Để hiển thị các mảnh và hoạt động có thể bị rò rỉ bộ nhớ, hãy chọn hộp đánh dấu Activity/Fragment Leaks (Hoạt động/Mảnh bị rò rỉ) trong ngăn tệp báo lỗi của Trình phân tích bộ nhớ.

Trình phân tích tài nguyên: Phát hiện rò rỉ bộ nhớ

Lọc tệp báo lỗi để xem tìm lỗi rò rỉ bộ nhớ.

Trình mô phỏng

Android Studio 3.6 giúp bạn tận dụng một số bản cập nhật có trong Trình mô phỏng Android 29.2.7 trở lên, như mô tả bên dưới.

Cải thiện tính năng hỗ trợ vị trí

Trình mô phỏng Android 29.2.7 trở lên cung cấp thêm tính năng hỗ trợ cho việc mô phỏng toạ độ GPS và thông tin tuyến đường. Khi bạn mở Chế độ điều khiển mở rộng của Trình mô phỏng, các tuỳ chọn trong thẻ Vị trí giờ đây sẽ được sắp xếp thành 2 thẻ: Single points (Điểm đơn) và Routes (Tuyến đường).

Điểm đơn

Trong thẻ Single points (Điểm đơn), bạn có thể sử dụng thành phần hiển thị web của Google Maps để tìm kiếm các địa điểm yêu thích, giống như cách bạn sử dụng Google Maps trên điện thoại hoặc trình duyệt. Khi tìm kiếm (hoặc nhấp vào) một vị trí trong bản đồ, bạn có thể lưu vị trí đó bằng cách chọn Save point (Lưu điểm) ở gần cuối bản đồ. Tất cả vị trí bạn đã lưu được liệt kê ở bên phải cửa sổ Extended controls (Chế độ điều khiển mở rộng).

Để đặt vị trí của Trình mô phỏng thành vị trí bạn đã chọn trên bản đồ, hãy nhấp vào nút Set location (Đặt vị trí) ở gần dưới cùng bên phải cửa sổ Extended controls (Chế độ điều khiển mở rộng).

Thẻ Điểm đơn trong Chế độ điều khiển mở rộng của Trình mô phỏng..

Tuyến đường

Tương tự như thẻ Single points (Điểm đơn), thẻ Routes (Tuyến đường) cung cấp khung hiển thị web của Google Maps mà bạn có thể dùng để tạo tuyến đường giữa 2 hoặc nhiều vị trí. Để tạo và lưu một tuyến đường, hãy làm như sau:

  1. Trong thành phần hiển thị bản đồ, hãy sử dụng trường văn bản để tìm điểm đến đầu tiên trong tuyến đường.
  2. Chọn vị trí trong kết quả tìm kiếm.
  3. Chọn nút Navigate (Đi theo chỉ dẫn) Nút đi theo chỉ dẫn trong Google Maps..
  4. Chọn điểm xuất phát của tuyến đường đó trong bản đồ.
  5. (Không bắt buộc) Nhấp vào Add destination (Thêm điểm đến) để thêm các điểm dừng khác vào tuyến đường của bạn.
  6. Lưu tuyến đường của bạn bằng cách nhấp vào Save route (Lưu tuyến đường) trong chế độ xem bản đồ.
  7. Đặt tên cho tuyến đường rồi nhấp vào Save (Lưu).

Để mô phỏng trình mô phỏng theo tuyến đường bạn đã lưu, hãy chọn tuyến đường trong danh sách Saved routes (Tuyến đường đã lưu) rồi nhấp vào Play route (Chạy hành trình) gần phía dưới cùng bên phải của cửa sổ Extended controls (Chế độ điều khiển mở rộng). Để dừng quá trình mô phỏng, hãy nhấp vào Stop route (Dừng tuyến đường).

Thẻ Tuyến đường trong Chế độ điều khiển mở rộng của Trình mô phỏng..

Để liên tục mô phỏng Trình mô phỏng theo tuyến đường đã chỉ định, hãy bật nút bên cạnh Repeat playback (Lặp lại quá trình chạy). Để thay đổi tốc độ của Trình mô phỏng theo tuyến đường đã chỉ định, hãy chọn một tuỳ chọn trong trình đơn thả xuống Playback speed (Tốc độ chạy).

Hỗ trợ nhiều màn hình

Giờ đây, Trình mô phỏng Android cho phép bạn triển khai ứng dụng cho nhiều màn hình, hỗ trợ các kích thước có thể tuỳ chỉnh và có thể giúp bạn kiểm thử ứng dụng hỗ trợ nhiều cửa sổnhiều màn hình. Khi một thiết bị ảo đang chạy, bạn có thể thêm tối đa 2 màn hình bổ sung như sau:

  1. Mở Extended controls (Chế độ kiểm soát mở rộng) rồi chuyển đến thẻ Displays (Màn hình).
  2. Thêm một màn hình khác bằng cách nhấp vào Add secondary display (Thêm màn hình phụ).
  3. Trên trình đơn thả xuống bên dưới Secondary displays (Màn hình phụ), hãy làm theo một trong những cách sau:

    1. Chọn một trong các tỷ lệ khung hình có sẵn
    2. Chọn custom (tuỳ chỉnh) rồi đặt giá trị height (chiều cao), width (chiều rộng) và dpi cho màn hình tuỳ chỉnh.
  4. (Không bắt buộc) Nhấp vào Add secondary display (Thêm màn hình phụ) để thêm màn hình thứ ba.

  5. Nhấp vào Apply changes (Áp dụng các thay đổi) để thêm (các) màn hình được chỉ định vào thiết bị ảo đang chạy.

Thêm nhiều màn hình Thẻ hiển thị Chế độ điều khiển mở rộng của trình mô phỏng.

Mẫu dự án và thiết bị ảo mới dành cho Android Automotive OS

Khi tạo một dự án mới bằng Android Studio, giờ đây, bạn có thể chọn trong số 3 mẫu trên thẻ Automotive trong trình hướng dẫn Create New Project (Tạo dự án mới), gồm có: No Activity (Không có hoạt động), Media service (Dịch vụ nội dung nghe nhìn) và Messaging service (Dịch vụ nhắn tin). Đối với các dự án hiện có, bạn có thể thêm tuỳ chọn hỗ trợ cho các thiết bị Android Automotive bằng cách chọn File > New > New Module (Tệp > Mới > Mô-đun mới) trên thanh trình đơn rồi chọn Automotive module (Mô-đun Automotive). Trình hướng dẫn Create New Module (Tạo mô-đun mới) sẽ hướng dẫn bạn tạo mô-đun mới bằng một trong các mẫu dự án của Android Automotive.

Chọn mẫu dự án của Android Automotive..

Ngoài ra, giờ đây, bạn cũng có thể tạo Thiết bị Android ảo (AVD) cho thiết bị Android Automotive OS bằng cách chọn một trong các tuỳ chọn sau trong thẻ Automotive của trình hướng dẫn Virtual Device Configuration (Cấu hình thiết bị ảo).

  1. Polestar 2: Tạo một AVD mô phỏng đầu phát trung tâm Polestar 2.
  2. Automotive (1024p landscape) (Automotive (1024p theo chiều ngang)): Tạo một AVD cho đầu phát trung tâm Android Automotive 1024 x 768 px thông thường.

Chọn thiết bị ảo chạy Android Automotive..

Mục tải xuống SDK có thể tiếp tục

Giờ đây, khi tải các thành phần và công cụ SDK xuống bằng Trình quản lý SDK, Android Studio giúp bạn tiếp tục quá trình tải xuống bị gián đoạn (ví dụ: do sự cố mạng) thay vì bắt đầu tải xuống lại từ đầu. Tính năng nâng cao này đặc biệt hữu ích cho các nội dung tải xuống có kích thước lớn, chẳng hạn như Trình mô phỏng Android hoặc ảnh hệ thống, khi kết nối Internet không ổn định.

Ngoài ra, nếu có tác vụ tải SDK xuống (đang chạy ở chế độ nền), thì bạn có thể tạm dừng hoặc tiếp tục quá trình tải xuống bằng các chế độ điều khiển trên thanh trạng thái.

Tác vụ tải xuống ở chế độ nền trên thanh trạng thái có các chế độ điều khiển mới giúp
          bạn tạm dừng hoặc tiếp tục quá trình tải xuống.

Tác vụ tải xuống ở chế độ nền trên thanh trạng thái có các chế độ điều khiển mới giúp bạn tạm dừng hoặc tiếp tục quá trình tải xuống.

Không dùng Win32 nữa

Android Studio phiên bản Android 32 bit sẽ ngừng nhận bản cập nhật sau tháng 12 năm 2019 và sẽ không nhận hỗ trợ sau tháng 12 năm 2020. Bạn có thể tiếp tục dùng Android Studio. Tuy nhiên, để nhận thêm các bản cập nhật, hãy nâng cấp máy trạm lên phiên bản Windows 64 bit.

Để tìm hiểu thêm, hãy đọc blog về việc không dùng Windows 32 bit nữa.

Tuỳ chọn mới để tối ưu hoá thời gian đồng bộ hoá Gradle

Trong các bản phát hành trước, Android Studio đã lấy danh sách tất cả các tác vụ Gradle trong quá trình Đồng bộ hoá Gradle. Đối với các dự án lớn, việc lấy danh sách tác vụ có thể làm chậm thời gian đồng bộ hoá.

Để cải thiện hiệu suất của tính năng đồng bộ hoá Gradle, hãy chuyển đến File > Settings > Experimental (Tệp > Cài đặt > Thử nghiệm) rồi chọn Do not build Gradle task list during Gradle sync (Không tạo danh sách tác vụ Gradle trong quá trình đồng bộ hoá Gradle).

Khi bạn bật tuỳ chọn này, Android Studio sẽ bỏ qua việc tạo danh sách tác vụ trong quá trình đồng bộ hoá. Điều này cho phép tính năng Đồng bộ hoá Gradle hoàn thành nhanh hơn và cải thiện khả năng phản hồi của giao diện người dùng. Xin lưu ý rằng khi IDE bỏ qua việc tạo danh sách tác vụ, danh sách tác vụ trong bảng điều khiển Gradle sẽ trống và tính năng tự động hoàn thành tên trong các tệp bản dựng sẽ không hoạt động.

Vị trí mới để bật/tắt chế độ ngoại tuyến của Gradle

Để bật hoặc tắt chế độ ngoại tuyến của Gradle, trước tiên, hãy chọn View > Tool Windows > Gradle (Xem > Cửa sổ công cụ > Gradle) trên thanh trình đơn. Sau đó, ở gần đầu cửa sổ Gradle, hãy nhấp vào biểu tượng Toggle Offline Mode (Bật/tắt Chế độ ngoại tuyến) Nút chế độ ngoại tuyến của Gradle trong bảng điều khiển Gradle..

IntelliJ IDEA 2019.2

IDE Android Studio chính đã được cập nhật với các cải tiến từ IntelliJ IDEA thông qua bản phát hành 2019.2.

Để tìm hiểu thêm về những điểm cải tiến từ các phiên bản IntelliJ khác được tích hợp theo cách tích luỹ với phiên bản 2019.2, hãy xem các trang sau:

Người đóng góp cho cộng đồng

Cảm ơn tất cả những người đóng góp cho cộng đồng đã giúp chúng tôi phát hiện được lỗi và các cách khác để cải thiện Android Studio 3.6. Cụ thể, chúng tôi muốn cảm ơn những người sau đây đã báo cáo lỗi:

  • Albert Lo
  • Alexey Rott
  • Andrea Leganza
  • Benedikt Kolb
  • César Puerta
  • Curtis Kroetsch
  • Damian Wieczorek
  • Dan Lew
  • David Burström
  • Deepanshu
  • Egor Andreevici
  • Eli Graber
  • Emin Kokalari
  • Evan Tatarka
  • Frantisek Nagy
  • Greg Moens
  • Hannes Achleitner
  • Hans Petter Eide
  • Henning Bunk
  • Hugo Visser
  • Igor Escodro
  • Iñaki Villar
  • Javentira Lienata
  • Joe Rogers
  • Kristoffer Danielsson
  • Liran Barsisa
  • Louis CAD
  • Lóránt Pintér
  • Łukasz Wasylkowski
  • Luke Fielke
  • Malvin Sutanto
  • Masatoshi Kubode
  • Mathew Winters
  • Michael Bailey
  • Michał Górny
  • Mihai Neacsu
  • Mike Scamell
  • Monte Creasor
  • Nelson Osacky
  • Nelson Osacky
  • Nick Firmani
  • Nicklas Ansman Giertz
  • Niclas Kron
  • Nicolás Lichtmaier
  • Niek Haarman
  • Niels van Hove
  • Niklas Baudy
  • Renato Goncalves
  • Roar Grønmo
  • Ruslan Baratov
  • Sinan Kozak
  • Slawomir Czerwinski
  • Stefan Wolf
  • Stephen D'Amico
  • Tao Wang
  • Tomas Chladek
  • Tomáš Procházka
  • Tony Robalik
  • Torbjørn Sørli
  • Warren He
  • Yenchi Lin
  • Zac Sweers
  • Phiên bản 3.5 (Tháng 8/2019)

    Android Studio 3.5 là một bản phát hành chính và cũng là kết quả của Project Marble. Kể từ bản phát hành Android Studio 3.3, sáng kiến Project Marble đã bao gồm nhiều bản phát hành tập trung vào việc cải thiện 3 khu vực chính trên IDE: Đó là tình trạng hệ thống, hoàn thiện tính năng và sửa lỗi.

    Để tìm hiểu thông tin về những nội dung này và các nội dung cập nhật khác về Project Marble, hãy đọc bài đăng trên blog dành cho nhà phát triển Android hoặc các phần bên dưới.

    Chúng tôi cũng muốn cảm ơn tất cả những người đóng góp cho cộng đồng đã giúp chúng tôi triển khai bản phát hành này.

    Phiên bản 3.5.3 (Tháng 12/2019)

    Bản cập nhật nhỏ này bao gồm nhiều bản sửa lỗi và điểm cải tiến hiệu suất.

    Phiên bản 3.5.2 (Tháng 11/2019)

    Bản cập nhật nhỏ này bao gồm nhiều bản sửa lỗi và điểm cải tiến hiệu suất. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

    Phiên bản 3.5.1 (Tháng 10/2019)

    Bản cập nhật nhỏ này bao gồm nhiều bản sửa lỗi và điểm cải tiến hiệu suất. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

    Project Marble: Tình trạng hệ thống

    Phần này mô tả về các thay đổi trong Android Studio 3.5 tập trung vào việc cải thiện tình trạng hệ thống.

    Chế độ cài đặt đề xuất cho bộ nhớ

    Android Studio giờ đây sẽ thông báo cho bạn nếu phát hiện thấy bạn có thể cải thiện hiệu suất bằng cách tăng dung lượng RAM tối đa mà hệ điều hành nên phân bổ cho các quy trình của Android Studio, chẳng hạn như IDE chính, trình nền của Gradle và trình nền của Kotlin. Bạn có thể chấp nhận các chế độ cài đặt đề xuất bằng cách nhấp vào đường liên kết hành động trong thông báo, hoặc điều chỉnh các chế độ cài đặt này theo cách thủ công bằng cách chọn File > Settings (Tệp > Cài đặt) (hoặc Android Studio > Preferences (Android Studio > Lựa chọn ưu tiên) trên macOS) sau đó tìm phần Memory Settings (Cài đặt bộ nhớ) trong Appearance & Behavior > System Settings (Giao diện và hành vi > Cài đặt hệ thống). Để tìm hiểu thêm, hãy xem bài viết Kích thước tối đa của vùng nhớ khối xếp.

    Thông báo về các chế độ cài đặt đề xuất cho bộ nhớ.

    Thông báo về các chế độ cài đặt đề xuất cho bộ nhớ.

    Báo cáo về mức sử dụng bộ nhớ

    Đôi khi, rất khó mô phỏng và báo cáo các vấn đề về bộ nhớ trong Android Studio. Để giúp giải quyết vấn đề này, Android Studio sẽ cho phép bạn tạo báo cáo về mức sử dụng bộ nhớ bằng cách nhấp vào Help > Analyze Memory Usage (Trợ giúp > Phân tích mức sử dụng bộ nhớ) trên thanh trình đơn. Khi bạn làm như vậy, IDE sẽ xoá dữ liệu về thông tin cá nhân trên máy trước khi hỏi xem bạn có muốn gửi dữ liệu đó cho nhóm Android Studio để xác định căn nguyên của các vấn đề về bộ nhớ hay không. Để tìm hiểu thêm, hãy xem bài viết Chạy báo cáo về mức sử dụng bộ nhớ.

    Báo cáo về mức sử dụng bộ nhớ.

    Báo cáo về mức sử dụng bộ nhớ.

    Windows: Tối ưu hoá I/O của tệp chống vi-rút

    Giờ đây, Android Studio sẽ tự động kiểm tra xem một số thư mục dự án có bị loại trừ khỏi quá trình quét chống vi-rút theo thời gian thực hay không. Khi có thể điều chỉnh để cải thiện hiệu suất của bản dựng, Android Studio sẽ thông báo cho bạn và cung cấp hướng dẫn về cách tối ưu hoá cấu hình diệt vi-rút của bạn. Để tìm hiểu thêm, hãy xem bài viết Giảm thiểu tác động của phần mềm diệt vi-rút đến tốc độ của bản dựng.

    Project Marble: Cải thiện tính năng

    Phần này mô tả về các thay đổi trong Android Studio 3.5 tập trung vào việc cải thiện các tính năng hiện có.

    Áp dụng các thay đổi

    Tuỳ chọn Áp dụng các thay đổi giúp bạn đẩy các thay đổi mã và tài nguyên vào ứng dụng đang chạy của mình mà không cần khởi động lại ứng dụng và, trong một số trường hợp, bạn cũng không cần khởi động lại hoạt động hiện tại. Tuỳ chọn Áp dụng các thay đổi sẽ triển khai một phương pháp hoàn toàn mới để duy trì trạng thái của ứng dụng. Không giống như tuỳ chọn Chạy tức thì (sẽ viết lại mã byte của APK), tuỳ chọn Áp dụng các thay đổi sẽ xác định lại các lớp một cách nhanh chóng bằng cách tận dụng khả năng đo lường thời gian chạy được hỗ trợ trong Android 8.0 (API cấp 26) trở lên.

    Để tìm hiểu thêm, hãy xem bài viết Áp dụng các thay đổi.

    Nút Áp dụng các thay đổi trên thanh công cụ.

    Nút Áp dụng các thay đổi trên thanh công cụ.

    Quy trình triển khai ứng dụng

    IDE có trình đơn thả xuống mới giúp bạn nhanh chóng chọn thiết bị mà mình muốn triển khai ứng dụng cho. Trình đơn này cũng có một tuỳ chọn mới giúp bạn chạy ứng dụng của mình trên nhiều thiết bị cùng một lúc.

    Trình đơn thả xuống về thiết bị mục tiêu.

    Trình đơn thả xuống về thiết bị mục tiêu.

    Cải thiện tính năng phát hiện bộ nhớ đệm và đồng bộ hoá Gradle

    Giờ đây, IDE có khả năng phát hiện tốt hơn khi Gradle định kỳ xoá bộ nhớ đệm của bản dựng khi giảm mức tiêu thụ ổ đĩa cứng. Trong các phiên bản trước, trạng thái này khiến IDE báo cáo các phần phụ thuộc bị thiếu và quá trình đồng bộ hoá Gradle không thành công. Giờ đây, IDE chỉ cần tải các phần phụ thuộc xuống khi cần thiết để đảm bảo rằng quá trình đồng bộ hoá Gradle đã hoàn tất thành công.

    Cải thiện tính năng báo cáo lỗi của bản dựng

    Cửa sổ Build (Tạo) Biểu tượng cửa sổ tạo hiện cung cấp khả năng báo cáo lỗi tốt hơn, chẳng hạn như một đường liên kết đến tệp và dòng của lỗi được báo cáo cho các quy trình xây dựng sau:

    • Liên kết và biên dịch AAPT
    • R8 và ProGuard
    • Tạo tệp dex
    • Hợp nhất tài nguyên
    • Phân tích cú pháp tệp XML
    • Biên dịch Java, Kotlinc và CMake

    Nâng cấp dự án

    Cải thiện trải nghiệm cập nhật để cung cấp thêm thông tin và hành động nhằm giúp bạn cập nhật IDE và trình bổ trợ Android cho Gradle. Ví dụ: sẽ có nhiều lỗi đồng bộ hoá và xây dựng hơn, trong đó có các hành động giúp bạn giảm thiểu lỗi khi cập nhật.

    Điều quan trọng cần lưu ý là bạn có thể cập nhật IDE một cách độc lập với các thành phần khác, chẳng hạn như trình bổ trợ Android cho Gradle. Vì vậy, bạn có thể cập nhật IDE một cách an toàn ngay khi có phiên bản mới và cập nhật các thành phần khác sau.

    Layout Editor

    Android Studio 3.5 bao gồm một số điểm cải tiến cho quá trình tương tác, quản lý và trực quan hoá bố cục.

    Khi làm việc với ConstraintLayout, một phần mới có tên là Constraints (Quy tắc ràng buộc) trong bảng điều khiển Attributes (Thuộc tính) sẽ liệt kê các mối quan hệ ràng buộc của thành phần trên giao diện người dùng đã chọn. Bạn có thể chọn một quy tắc ràng buộc trong giao diện thiết kế hoặc trong danh sách quy tắc ràng buộc để làm nổi bật quy tắc ràng buộc đó ở cả hai khu vực.

    Mối quan hệ ràng buộc của một thành phần trên giao diện người dùng đã chọn.

    Mối quan hệ ràng buộc của một thành phần trên giao diện người dùng đã chọn.

    Tương tự, giờ đây, bạn có thể xoá một quy tắc ràng buộc bằng cách chọn quy tắc đó rồi nhấn phím Delete. Bạn cũng có thể xoá một quy tắc ràng buộc bằng cách giữ phím Control (Command trên macOS) và nhấp vào điểm neo của quy tắc ràng buộc. Xin lưu ý rằng khi bạn giữ phím Control hoặc Command và di chuột qua một điểm neo, mọi quy tắc ràng buộc có liên quan sẽ chuyển sang màu đỏ để cho bạn biết rằng mình có thể nhấp vào để xoá các quy tắc đó.

    Khi chọn thành phần hiển thị, bạn có thể tạo một quy tắc ràng buộc bằng cách nhấp vào bất kỳ biểu tượng + nào trong mục Constraint Widget (Tiện ích quy tắc ràng buộc) của bảng điều khiển Attributes (Thuộc tính), như minh hoạ trong hình sau. Khi bạn tạo một quy tắc ràng buộc mới, giờ đây, Layout Editor sẽ chọn và đánh dấu quy tắc ràng buộc đó để cung cấp ý kiến phản hồi trực quan ngay lập tức cho nội dung bạn vừa thêm.

    Ảnh động minh hoạ cách sử dụng tiện ích quy tắc ràng buộc để tạo
          các quy tắc ràng buộc.

    Sử dụng tiện ích quy tắc ràng buộc để tạo các quy tắc ràng buộc.

    Khi tạo một quy tắc ràng buộc, giờ đây, Layout Editor sẽ chỉ hiển thị các điểm neo đủ điều kiện mà bạn có thể ràng buộc. Trước đây, Layout Editor làm nổi bật mọi điểm neo trên tất cả các thành phần hiển thị, bất kể bạn có thể ràng buộc các điểm neo này hay không. Ngoài ra, giờ đây, lớp phủ màu xanh lam sẽ làm nổi bật mục tiêu của quy tắc ràng buộc. Tính năng làm nổi bật này đặc biệt hữu ích khi bạn cố gắng ràng buộc đến một thành phần trùng lặp với một thành phần khác.

    Ảnh động minh hoạ cách tạo quy tắc ràng buộc cho một thành phần
          trùng lặp trong Android Studio 3.4.

    Tạo quy tắc ràng buộc cho một thành phần trùng lặp trong Android Studio 3.4.

    Ảnh động minh hoạ cách tạo quy tắc ràng buộc cho một thành phần
          trùng lặp trong Android Studio 3.5.

    Tạo quy tắc ràng buộc cho một thành phần trùng lặp trong Android Studio 3.5.

    Ngoài các bản cập nhật ở trên, Android Studio 3.5 cũng có chứa các điểm cải tiến sau đây cho Layout Editor:

    • Giờ đây, Constraint Widget (Tiện ích quy tắc ràng buộc) và trình đơn lề mặc định thả xuống sẽ cho phép bạn sử dụng tài nguyên kích thước cho lề.
    • Trong thanh công cụ của Layout Editor, danh sách các thiết bị xác định kích thước của giao diện thiết kế đã được cập nhật. Ngoài ra, hoạt động chụp nhanh trong khi đổi kích thước cũng được cải thiện, và ô điều khiển thay đổi kích thước trên giao diện thiết kế giờ đây sẽ luôn hiển thị. Khi đổi kích thước, các lớp phủ mới sẽ xuất hiện cho biết kích thước phổ biến của thiết bị.
    • Layout Editor có một bảng phối màu mới giúp cải thiện tính nhất quán và giảm độ tương phản giữa các thành phần, văn bản cũng như các quy tắc ràng buộc.
    • Chế độ bản vẽ giờ đây sẽ hỗ trợ định dạng văn bản cho một số thành phần mà văn bản không được hiển thị.

    Để biết thêm thông tin về những thay đổi này, hãy xem bài viết Android Studio Project Marble: Layout Editor.

    Liên kết dữ liệu

    Ngoài việc bổ sung hoạt động hỗ trợ xử lý chú giải gia tăng cho tính năng Liên kết dữ liệu, IDE còn cải thiện hiệu suất và các tính năng của trình chỉnh sửa thông minh khi tạo biểu thức liên kết dữ liệu trong XML.

    Ảnh động minh hoạ hiệu suất của trình soạn thảo mã trên Android Studio
          3.4.

    Hiệu suất của trình soạn thảo mã trên Android Studio 3.4.

    Ảnh động minh hoạ hiệu suất của trình soạn thảo mã trên Android Studio
          3.5.

    Cải thiện hiệu suất soạn thảo mã trên Android Studio 3.5.

    Cải thiện dịch vụ hỗ trợ cho các dự án C/C++

    Android Studio 3.5 có một số thay đổi giúp cải tiến dịch vụ hỗ trợ các dự án C/C++.

    Cải thiện bảng điều khiển Biến thể xây dựng để đồng bộ hoá biến thể duy nhất

    Giờ đây, bạn có thể chỉ định cả biến thể xây dựng và giao diện nhị phân ứng dụng (ABI) đang hoạt động trong bảng điều khiển Build Variants (Biến thể xây dựng). Tính năng này giúp đơn giản hoá cấu hình xây dựng cho mỗi mô-đun và cũng có thể cải thiện hiệu suất đồng bộ hoá Gradle.

    Để tìm hiểu thêm, hãy xem bài viết Thay đổi biến thể xây dựng.

    Bảng điều khiển Biến thể xây dựng hiển thị một lựa chọn biến thể theo ABI.

    Bảng điều khiển Biến thể xây dựng có một lựa chọn biến thể theo ABI.

    Sử dụng song các phiên bản NDK

    Giờ đây, bạn có thể sử dụng song nhiều phiên bản NDK. Tính năng này mang đến cho bạn khả năng định cấu hình dự án linh hoạt hơn. Ví dụ: nếu bạn có dự án sử dụng nhiều phiên bản NDK trên cùng một máy.

    Nếu dự án của bạn sử dụng trình bổ trợ Android cho Gradle 3.5.0 trở lên, bạn cũng có thể chỉ định phiên bản NDK mà mỗi mô-đun trong dự án của bạn sẽ sử dụng. Bạn có thể dùng tính năng này để tạo các bản dựng có thể mô phỏng, đồng thời giảm thiểu sự không tương thích giữa các phiên bản NDK và trình bổ trợ Android cho Gradle.

    Để tìm hiểu thêm, hãy xem bài viết Cài đặt và định cấu hình NDK, CMake và LLDB.

    Hỗ trợ Chrome OS

    Android Studio giờ đây chính thức hỗ trợ các thiết bị Chrome OS, chẳng hạn như HP Chromebook x360 14, Acer Chromebook 13/Spin 13 và các thiết bị khác mà bạn có thể đọc trong các yêu cầu của hệ thống. Để bắt đầu, hãy tải Android Studio xuống thiết bị Chrome OS tương thích và làm theo hướng dẫn cài đặt.

    Phân phối có điều kiện cho các mô-đun tính năng

    Phương thức phân phối có điều kiện cho phép bạn đặt một số yêu cầu về cấu hình thiết bị để hệ thống tự động tải các mô-đun tính năng xuống trong quá trình cài đặt ứng dụng. Ví dụ: bạn có thể định cấu hình cho một mô-đun tính năng có cung cấp chức năng thực tế tăng cường (AR) khi cài đặt ứng dụng chỉ cho những thiết bị hỗ trợ AR.

    Cơ chế phân phối này hiện hỗ trợ việc kiểm soát lượt tải xuống của một mô-đun tại thời điểm cài đặt ứng dụng dựa trên các cấu hình thiết bị sau:

    • Các tính năng của thiết bị liên quan đến phần cứng và phần mềm, bao gồm cả phiên bản OpenGL ES
    • Quốc gia của người dùng
    • Cấp độ API

    Nếu thiết bị không đáp ứng mọi yêu cầu mà bạn đưa ra, thì mô-đun sẽ không được tải xuống tại thời điểm cài đặt ứng dụng. Tuy nhiên, ứng dụng của bạn sau đó có thể yêu cầu tải mô-đun xuống theo yêu cầu bằng Thư viện Play Core. Để tìm hiểu thêm, hãy đọc bài viết Định cấu hình cho phương thức phân phối có điều kiện.

    IntelliJ IDEA 2019.1

    IDE Android Studio chính đã được cập nhật với các cải tiến từ IntelliJ IDEA thông qua bản phát hành 2019.1, chẳng hạn như quá trình tuỳ chỉnh giao diện.

    Phiên bản IntelliJ mới nhất đi kèm với Android Studio là 2018.3.4. Để biết thêm thông tin về những điểm cải tiến của các phiên bản IntelliJ khác đi kèm với bản phát hành Android Studio này theo cách tích luỹ, hãy xem các bản cập nhật sửa lỗi sau:

    Tính năng cập nhật của trình bổ trợ Android cho Gradle 3.5.0

    Để biết thông tin về các tính năng mới trong trình bổ trợ Android cho Gradle 3.5.0, chẳng hạn như cải thiện khả năng hỗ trợ cho quá trình xử lý chú giải gia tăng và phương thức kiểm thử đơn vị có thể lưu vào bộ nhớ đệm, hãy xem ghi chú phát hành của trình bổ trợ này.

    Người đóng góp cho cộng đồng

    Cảm ơn tất cả những người đóng góp cho cộng đồng đã giúp chúng tôi phát hiện được lỗi và các cách khác để cải thiện Android Studio 3.5. Cụ thể, chúng tôi muốn cảm ơn những người sau đây đã báo cáo lỗi P0 và P1:

    Phiên bản 3.4 (Tháng 4/2019)

    Android Studio 3.4 là một bản phát hành chính có nhiều tính năng và điểm cải tiến mới.

    Phiên bản 3.4.2 (Tháng 7/2019)

    Bản cập nhật nhỏ này bao gồm nhiều bản sửa lỗi và điểm cải tiến hiệu suất. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

    3.4.1 (Tháng 5/2019)

    Bản cập nhật nhỏ này bao gồm nhiều bản sửa lỗi và điểm cải tiến hiệu suất. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

    Vấn đề đã biết về phiên bản 3.4.0

    • Tính năng lập hồ sơ bị tắt khi triển khai ứng dụng cho một thiết bị chạy Android Q Beta.

    • Khi bạn sử dụng Thư viện liên kết dữ liệu, LiveDataListener.onChanged() có thể không hoạt động với lỗi NPE. Bản sửa lỗi cho vấn đề này sẽ được đưa vào Android Studio 3.4.1 và sẽ có trong Phiên bản xem trước mới nhất của Android Studio 3.5. (Xem vấn đề #122066788)

    IntelliJ IDEA 2018.3.4

    IDE Android Studio chính đã được cập nhật với các điểm cải tiến từ IntelliJ IDEA thông qua bản phát hành 2018.3.4.

    Tính năng cập nhật của trình bổ trợ Android cho Gradle 3.4.0

    Để biết thông tin về các tính năng mới trong trình bổ trợ của cho Gradle 3.4.0, hãy xem các bản ghi chú phát hành của trình bổ trợ này.

    Hộp thoại cấu trúc dự án mới

    Hộp thoại cấu trúc dự án (PSD) mới giúp bạn dễ dàng cập nhật các phần phụ thuộc và định cấu hình nhiều khía cạnh của dự án, chẳng hạn như các mô-đun, biến thể xây dựng, cấu hình ký tên và biến xây dựng.

    Bạn có thể mở PSD bằng cách chọn File > Project Structure (Tệp > Cấu trúc dự án) trên thanh trình đơn. Bạn cũng có thể mở PSD bằng cách nhấn Ctrl+Shift+Alt+S trên Windows và Linux hoặc Command+; (dấu chấm phẩy) trên macOS. Bạn có thể xem phần mô tả về một số mục mới, được cập nhật của PSD ở bên dưới.

    Biến

    Mục biến mới của PSD cho phép bạn tạo và quản lý biến xây dựng, chẳng hạn như các biến giúp duy trì sự nhất quán về số phiên bản cho các phần phụ thuộc trên dự án.

    • Nhanh chóng xem và chỉnh sửa các biến xây dựng đã tồn tại trong tập lệnh bản dựng Gradle của dự án.
    • Thêm các biến xây dựng mới ở cấp dự án hoặc cấp mô-đun ngay trong PSD.

    Mô-đun

    Định cấu hình các thuộc tính áp dụng cho tất cả các biến thể xây dựng trong một mô-đun hiện có hoặc thêm các mô-đun mới vào dự án của bạn từ mục Modules (Mô-đun). Ví dụ: đây là nơi bạn có thể định cấu hình các thuộc tính của defaultConfig hoặc quản lý các cấu hình ký tên.

    Phần phụ thuộc

    Kiểm tra và trực quan hoá từng phần phụ thuộc trong biểu đồ phần phụ thuộc của dự án, do Gradle giải quyết trong quá trình đồng bộ hoá dự án, bằng cách làm theo các bước sau:

    1. Trong ngăn bên trái của PSD, hãy chọn Dependencies (Phần phụ thuộc).
    2. Trong ngăn Modules (Mô-đun), hãy chọn một mô-đun mà bạn muốn kiểm tra các phần phụ thuộc đã được giải quyết.
    3. Ở phía bên phải của PSD, hãy mở ngăn Resolved Dependencies (Phần phụ thuộc đã giải quyết), như hiển thị bên dưới.

    Bạn cũng có thể nhanh chóng tìm kiếm và thêm phần phụ thuộc vào dự án bằng cách chọn một mô-đun trong mục Dependencies (Phần phụ thuộc) của PSD trước tiên, sau đó nhấp vào nút (+) trong mục Declared Dependencies (Phần phụ thuộc đã khai báo) rồi chọn loại phần phụ thuộc mà bạn muốn thêm.

    Tuỳ thuộc vào loại phần phụ thuộc mà bạn chọn, bạn sẽ thấy hộp thoại, tương tự như hộp thoại ở bên dưới, giúp bạn thêm phần phụ thuộc vào mô-đun.

    Biến thể xây dựng

    Trong mục này của PSD, hãy tạo và định cấu hình các biến thể xây dựng cũng như phiên bản sản phẩm cho mỗi mô-đun trong dự án của bạn. Bạn có thể thêm phần giữ chỗ cho tệp kê khai, thêm tệp ProGuard và chỉ định khoá ký tên, v.v.

    Nội dung đề xuất

    Xem nội dung cập nhật đề xuất cho các phần phụ thuộc của dự án và biến xây dựng trong mục Suggestions (Nội dung đề xuất), như hình bên dưới.

    Trình quản lý tài nguyên mới

    Trình quản lý tài nguyên là một cửa sổ công cụ mới dùng để nhập, tạo, quản lý và sử dụng các tài nguyên trong ứng dụng của bạn. Bạn có thể mở cửa sổ công cụ bằng cách chọn View > Tool Windows > Resource Manager (Xem > Cửa sổ công cụ > Trình quản lý tài nguyên) trên thanh trình đơn. Trình quản lý tài nguyên giúp bạn làm những việc sau:

    • Trực quan hoá tài nguyên: Bạn có thể xem trước các đối tượng có thể vẽ, màu sắc và bố cục để tìm nhanh các tài nguyên mình cần.
    • Nhập hàng loạt: Bạn có thể nhập nhiều phần tử có thể vẽ cùng một lúc bằng cách kéo và thả các phần tử đó vào cửa sổ công cụ Resource Manager (Trình quản lý tài nguyên) hoặc bằng cách sử dụng trình hướng dẫn Import drawables (Nhập đối tượng có thể vẽ). Để truy cập trình hướng dẫn, hãy chọn nút (+) ở góc trên cùng bên trái cửa sổ công cụ, sau đó chọn Import Drawables (Nhập đối tượng có thể vẽ) trên trình đơn thả xuống.
    • Chuyển đổi đồ hoạ vectơ có thể mở rộng (SVG) thành đối tượng VectorDrawable: Bạn có thể dùng trình hướng dẫn Import Drawables (Nhập đối tượng có thể vẽ) để chuyển đổi hình ảnh SVG thành đối tượng VectorDrawable.
    • Kéo và thả phần tử: Trên cửa sổ công cụ Resource Manager (Trình quản lý tài nguyên), bạn có thể kéo và thả các đối tượng có thể vẽ vào cả thành phần hiển thị thiết kế và thành phần hiển thị XML của Layout Editor.
    • Xem các phiên bản thay thế: Giờ đây, bạn có thể xem các phiên bản thay thế của tài nguyên bằng cách nhấp đúp vào tài nguyên trong cửa sổ Tool (Công cụ). Thành phần hiển thị này hiển thị nhiều phiên bản mà bạn đã tạo và các bộ hạn định được đưa vào.
    • Thành phần hiển thị ô và danh sách: Bạn có thể thay đổi thành phần hiển thị trong cửa sổ công cụ để trực quan hoá tài nguyên của mình theo nhiều cách sắp xếp.

    Để tìm hiểu thêm, hãy đọc hướng dẫn về cách Quản lý tài nguyên ứng dụng.

    Kiểm tra mã bản dựng khi phân tích và gỡ lỗi APK

    Khi bạn cung cấp tệp biểu tượng gỡ lỗi cho thư viện dùng chung .so bên trong APK của mình, Android Studio sẽ xác minh rằng mã bản dựng của các tệp biểu tượng đã cung cấp khớp với mã bản dựng của thư viện .so trong APK.

    Nếu bạn tạo các thư viện gốc trong APK bằng một mã bản dựng, Android Studio sẽ kiểm tra xem mã bản dựng trong tệp biểu tượng của bạn có khớp với mã bản dựng trong các thư viện gốc hay không và từ chối các tệp biểu tượng đó nếu không khớp. Nếu bạn không xây dựng bằng mã bản dựng thì việc cung cấp tệp biểu tượng không chính xác có thể gây ra sự cố khi gỡ lỗi.

    R8 được bật theo mặc định

    R8 tích hợp tính năng đơn giản hoá, rút gọn, làm rối mã nguồn, tối ưu hoá và tạo tệp dex tất cả chỉ trong một bước. Điều này giúp cải thiện hiệu suất của các bản dựng một cách đáng kể. R8 được giới thiệu trong trình bổ trợ Android cho Gradle 3.3.0 và hiện được bật theo mặc định cho cả ứng dụng lẫn các dự án thư viện Android sử dụng trình bổ trợ 3.4.0 trở lên.

    Hình ảnh bên dưới cung cấp thông tin tổng quan cấp cao về quá trình biên dịch trước khi R8 được giới thiệu.

    Trước R8, ProGuard là một bước biên dịch riêng, tách biệt với tác vụ tạo tệp dex và
          đơn giản hoá.

    Hiện tại, nhờ R8, việc đơn giản hoá, rút gọn, làm rối mã nguồn, tối ưu hoá và tạo tệp dex (D8) đều được hoàn tất ở một bước, như hình minh hoạ dưới đây.

    Với R8, việc đơn giản hoá, rút gọn, làm rối mã nguồn, tối ưu hoá và tạo tệp dex
          đều được thực hiện trong một bước biên dịch.

    Xin lưu ý rằng R8 được thiết kế để hoạt động với các quy tắc ProGuard hiện có, vì vậy, bạn có thể sẽ không cần thực hiện thêm bất kỳ hành động nào. Tuy nhiên, vì công nghệ này khác với ProGuard được thiết kế riêng cho các dự án Android, nên việc rút gọn và tối ưu hoá có thể khiến mã mà ProGuard không có bị xoá. Vì vậy, trong trường hợp hiếm gặp này, bạn có thể cần phải thêm quy tắc bổ sung để giữ lại mã đó trong đầu ra của bản dựng.

    Nếu gặp vấn đề khi sử dụng R8, hãy đọc bài viết Câu hỏi thường gặp về khả năng tương thích với R8 để xem có giải pháp nào không. Nếu không tìm thấy giải pháp, vui lòng báo cáo lỗi. Bạn có thể tắt R8 bằng cách thêm một trong các dòng sau vào tệp gradle.properties của dự án:

    # Disables R8 for Android Library modules only.
    android.enableR8.libraries = false
    # Disables R8 for all modules.
    android.enableR8 = false
    

    Tất cả các loại đối số được hỗ trợ trong thành phần Điều hướng hiện cũng được hỗ trợ trong Trình chỉnh sửa điều hướng. Để biết thêm thông tin về các loại được hỗ trợ, hãy xem bài viết Chuyển dữ liệu giữa các đích đến.

    Cải tiến Layout Editor

    Ngăn Attributes (Thuộc tính) trong Layout Editor được tinh giản thành một trang duy nhất cùng với các mục mà bạn có thể mở rộng để hiển thị các thuộc tính có thể định cấu hình. Ngăn Attributes (Thuộc tính) cũng có những điểm cập nhật sau đây:

    • Mục mới có tên là Declared Attributes (Thuộc tính đã khai báo) liệt kê các thuộc tính mà tệp bố cục chỉ định và cho phép bạn để nhanh chóng thêm các thuộc tính mới.
    • Ngăn Attributes (Thuộc tính) giờ đây cũng có các chỉ báo tính năng bên cạnh mỗi thuộc tính bền vững khi giá trị của thuộc tính đó là một mã tham chiếu tài nguyên và bên cạnh mỗi thuộc tính trống .
    • Các thuộc tính có lỗi hoặc cảnh báo giờ đây sẽ được làm nổi bật. Điểm nổi bật màu đỏ cho biết lỗi (ví dụ: khi bạn sử dụng giá trị bố cục không hợp lệ) và điểm nổi bật màu cam cho biết các cảnh báo (ví dụ: khi bạn sử dụng giá trị được mã hoá cứng).

    Thao tác mới theo ý định để nhập nhanh các phần phụ thuộc

    Nếu bạn bắt đầu sử dụng một số lớp Jetpack và Firebase trong mã của mình, thì một thao tác mới theo ý định sẽ đề xuất việc thêm phần phụ thuộc bắt buộc của thư viện Gradle vào dự án của bạn, nếu bạn chưa làm vậy. Ví dụ: nếu bạn tham chiếu lớp WorkManager mà không nhập trước phần phụ thuộc android.arch.work:work-runtime bắt buộc, thì một thao tác theo ý định sẽ giúp bạn thực hiện thao tác đó dễ dàng chỉ bằng một lần nhấp, như minh hoạ bên dưới.

    Cụ thể, vì Jetpack đã đóng gói lại thư viện hỗ trợ thành các gói riêng biệt để dễ quản lý và cập nhật hơn, nên thao tác theo ý định này sẽ giúp bạn chỉ thêm các phần phụ thuộc mà bạn cần cho các thành phần Jetpack mà bạn muốn sử dụng một cách nhanh chóng.

    Phiên bản 3.3 (Tháng 1/2019)

    Android Studio 3.3 là một bản phát hành chính có nhiều tính năng và điểm cải tiến mới.

    Phiên bản 3.3.2 (Tháng 3/2019)

    Bản cập nhật nhỏ này bao gồm nhiều bản sửa lỗi và điểm cải tiến hiệu suất. Để xem danh sách những bản sửa lỗi đáng chú ý, hãy đọc bài đăng liên quan trên blog Thông tin cập nhật về bản phát hành.

    Phiên bản 3.3.1 (tháng 2/2019)

    Bản cập nhật nhỏ này bao gồm nhiều bản sửa lỗi và điểm cải tiến hiệu suất.

    IntelliJ IDEA 2018.2.2

    IDE Android Studio chính đã được cập nhật với các điểm cải tiến từ IntelliJ IDEA thông qua bản phát hành 2018.2.2.

    Tính năng cập nhật của trình bổ trợ Android cho Gradle

    Để biết thông tin về các tính năng mới trong trình bổ trợ Android cho Gradle, hãy xem các bản ghi chú phát hành của trình bổ trợ này.

    Trình chỉnh sửa điều hướng cho phép bạn nhanh chóng trực quan hoá và đưa tính năng điều hướng vào ứng dụng của mình bằng cách sử dụng Thành phần cấu trúc điều hướng.

    Để biết thêm thông tin, hãy xem bài viết Triển khai tính năng điều hướng bằng Thành phần cấu trúc điều hướng.

    Xoá thư mục Android Studio không dùng đến

    Trong lần đầu tiên chạy Android Studio phiên bản lớn, Android Studio sẽ tìm các thư mục chứa bộ nhớ đệm, chế độ cài đặt, chỉ mục và nhật ký của các phiên bản Android Studio không tìm thấy bản cài đặt tương ứng. Sau đó, hộp thoại Delete Unused Android Studio (Xoá thư mục Android Studio không dùng đến) sẽ cho thấy vị trí, kích thước và thời gian sửa đổi gần đây nhất của các thư mục không dùng đến này, đồng thời đưa ra tuỳ chọn để xoá các thư mục đó.

    Dưới đây là danh sách các thư mục mà Android Studio xem xét xoá:

    • Linux: ~/.AndroidStudio[Preview]_X.Y_
    • Mac: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]_X.Y_
    • Windows: %USER%\.AndroidStudio[Preview]_X.Y_

    Cải tiến công cụ tìm lỗi mã nguồn

    Khi được gọi từ Gradle, Công cụ tìm lỗi mã nguồn sẽ hoạt động nhanh hơn đáng kể – với các dự án có quy mô lớn hơn, công cụ tìm lỗi mã nguồn này dự kiến có thể chạy nhanh hơn gấp 4 lần.

    Trình hướng dẫn Tạo dự án mới

    Trình hướng dẫn Create New Project (Tạo dự án mới) có giao diện mới cũng như có các điểm cập nhật để tinh giản quy trình tạo dự án mới trong Android Studio.

    Để biết thêm thông tin, hãy xem bài viết Tạo dự án.

    Bản cập nhật của trình phân tích tài nguyên

    Android Studio 3.3 cung cấp các bản cập nhật cho một số trình phân tích tài nguyên.

    Cải tiến hiệu suất

    Dựa trên ý kiến phản hồi của người dùng, hiệu suất hiển thị khi sử dụng trình phân tích tài nguyên đã được cải thiện đáng kể. Hãy tiếp tục cung cấp ý kiến phản hồi, đặc biệt nếu bạn tiếp tục gặp các vấn đề về hiệu suất.

    Tuỳ chọn theo dõi hoạt động phân bổ bộ nhớ của trình phân tích tài nguyên

    Để cải thiện hiệu suất của ứng dụng trong quá trình phân tích, Trình phân tích bộ nhớ giờ đây sẽ lấy mẫu các lượt phân bổ bộ nhớ định kỳ theo mặc định. Nếu muốn, bạn có thể thay đổi hành vi này bằng cách sử dụng trình đơn thả xuống Allocation Tracking (Theo dõi hoạt động phân bổ) khi tiến hành kiểm thử trên các thiết bị chạy Android 8.0 (API cấp 26) trở lên.

    Khi sử dụng trình đơn thả xuống Allocation Tracking (Theo dõi hoạt động phân bổ), bạn có thể chọn trong số các chế độ sau:

    • Full (Đầy đủ): Ghi lại toàn bộ quá trình phân bổ bộ nhớ cho đối tượng. Xin lưu ý rằng nếu có một ứng dụng phân bổ rất nhiều đối tượng, thì bạn có thể thấy các vấn đề nghiêm trọng về hiệu suất trong khi phân tích.
    • Sampled (Đã lấy mẫu): Ghi lại việc lấy mẫu định kỳ của quá trình phân bổ bộ nhớ cho đối tượng. Đây là hành vi mặc định và có ít tác động hơn đến hiệu suất của ứng dụng trong quá trình phân tích. Bạn có thể gặp phải một số vấn đề về hiệu suất với những ứng dụng phân bổ quá nhiều đối tượng trong một khoảng thời gian ngắn.
    • Off (Tắt): Sẽ tắt chế độ phân bổ bộ nhớ. Nếu chưa chọn, chế độ này sẽ tự động bật trong quá trình ghi CPU rồi quay lại chế độ cài đặt trước đó khi quá trình ghi hoàn tất. Bạn có thể thay đổi hành vi này trong hộp thoại cấu hình bản ghi CPU.

      Hoạt động theo dõi này ảnh hưởng đến cả đối tượng Java và tệp tham chiếu JNI.

    Kiểm tra dữ liệu kết xuất khung

    Trong Trình phân tích CPU, giờ đây, bạn có thể kiểm tra thời gian cần thiết để ứng dụng Java hiển thị từng khung trên luồng hiển thị và luồng giao diện người dùng chính. Dữ liệu này có thể hữu ích khi tìm hiểu về các vấn đề liên quan đến nút thắt cổ chai khiến giao diện người dùng bị giật và tốc độ khung hình thấp. Ví dụ: Mỗi khung mất hơn 16 mili giây để duy trì tốc độ khung hình mượt mà sẽ hiển thị bằng màu đỏ.

    Để xem dữ liệu kết xuất khung, hãy ghi lại dấu vết bằng cách sử dụng cấu hình cho phép bạn Trace System Calls (Truy vết lệnh gọi hệ thống). Sau khi ghi lại dấu vết, hãy tìm thông tin về từng khung theo tiến trình ghi trong mục có tên FRAMES (KHUNG), như minh hoạ bên dưới.

    Để tìm hiểu thêm về cách kiểm tra và khắc phục vấn đề về tốc độ khung hình, hãy đọc bài viết Kết xuất chậm.

    Các mảnh trong tiến trình của sự kiện

    Tiến trình của sự kiện giờ đây sẽ hiển thị thời điểm các mảnh được đính kèm và tách ra. Ngoài ra, khi bạn di chuột qua một mảnh, chú giải công cụ sẽ hiển thị cho bạn về trạng thái của mảnh.

    Xem văn bản được định dạng cho các gói dữ liệu kết nối trong Trình phân tích mạng

    Trước đây, Trình phân tích mạng chỉ hiển thị văn bản thô từ các gói dữ liệu kết nối. Android Studio 3.3 hiện định dạng một số loại văn bản theo mặc định, bao gồm cả định dạng JSON, XML và HTML. Trong thẻ Response (Phản hồi) và Request (Yêu cầu), hãy nhấp vào đường liên kết View Parsed (Xem phần đã phân tích cú pháp) để hiển thị văn bản đã định dạng, sau đó nhấp vào đường liên kết View Source (Xem nguồn) để hiển thị văn bản thô.

    Để biết thêm thông tin, hãy xem bài viết Kiểm tra lưu lượng truy cập mạng bằng Trình phân tích mạng.

    Tự động tải các thành phần của SDK xuống

    Khi dự án của bạn cần có thành phần SDK của nền tảng SDK, NDK, CMake hoặc Gradle hiện sẽ tìm cách tự động tải các gói bắt buộc xuống, miễn là, trước đây bạn đã chấp nhận mọi thoả thuận cấp phép liên quan bằng cách sử dụng Trình quản lý SDK.

    Để biết thêm thông tin, hãy xem bài viết Tự động tải các gói bị thiếu xuống nhờ Gradle.

    Hỗ trợ Clang-Tidy

    Android Studio giờ đây sẽ hỗ trợ tính năng phân tích mã tĩnh bằng cách sử dụng Clang-Tidy cho các dự án có chứa mã gốc. Để bật tính năng hỗ trợ Clang-Tidy, hãy cập nhật NDK lên r18 trở lên.

    Sau đó, bạn có thể bật hoặc bật lại tính năng kiểm tra bằng cách mở hộp thoại Settings (Cài đặt) hoặc Preferences (Lựa chọn ưu tiên) rồi chuyển đến Editor > Inspections > C/C++ > General > Clang-Tidy (Trình chỉnh sửa > Kiểm tra > C/C++ > Chung > Clang-Tidy). Khi chọn tính năng kiểm tra này trong hộp thoại Settings (Cài đặt) hoặc Preferences (Lựa chọn ưu tiên), bạn cũng có thể thấy danh sách các chế độ kiểm tra Clang-Tidy đã bật và tắt trong mục Option (Tuỳ chọn) của bảng điều khiển ở ngoài cùng bên phải. Để bật các chế độ kiểm tra bổ sung, hãy thêm chúng vào danh sách rồi nhấp vào Apply (Áp dụng).

    Để định cấu hình Clang-Tidy bằng các tuỳ chọn bổ sung, hãy nhấp vào Configure Clang-Tidy Checks Options (Định cấu hình các tuỳ chọn kiểm tra Clang-Tidy) rồi thêm các tuỳ chọn đó vào hộp thoại mở ra.

    Xoá các tuỳ chọn tuỳ chỉnh C++

    Các tuỳ chọn sau đã bị xoá khỏi hộp thoại Customize C++ Support (Hỗ trợ tuỳ chỉnh C++):

    • Hỗ trợ ngoại lệ (-fexceptions)
    • Hỗ trợ thông tin về loại thời gian chạy (-ftti)

    Hành vi tương ứng được bật cho tất cả dự án được tạo qua Android Studio.

    CMake phiên bản 3.10.2

    CMake phiên bản 3.10.2 giờ đây sẽ được đưa vào Trình quản lý SDK. Xin lưu ý rằng Gradle sẽ vẫn sử dụng phiên bản 3.6.0 theo mặc định.

    Để chỉ định một phiên bản CMake cho Gradle sử dụng, hãy thêm nội dung sau đây vào tệp build.gradle của mô-đun:

    android {
        ...
        externalNativeBuild {
            cmake {
                ...
                version "3.10.2"
            }
        }
    }
    

    Để biết thêm thông tin về cách định cấu hình CMake trong build.gradle, hãy xem bài viết Định cấu hình Gradle theo cách thủ công.

    Cú pháp “+” mới để chỉ định các phiên bản CMake tối thiểu

    Khi chỉ định một phiên bản CMake trong tệp build.gradle của mô-đun chính, giờ đây, bạn có thể thêm một dấu “+” để khớp với hành vi của lệnh cmake_minimum_required() của CMake.

    Android App Bundle hiện đã hỗ trợ Ứng dụng tức thì

    Android Studio giờ đây sẽ giúp bạn tạo Android App Bundle với khả năng hỗ trợ đầy đủ cho Google Play Instant. Nói cách khác, giờ đây, bạn có thể tạo và triển khai cả ứng dụng cần cài đặt lẫn trải nghiệm tức thì từ một dự án Android Studio, đồng thời đưa chúng vào một Android App Bundle duy nhất.

    Nếu bạn đang tạo một dự án Android Studio mới bằng hộp thoại Create New Project (Tạo dự án mới), hãy nhớ đánh dấu hộp bên cạnh tuỳ chọn Configure your project > This project will support instant apps (Định cấu hình dự án > Dự án này sẽ hỗ trợ ứng dụng tức thì). Sau đó, Android Studio sẽ tạo một dự án ứng dụng mới như bình thường, nhưng có chứa các thuộc tính sau trong tệp kê khai để thêm tính năng hỗ trợ ứng dụng tức thì vào mô-đun cơ sở của ứng dụng:

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    

    Sau đó, bạn có thể tạo một tính năng hỗ trợ phiên bản tức thì bằng cách chọn File > New > New Module (Tệp > Mới > Mô-đun mới) trên thanh trình đơn, rồi chọn Instant Dynamic Feature Module (Mô-đun tính năng động tức thì) trong hộp thoại Create New Module (Tạo mô-đun mới). Hãy lưu ý rằng việc tạo mô-đun này cũng sẽ ngay lập tức kích hoạt mô-đun cơ sở của ứng dụng.

    Để triển khai ứng dụng cho một thiết bị cục bộ ở dạng trải nghiệm tức thì, hãy chỉnh sửa cấu hình chạy rồi chọn hộp bên cạnh tuỳ chọn General > Deploy as instant app (Chung > Triển khai ở dạng ứng dụng tức thì).

    Đồng bộ hoá dự án có một biến thể

    Việc đồng bộ hoá dự án với cấu hình xây dựng là một bước quan trọng để Android Studio có thể hiểu cấu trúc dự án của bạn. Tuy nhiên, đối với các dự án lớn, quá trình này có thể tốn nhiều thời gian. Nếu dự án của bạn sử dụng nhiều biến thể xây dựng, thì giờ đây, bạn có thể tối ưu hoá tính năng đồng bộ hoá dự án bằng cách chỉ giới hạn các biến thể đó thành biến thể bạn đang chọn.

    Bạn cần sử dụng Android Studio 3.3 trở lên với trình bổ trợ Android cho Gradle 3.3.0 trở lên để bật tính năng tối ưu hoá này. Khi bạn đáp ứng các yêu cầu trên, IDE sẽ nhắc bạn bật tính năng tối ưu hoá này khi bạn đồng bộ hoá dự án. Tính năng tối ưu hoá này cũng được bật theo mặc định trên các dự án mới.

    Để bật tính năng tối ưu hoá này theo cách thủ công, hãy nhấp vào File > Settings > Experimental > Gradle (Tệp > Cài đặt > Thử nghiệm > Gradle) (Android Studio > Preferences > Experimental > Gradle (Android Studio > Lựa chọn ưu tiên > Thử nghiệm > Gradle) trên máy Mac) rồi chọn hộp đánh dấu Only sync the active variant (Chỉ đồng bộ hoá biến thể đang hoạt động).

    Để biết thêm thông tin, hãy xem bài viết Bật tính năng đồng bộ hoá dự án có một biến thể.

    Gửi ý kiến phản hồi nhanh chóng

    Nếu đã chọn chia sẻ số liệu thống kê về việc sử dụng nhằm giúp cải thiện Android Studio, bạn sẽ thấy 2 biểu tượng mới này trên thanh trạng thái ở cuối cửa sổ IDE:

    Bạn chỉ cần nhấp vào biểu tượng thể hiện đúng nhất trải nghiệm hiện tại của mình khi dùng IDE. Khi bạn nhấp vào biểu tượng nêu trên, IDE sẽ gửi số liệu thống kê về việc sử dụng để giúp nhóm Android Studio hiểu rõ hơn quan điểm của bạn. Trong một số trường hợp, chẳng hạn như khi đưa ra chỉ báo về trải nghiệm không tốt khi dùng IDE, bạn sẽ có thể cung cấp thêm ý kiến phản hồi.

    Nếu chưa nhấp vào biểu tượng nêu trên, bạn có thể bật tính năng chia sẻ số liệu thống kê về việc sử dụng bằng cách mở hộp thoại Settings (Cài đặt) (Preferences (Lựa chọn ưu tiên) trên máy Mac), chuyển đến Appearance & Behavior > System Settings > Data Sharing (Giao diện và hành vi > Cài đặt hệ thống > Chia sẻ dữ liệu) rồi chọn Send usage statistics to Google (Gửi số liệu thống kê về việc sử dụng cho Google).

    Phiên bản 3.2 (Tháng 9/2018)

    Android Studio 3.2 là một bản phát hành chính có nhiều tính năng và điểm cải tiến mới.

    Phiên bản 3.2.1 (Tháng 10/2018)

    Bản cập nhật dành cho Android Studio 3.2 này bao gồm các thay đổi và bản sửa lỗi sau đây:

    • Phiên bản Kotlin đi kèm hiện là 1.2.71.
    • Phiên bản công cụ xây dựng mặc định hiện là 28.0.3.
    • Trong Thư viện điều hướng, các loại đối số đã được đổi tên từ type thành argType.
    • Các lỗi sau đây đã được khắc phục:
      • Khi bạn sử dụng thư viện Liên kết dữ liệu, tên biến có dấu gạch dưới gây ra lỗi biên dịch.
      • CMake khiến IntelliSense và các tính năng CLion khác gặp lỗi.
      • Việc thêm SliceProvider gây lỗi biên dịch trong những dự án không sử dụng thư viện androidx.*.
      • Một số hoạt động kiểm thử đơn vị Kotlin không chạy.
      • Vấn đề liên quan đến việc liên kết dữ liệu gây ra lỗi PsiInvalidElementAccessException.
      • Đôi khi, phần tử <merge> khiến Layout Editor gặp sự cố.

    Các vấn đề đã biết về phiên bản 3.2.0

    Lưu ý: Những sự cố này đã được khắc phục trong Android Studio 3.2.1

    • Bạn không nên sử dụng Kotlin phiên bản 1.2.70.

      Kotlin phiên bản 1.2.61 khắc phục lỗi có thể khiến Android Studio bị treo, nhưng Kotlin 1.2.70 thì chưa khắc phục lỗi này.

      Tuy nhiên, Kotlin phiên bản 1.2.71 trở lên thì lại khắc phục lỗi này.

    • Mặc dù, thông thường, bạn không cần chỉ định phiên bản của công cụ xây dựng, nhưng khi dùng trình bổ trợ Android cho Gradle 3.2.0 với renderscriptSupportModeEnabled được đặt thành true, bạn cần đưa mã sau vào tệp build.gradle của từng mô-đun:

      android.buildToolsVersion "28.0.3"

    Trợ lý thông báo tính năng mới

    Trợ lý thông báo tính năng mới sẽ thông báo cho bạn về những thay đổi mới nhất trong Android Studio.

    Trợ lý sẽ mở khi bạn khởi động Android Studio sau một lượt cài đặt mới hoặc cập nhật nếu phát hiện thấy có thông tin mới để hiển thị. Bạn cũng có thể mở trợ lý bằng cách chọn Help > What's new in Android Studio (Trợ giúp > Tính năng mới trong Android Studio).

    Android Jetpack

    Android Jetpack giúp tăng tốc độ phát triển Android bằng các thành phần, công cụ và hướng dẫn giúp loại bỏ các thao tác lặp lại, đồng thời cho phép bạn xây dựng ứng dụng chất lượng cao, có thể kiểm thử một cách nhanh chóng và dễ dàng hơn. Android Studio có các bản cập nhật hỗ trợ Jetpack sau đây. Để biết thêm thông tin, hãy xem Tài liệu về Jetpack.

    Trình chỉnh sửa điều hướng mới tích hợp với các thành phần điều hướng của Android Jetpack để cung cấp khung hiển thị đồ hoạ nhằm tạo cấu trúc điều hướng cho ứng dụng. Trình chỉnh sửa điều hướng giúp đơn giản hoá việc thiết kế và triển khai hoạt động điều hướng giữa các đích đến trong ứng dụng.

    Trong Android Studio 3.2, Trình chỉnh sửa điều hướng là một tính năng thử nghiệm. Để bật Trình chỉnh sửa điều hướng, hãy nhấp vào File > Settings (Tệp > Cài đặt) (Android Studio > Preferences (Android Studio > Lựa chọn ưu tiên) trên máy Mac), chọn danh mục Experimental (Thử nghiệm) trong ngăn bên trái, đánh dấu vào hộp bên cạnh Enable Navigation Editor (Bật Trình chỉnh sửa điều hướng) và khởi động lại Android Studio.

    Để tìm hiểu thêm, hãy đọc tài liệu về Trình chỉnh sửa điều hướng.

    Di chuyển AndroidX

    Chúng tôi sẽ di chuyển Thư viện hỗ trợ Android thuộc Jetpack sang một thư viện tiện ích Android mới bằng cách sử dụng không gian tên androidx. Để biết thêm thông tin, hãy xem bài viết Tổng quan về AndroidX.

    Android Studio 3.2 sẽ giúp bạn thực hiện quy trình này bằng một tính năng di chuyển mới.

    Để di chuyển một dự án hiện có sang AndroidX, hãy chọn Refactor > Migrate to AndroidX (Tái cấu trúc > Di chuyển sang AndroidX). Nếu bạn có các phần phụ thuộc Maven chưa di chuyển sang không gian tên AndroidX, thì hệ thống xây dựng của Android Studio cũng sẽ tự động chuyển đổi những phần phụ thuộc dự án đó.

    Trình bổ trợ Android cho Gradle sẽ cung cấp các cờ chung mà bạn có thể đặt trong tệp gradle.properties của mình sau đây:

    • android.useAndroidX: Khi được đặt thành true, cờ này biểu thị rằng bạn muốn bắt đầu dùng AndroidX kể từ giờ trở đi. Nếu không có cờ này, Android Studio sẽ hoạt động như thể cờ này được đặt thành false.
    • android.enableJetifier: Khi được đặt thành true, cờ này biểu thị rằng bạn muốn được hỗ trợ về công cụ (từ trình bổ trợ Android cho Gradle) để tự động chuyển đổi các thư viện bên thứ ba hiện có như thể các thư viện này được viết cho AndroidX. Nếu không có cờ này, Android Studio sẽ hoạt động như thể cờ này được đặt thành false.

    Cả hai cờ sẽ đều được đặt thành true khi bạn sử dụng lệnh Migrate to AndroidX (Di chuyển sang AndroidX).

    Nếu muốn bắt đầu sử dụng thư viện AndroidX ngay mà không cần chuyển đổi các thư viện bên thứ ba hiện có, bạn có thể đặt cờ android.useAndroidX thành true và cờ android.enableJetifier thành false.

    Android App Bundle

    Android App Bundle là một định dạng tải lên mới bao gồm tất cả tài nguyên và mã đã biên dịch của ứng dụng, nhưng tạm ngưng việc ký và tạo APK cho Cửa hàng Google Play.

    Sau đó, mô hình phân phát ứng dụng mới của Google Play dùng gói ứng dụng để tạo và phân phát các APK được tối ưu hoá cho cấu hình thiết bị của mỗi người dùng. Vì vậy, mỗi người dùng chỉ cần tải mã và tài nguyên mà họ cần xuống để chạy ứng dụng. Bạn không cần phải xây dựng, ký và quản lý nhiều APK nữa, đồng thời người dùng sẽ nhận được tệp tải xuống có kích thước nhỏ hơn và được tối ưu hoá tốt hơn.

    Ngoài ra, bạn có thể thêm các mô-đun tính năng vào dự án ứng dụng và đưa các mô-đun đó vào gói ứng dụng của mình. Sau đó, người dùng có thể tải xuống và cài đặt các tính năng của ứng dụng theo yêu cầu.

    Để tạo một gói, hãy chọn Build > Build Bundle(s) / APK(s) > Build Bundle(s) (Tạo > Tạo gói/APK >Tạo gói).

    Để biết thêm thông tin, bao gồm cả hướng dẫn tạo và phân tích Android App Bundle, hãy xem Android App Bundle.

    Dữ liệu mẫu trong Layout Editor

    Nhiều bố cục trong Android có dữ liệu thời gian chạy có thể gây khó khăn cho việc trực quan hoá giao diện của bố cục trong giai đoạn thiết kế của quá trình phát triển ứng dụng. Giờ đây, bạn có thể dễ dàng thấy bản xem trước thành phần hiển thị trong Layout Editor có chứa dữ liệu mẫu. Khi bạn thêm một thành phần hiển thị, nút sẽ xuất hiện ở bên dưới thành phần hiển thị đó trong cửa sổ Design (Thiết kế). Hãy nhấp vào nút này để thiết lập các thuộc tính khung hiển thị thời gian thiết kế. Bạn có thể chọn trong số nhiều mẫu dữ liệu mẫu và chỉ định số lượng mục mẫu để điền sẵn vào thành phần hiển thị.

    Để thử sử dụng dữ liệu mẫu, hãy thêm RecyclerView vào một bố cục mới, nhấp vào nút thuộc tính thời gian thiết kế ở bên dưới thành phần hiển thị và chọn một lựa chọn trên băng chuyền gồm các mẫu dữ liệu mẫu.

    Lát cắt

    Lát cắt mang đến một cách mới để nhúng các phần chức năng của ứng dụng vào các nền tảng giao diện người dùng khác trên Android. Ví dụ: Lát cắt có thể hiển thị nội dung và chức năng của ứng dụng trong các nội dung đề xuất của Google Tìm kiếm.

    Android Studio 3.2 có một mẫu tích hợp sẵn để giúp bạn mở rộng ứng dụng bằng các Slice Provider API mới, cũng như các tuỳ chọn kiểm tra mới giúp tìm lỗi mã nguồn để đảm bảo bạn đang tuân thủ các phương pháp hay nhất khi tạo Lát cắt.

    Để bắt đầu, hãy nhấp chuột phải vào một thư mục dự án rồi chọn New > Other > Slice Provider (Mới > Khác > Nhà cung cấp lát cát).

    Để tìm hiểu thêm, cả về cách kiểm tra các lượt tương tác trên Lát cắt, hãy đọc Hướng dẫn bắt đầu sử dụng Lát cắt.

    Kotlin 1.2.61

    Android Studio 3.2 tích hợp Kotlin 1.2.61, và SDK Android mới có khả năng tích hợp tốt hơn với Kotlin. Để biết thêm thông tin, hãy xem blog dành cho nhà phát triển Android.

    IntelliJ IDEA 2018.1.6

    IDE Android Studio chính đã được cập nhật với các điểm cải tiến từ IntelliJ IDEA thông qua bản phát hành 2018.1.6.

    Trình phân tích tài nguyên trên Android

    Hãy dùng thử các tính năng mới sau đây của Trình phân tích tài nguyên trên Android trong Android Studio 3.2.

    Phiên

    Giờ đây, bạn có thể lưu dữ liệu trên Trình phân tích tài nguyên ở dạng các phiên để truy cập và kiểm tra sau. Trình phân tích tài nguyên sẽ lưu giữ dữ liệu cho phiên của bạn cho đến khi bạn khởi động lại IDE.

    Khi bạn ghi hoạt động tìm dấu vết phương thức hoặc ghi tệp báo lỗi, IDE sẽ thêm dữ liệu đó (cùng với hoạt động trong mạng của ứng dụng) ở dạng một mục riêng biệt cho phiên hiện tại và bạn có thể dễ dàng chuyển đổi qua lại giữa các bản ghi để so sánh dữ liệu.

    Theo dõi hệ thống

    Trong Trình phân tích CPU, hãy chọn cấu hình System Trace (Theo dõi hệ thống) mới để kiểm tra hoạt động của luồng và CPU hệ thống của thiết bị. Cấu hình theo dõi này được xây dựng trên systrace. Đây là cấu hình giúp điều tra các vấn đề ở cấp hệ thống, chẳng hạn như giao diện người dùng bị giật.

    Trong khi sử dụng cấu hình theo dõi này, bạn có thể đánh dấu các quy trình quan trọng của mã trong tiến trình của trình phân tích tài nguyên theo cách trực quan thông qua việc đo lường mã C/C++ bằng API theo dõi gốc hoặc mã Java có lớp Trace.

    Kiểm tra các lần tham chiếu JNI trong Trình phân tích bộ nhớ

    Nếu triển khai ứng dụng cho một thiết bị chạy Android 8.0 (API cấp 26) trở lên, thì giờ đây, bạn có thể kiểm tra quá trình phân bổ bộ nhớ cho mã JNI của ứng dụng thông qua Trình phân tích bộ nhớ.

    Khi ứng dụng đang chạy, hãy chọn một phần tiến trình mà bạn muốn kiểm tra rồi chọn JNI heap (vùng nhớ khối xếp JNI) trong trình đơn thả xuống ở phía trên danh sách lớp, như minh hoạ bên dưới. Sau đó, bạn có thể kiểm tra các đối tượng trong vùng nhớ khối xếp như bình thường rồi nhấp đúp vào các đối tượng trong thẻ Allocation Call Stack (Ngăn xếp lệnh gọi phân bổ) để xem vị trí phân bổ và giải phóng các lượt tham chiếu JNI trong mã.

    Nhập, xuất và kiểm tra tệp báo lỗi bộ nhớ

    Giờ đây, bạn có thể nhập, xuất và kiểm tra tệp báo lỗi bộ nhớ .hprof được tạo thông qua Trình phân tích bộ nhớ.

    Nhập tệp .hprof bằng cách nhấp vào biểu tượng Start new profiler session (Bắt đầu phiên mới cho trình phân tích tài nguyên) trong ngăn Sessions (Phiên) trên trình phân tích tài nguyên rồi chọn Load from file (Tải từ tệp). Sau đó, bạn có thể kiểm tra dữ liệu của tệp đó trong Trình phân tích bộ nhớ như với bất kỳ tệp báo lỗi nào khác.

    Nếu bạn muốn lưu dữ liệu tệp báo lỗi để xem sau, hãy dùng nút Export Heap Dump (Xuất tệp báo lỗi) ở bên phải mục Heap Dump (Tệp báo lỗi) trong ngăn Sessions (Phiên). Trong hộp thoại Export as (Xuất dưới dạng), hãy lưu theo đuôi tên tệp .hprof.

    Ghi lại hoạt động của CPU trong khi khởi động ứng dụng

    Giờ đây, bạn có thể ghi lại hoạt động của CPU trong khi khởi động ứng dụng, bằng cách làm như sau:

    1. Chọn Run > Edit Configurations (Chạy > Chỉnh sửa cấu hình) trên trình đơn chính.
    2. Trong thẻ Profiling (Phân tích) trên cấu hình chạy bạn mong muốn, hãy đánh dấu hộp bên cạnh mục Start recording a method trace on startup (Bắt đầu ghi hoạt động tìm dấu vết phương thức khi khởi động).
    3. Chọn một cấu hình ghi CPU để sử dụng trong trình đơn thả xuống.
    4. Triển khai ứng dụng cho một thiết bị chạy Android 8.0 (API cấp 26) trở lên bằng cách chọn Run > Profile (Chạy > Phân tích).

    Xuất thông tin theo dõi CPU

    Sau khi ghi lại hoạt động của CPU bằng Trình phân tích CPU, bạn có thể xuất dữ liệu này ở dạng tệp .trace để chia sẻ với những người khác hoặc để kiểm tra vào lúc khác.

    Để xuất thông tin theo dõi sau khi bạn ghi hoạt động của CPU, hãy làm như sau:

    1. Nhấp chuột phải vào bản ghi mà bạn muốn xuất trong tiến trình của CPU.
    2. Chọn Export trace (Xuất thông tin theo dõi) trong trình đơn thả xuống.
    3. Chuyển đến vị trí bạn muốn lưu tệp rồi nhấp vào Save (Lưu).

    Nhập và kiểm tra tệp theo dõi CPU

    Giờ đây, bạn có thể nhập và kiểm tra các tệp .trace được tạo bằng API gỡ lỗi hoặc Trình phân tích CPU. (Hiện tại, bạn không nhập được các bản ghi của công cụ Theo dõi hệ thống.)

    Nhập tệp theo dõi bằng cách nhấp vào biểu tượng Start new profiler session (Bắt đầu phiên mới cho trình phân tích tài nguyên) trong ngăn Sessions (Phiên) của trình phân tích tài nguyên rồi chọn Load from file (Tải từ tệp). Sau đó, bạn có thể kiểm tra dữ liệu của tệp đó trong Trình phân tích CPU như thông thường, với các ngoại lệ sau đây:

    • Hoạt động của CPU không được biểu thị cùng với tiến trình của CPU.
    • Tiến trình hoạt động của luồng chỉ cho biết vị trí cung cấp dữ liệu theo dõi cho từng luồng chứ không phải là trạng thái thực của luồng (chẳng hạn như đang chạy, đang chờ hoặc đang ngủ).

    Ghi lại hoạt động của CPU bằng Debug API

    Giờ đây, bạn có thể bắt đầu và dừng việc ghi lại hoạt động của CPU trong Trình phân tích CPU thông qua việc đo lường ứng dụng bằng Debug API. Sau khi bạn triển khai ứng dụng cho một thiết bị, trình phân tích tài nguyên sẽ tự động bắt đầu ghi lại hoạt động của CPU khi ứng dụng gọi startMethodTracing(String tracePath) và trình phân tích tài nguyên sẽ ngừng ghi khi ứng dụng gọi stopMethodTracing(). Trong khi việc ghi lại hoạt động của CPU được kích hoạt bằng API này, Trình phân tích CPU sẽ hiển thị Debug API ở dạng cấu hình ghi CPU đã chọn.

    Trình phân tích năng lượng

    Trình phân tích năng lượng cho thấy hình ảnh trực quan về mức sử dụng năng lượng ước tính của ứng dụng, cũng như các sự kiện của hệ thống ảnh hưởng đến việc sử dụng năng lượng, chẳng hạn như khoá chế độ thức, chuông báo và các công việc.

    Trình phân tích năng lượng xuất hiện ở dạng một hàng mới ở cuối cửa sổ Profiler (Trình phân tích tài nguyên) khi bạn chạy ứng dụng trên một thiết bị được kết nối hoặc Trình mô phỏng Android chạy Android 8.0 (API 26) trở lên.

    Nhấp vào hàng Energy (Năng lượng) để tối đa hoá thành phần hiển thị của Trình phân tích năng lượng. Đặt con trỏ chuột lên một thanh trong tiến trình để xem thông tin chi tiết về mức sử dụng năng lượng theo CPU, mạng, tài nguyên vị trí (GPS) và các sự kiện hệ thống có liên quan.

    Các sự kiện hệ thống ảnh hưởng đến mức sử dụng năng lượng được chỉ ra trong tiến trình System (Hệ thống) bên dưới tiến trình Energy (Năng lượng). Thông tin chi tiết về các sự kiện hệ thống trong phạm vi thời gian xác định sẽ xuất hiện trong ngăn sự kiện khi bạn chọn một khoảng thời gian trong tiến trình Energy (Năng lượng).

    Để xem ngăn xếp lệnh gọi và các thông tin chi tiết khác của một sự kiện hệ thống, chẳng hạn như khoá chế độ thức, hãy chọn sự kiện này trong ngăn sự kiện. Để chuyển đến mã của một sự kiện hệ thống, hãy nhấp đúp vào mục đó trong ngăn xếp lệnh gọi.

    Kiểm tra tìm lỗi mã nguồn

    Android Studio 3.2 có nhiều tính năng mới cũng như tính năng cải tiến để thực hiện việc kiểm tra tìm lỗi mã nguồn.

    Các quy trình kiểm tra mới để tìm lỗi mã nguồn giúp bạn tìm và xác định các vấn đề thường gặp về mã, từ các cảnh báo về vấn đề liên quan đến khả năng hữu dụng cho đến các lỗi có mức độ ưu tiên cao liên quan đến các lỗ hổng bảo mật tiềm ẩn.

    Kiểm tra tìm lỗi mã nguồn để đảm bảo khả năng tương tác của Java/Kotlin

    Để đảm bảo mã Java tương tác tốt với mã Kotlin, quy trình kiểm tra mới để tìm lỗi mã nguồn sẽ thực thi các phương pháp hay nhất được mô tả trong Hướng dẫn về khả năng tương tác của Kotlin. Ví dụ về quy trình kiểm tra này gồm có việc tìm sự hiện diện của chú thích về Tính chất rỗng, việc sử dụng từ khoá cứng Kotlin cũng như việc đặt tham số lambda cuối cùng.

    Để bật những quy trình kiểm tra này, hãy nhấp vào File > Settings (Tệp > Cài đặt) (Android Studio > Preferences (Android Studio > Lựa chọn ưu tiên) trên máy Mac) để mở hộp thoại Settings (Cài đặt), sau đó chuyển đến phần Editor > Inspections > Android > Lint > Interoperability > Kotlin Interoperability (Trình chỉnh sửa > Kiểm tra > Android > Tìm lỗi mã nguồn > Khả năng tương tác > Khả năng tương tác của Kotlin) rồi chọn quy tắc mà bạn muốn bật.

    Để bật những quy trình kiểm tra này cho bản dựng dòng lệnh, hãy thêm phần sau vào tệp build.gradle của bạn:

    android {
        lintOptions {
            check 'Interoperability'
        }
    }
    

    Kiểm tra tìm lỗi mã nguồn cho Lát cắt

    Quy trình kiểm tra mới để kiểm tra lỗi mã nguồn cho Lát cắt giúp đảm bảo rằng bạn đang xây dựng Lát cắt đúng cách. Ví dụ: quy trình kiểm tra tìm lỗi mã nguồn sẽ cảnh báo bạn nếu bạn chưa chỉ định hành động chính cho một Lát cắt.

    Mục tiêu mới của Gradle

    Hãy sử dụng tác vụ mới lintFix của Gradle để áp dụng ngay tất cả các bản sửa lỗi an toàn do quy trình kiểm tra tìm lỗi mã nguồn đề xuất cho mã nguồn. Một ví dụ về quy trình kiểm tra tìm lỗi mã nguồn có đề xuất bản sửa lỗi an toàn để áp dụng là SyntheticAccessor.

    Cập nhật siêu dữ liệu

    Nhiều loại siêu dữ liệu, chẳng hạn như dữ liệu kiểm tra về việc truyền dịch vụ, đã được cập nhật để chạy được quy trình kiểm tra tìm lỗi mã nguồn trên Android 9 (API cấp 28).

    Cảnh báo nếu bạn chạy quy trình tìm lỗi mã nguồn trên một biến thể mới

    Giờ đây, công cụ tìm lỗi mã nguồn sẽ ghi lại thông tin để xem đường cơ sở được ghi lại bằng biến thể và phiên bản nào, và công cụ tìm lỗi mã nguồn sẽ cảnh báo cho bạn nếu bạn chạy đường cơ sở đó trên một biến thể khác với biến thể mà đường cơ sở được tạo ra.

    Cải tiến quy trình kiểm tra tìm lỗi mã nguồn hiện tại

    Android Studio 3.2 có nhiều điểm cải tiến cho quy trình kiểm tra tìm lỗi mã nguồn hiện tại. Ví dụ: quy trình kiểm tra chu kỳ tài nguyên giờ đây sẽ áp dụng cho các loại tài nguyên khác và trình phát hiện hoạt động dịch có thể nhanh chóng tìm thấy các hoạt động dịch bị thiếu trong trình chỉnh sửa.

    Mã vấn đề dễ phát hiện hơn

    Mã vấn đề giờ đây được hiển thị ở nhiều vị trí hơn, kể cả trong cửa sổ Inspection Results (Kết quả kiểm tra). Nhờ vậy, bạn có thể dễ dàng tìm thấy thông tin cần thiết hơn để bật hoặc tắt các quy trình kiểm tra cụ thể thông qua lintOptions trong build.gradle.

    Để biết thêm thông tin, hãy xem bài viết Định cấu hình các tuỳ chọn tìm lỗi mã nguồn với Gradle.

    Liên kết dữ liệu V2

    Data Binding (Liên kết dữ liệu) V2 giờ đây được bật theo mặc định và tương thích với V1. Điều này có nghĩa là nếu có các phần phụ thuộc trong thư viện bạn đã biên dịch bằng V1, thì bạn có thể sử dụng các phần phụ thuộc đó với các dự án sử dụng Data Binding (Liên kết dữ liệu) V2. Tuy nhiên, xin lưu ý rằng các dự án sử dụng V1 không dùng được các phần phụ thuộc được biên dịch bằng V2.

    Đơn giản hoá D8

    Trong Android Studio 3.1, chúng tôi đã tích hợp bước đơn giản hoá này vào công cụ D8 ở dạng một tính năng thử nghiệm, giúp giảm thiểu tổng thời gian xây dựng. Trong Android Studio 3.2, tuỳ chọn đơn giản hoá bằng D8 được bật theo mặc định.

    Công cụ mới dùng để thu gọn mã

    R8 là một công cụ mới giúp rút gọn và làm rối mã thay thế cho ProGuard. Bạn có thể bắt đầu sử dụng phiên bản dùng thử của R8 bằng cách đưa những nội dung sau vào tệp gradle.properties của dự án:

    android.enableR8 = true
    

    Thay đổi ABI mặc định cho nhiều APK

    Khi xây dựng nhiều APK mà mỗi APK lại nhắm mục tiêu đến một ABI khác, theo mặc định, trình bổ trợ sẽ không tạo APK cho các ABI sau đây nữa: mips, mips64, và armeabi.

    Nếu muốn xây dựng APK nhắm mục tiêu đến các ABI này, bạn phải sử dụng NDK r16b trở xuống và chỉ định ABI trong tệp build.gradle, như minh hoạ ở dưới:

    Groovy

    splits {
        abi {
            include 'armeabi', 'mips', 'mips64'
            ...
        }
    }
    

    Kotlin

    splits {
        abi {
            include("armeabi", "mips", "mips64")
            ...
        }
    }
    

    Cải thiện các tính năng của trình chỉnh sửa cho tệp xây dựng CMake

    Nếu bạn sử dụng CMake để thêm mã C và C++ vào dự án của mình, thì giờ đây, Android Studio sẽ có cả các tính năng cải tiến của trình chỉnh sửa để giúp bạn chỉnh sửa các tập lệnh xây dựng CMake, chẳng hạn như các tính năng sau:

    • Làm nổi bật cú pháp và hoàn thành mã: IDE giờ đây sẽ làm nổi bật và đề xuất quá trình hoàn thành mã cho các lệnh CMake phổ biến. Ngoài ra, bạn có thể chuyển đến một tệp bằng cách nhấp vào tệp đó trong khi nhấn phím Control (phím Command trên máy Mac).
    • Định dạng lại mã: Giờ đây, bạn có thể sử dụng tuỳ chọn định dạng lại mã của IntelliJ để áp dụng các kiểu mã cho tập lệnh xây dựng CMake.
    • Tái cấu trúc lại một cách an toàn: Các công cụ tái cấu trúc tích hợp của IDE giờ đây cũng kiểm tra xem bạn có đổi tên hoặc xoá các tệp mà bạn tham chiếu trong tập lệnh xây dựng CMake hay không.

    Khi sử dụng cửa sổ Project (Dự án) trong các phiên bản Android Studio trước, bạn có thể di chuyển và chỉ kiểm tra các tệp tiêu đề thuộc các thư viện mà bạn tạo từ một dự án cục bộ. Với bản phát hành này, giờ đây, bạn cũng có thể xem và kiểm tra các tệp tiêu đề có trong phần phụ thuộc thư viện C/C++ bên ngoài mà bạn nhập vào dự án ứng dụng của mình.

    Nếu bạn đã đưa mã C/C++ và thư viện vào dự án, hãy mở cửa sổ Project (Dự án) ở phía bên trái IDE bằng cách chọn View > Tool Windows > Project (Xem > Cửa sổ công cụ > Dự án) trong trình đơn chính rồi chọn Android trong trình đơn thả xuống. Trong thư mục cpp, tất cả tiêu đề nằm trong phạm vi của dự án ứng dụng đều được sắp xếp theo nút include (bao gồm) cho từng phần phụ thuộc thư viện C/C++ cục bộ như minh hoạ bên dưới.

    Multidex gốc được bật theo mặc định

    Các phiên bản trước của Android Studio đã bật chế độ multidex gốc khi triển khai phiên bản gỡ lỗi của ứng dụng cho thiết bị chạy API Android cấp 21 trở lên. Hiện tại, cho dù bạn đang triển khai cho một thiết bị hay xây dựng APK để phát hành, trình bổ trợ Android cho Gradle sẽ bật chế độ multidex gốc cho tất cả những mô-đun thiết lập minSdkVersion=21 trở lên.

    Đã chuyển AAPT2 sang kho lưu trữ Maven của Google

    Kể từ Android Studio 3.2, nguồn của AAPT2 (Công cụ đóng gói tài nguyên Android 2) sẽ là kho lưu trữ Maven của Google.

    Để sử dụng AAPT2, hãy đảm bảo bạn có phần phụ thuộc google() trong tệp build.gradle, như minh hoạ bên dưới:

    Groovy

    buildscript {
        repositories {
            google() // here
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.0'
        }
    }
    allprojects {
        repositories {
            google() // and here
            jcenter()
        }
    }
    

    Kotlin

    buildscript {
        repositories {
            google() // here
            jcenter()
        }
        dependencies {
            classpath("com.android.tools.build:gradle:3.2.0")
        }
    }
    allprojects {
        repositories {
            google() // and here
            jcenter()
        }
    }
    

    Phiên bản mới của AAPT2 khắc phục nhiều vấn đề, bao gồm việc cải thiện hoạt động xử lý các ký tự không phải ASCII trên Windows.

    Xoá cấu hình theo yêu cầu

    Lựa chọn ưu tiên về Configure on demand (Định cấu hình theo yêu cầu) đã bị xoá khỏi Android Studio.

    Android Studio không chuyển đối số --configure-on-demand đến Gradle nữa.

    Trợ lý kết nối ADB

    Trợ lý kết nối ADB mới cung cấp hướng dẫn từng bước để giúp bạn thiết lập và sử dụng thiết bị qua kết nối Cầu gỡ lỗi Android (ADB).

    Để khởi động trợ lý, hãy chọn Tools (Công cụ) > Connection Assistant (Trợ lý kết nối).

    Trợ lý kết nối ADB đưa ra hướng dẫn, chế độ điều khiển theo ngữ cảnh và danh sách thiết bị đã kết nối trong một loạt trang trên bảng điều khiển của Assistant (Trợ lý).

    Cải tiến trình mô phỏng

    Giờ đây, bạn có thể lưu và tải ảnh chụp nhanh của AVD (thiết bị Android ảo) tại bất kỳ thời điểm nào trong Trình mô phỏng Android, để dễ dàng và nhanh chóng đưa một thiết bị được mô phỏng về trạng thái đã xác định để kiểm thử. Khi chỉnh sửa một AVD bằng Trình quản lý thiết bị ảo Android, bạn có thể chỉ định ảnh chụp nhanh AVD nào sẽ tải khi AVD khởi động.

    Giờ đây, các chế độ kiểm soát để lưu, tải và quản lý ảnh chụp nhanh AVD sẽ có trong thẻ Snapshots (Ảnh chụp nhanh) trong cửa sổ Extended controls (Chế độ điều khiển mở rộng) của trình mô phỏng.

    Để biết thông tin chi tiết, hãy xem bài viết về Ảnh chụp nhanh.

    Để biết thêm thông tin về những tính năng mới và những thay đổi trong Trình mô phỏng, hãy xem Ghi chú phát hành của Trình mô phỏng.

    Phiên bản 3.1 (Tháng 3/2018)

    Android Studio 3.1.0 là một bản phát hành chính có nhiều tính năng và điểm cải tiến mới.

    Phiên bản 3.1.4 (Tháng 8/2018)

    Bản cập nhật dành cho Android Studio 3.1 này bao gồm các thay đổi và bản sửa lỗi sau đây:

    • Kotlin đi kèm hiện là phiên bản 1.2.50.
    • Các dự án mới được tạo bằng kotlin-stdlib-jdk* artifacts thay vì các cấu phần phần mềm kotlin-stdlib-jre* không còn dùng nữa.
    • Quá trình phân tích cú pháp R8 của các quy tắc ProGuard đã được cải thiện.
    • Các lỗi sau đây đã được khắc phục:
      • Không chạy được lớp chính của Kotlin kèm theo lỗi: "Error: Could not find or load main class..."
      • R8 đi vào một vòng lặp vô hạn trong khi thực hiện một số hoạt động tối ưu hoá.
      • Việc sử dụng lệnh Rerun failed tests (Chạy lại hoạt động kiểm thử không thành công) trong cửa sổ Run (Chạy) đôi khi trả về thông báo "Không tìm thấy hoạt động kiểm thử" theo cách không chính xác.
      • D8 xử lý thực thể invoke-virtual không đúng cách gây ra sự cố với VerifyError: invoke-super/virtual can't be used on private method
      • Trình biên dịch Liên kết dữ liệu bị phụ thuộc vào một phiên bản cũ của com.android.tools:annotations. Trình biên dịch hiện sử dụng các chú giải công cụ của dự án cơ sở nếu có.
      • Android Studio gặp sự cố trong giai đoạn chuyển đổi mảnh khi sử dụng trình phân tích tài nguyên.
      • Trình gỡ lỗi gặp sự cố khi gỡ lỗi bố cục có hộp văn bản.
      • D8 không đọc được một số tệp ZIP có chứa các ký tự đặc biệt.

    Phiên bản 3.1.3 (Tháng 6/2018)

    Bản cập nhật dành cho Android Studio 3.1 này bao gồm các bản sửa lỗi cho các lỗi sau đây:

    • Lỗi rò rỉ bộ nhớ khiến Android Studio hoạt động chậm và không phản hồi sau khi bạn sử dụng Layout Editor. Bản cập nhật này bao gồm các bản sửa lỗi cho hầu hết các vấn đề này. Chúng tôi dự định sẽ sớm phát hành một bản cập nhật khác để xử lý những lỗi rò rỉ bộ nhớ khác.
    • Một số ứng dụng được tạo bằng D8 gặp sự cố trên một số máy tính bảng Verizon Ellipsis.
    • Không cài đặt được các ứng dụng được tạo bằng D8 có lỗi INSTALL_FAILED_DEXOPT trên những thiết bị chạy Android 5.0 hoặc 5.1 (API cấp 21 hoặc 22).
    • Một số ứng dụng dùng thư viện OkHttp, được xây dựng bằng D8 gặp sự cố trên những thiết bị chạy Android 4.4 (API cấp 19).
    • Đôi khi, Android Studio không khởi động được, với ProcessCanceledException trong quá trình khởi tạo lớp cho com.intellij.psi.jsp.JspElementType.

    Phiên bản 3.1.2 (Tháng 4/2018)

    Bản cập nhật dành cho Android Studio 3.1 này bao gồm các bản sửa lỗi cho các lỗi sau đây:

    • Trong một số trường hợp, Android Studio bị treo vô thời hạn trong khi thoát.
    • Không định cấu hình được các bản dựng có nhóm tài nguyên kèm theo thông báo sau đây khi tính năng Chạy tức thì được bật:

      "The SourceSet name is not recognized by the Android Gradle Plugin."

    • Khi bạn bật tính năng Chạy tức thì, các bản dựng của dự án Kotlin mới sẽ không hoạt động khi được kích hoạt bằng lệnh Run (Chạy).
    • Trong quá trình chỉnh sửa tệp build.gradle, đôi lúc có sự chậm trễ đáng kể giữa việc nhập một ký tự và việc ký tự đó xuất hiện trên màn hình.
    • Lỗi xây dựng xảy ra trong quá trình tạo tệp dex ở một số dự án có số lượng mô-đun hoặc phần phụ thuộc bên ngoài lớn, cùng với thông báo lỗi như sau:

      "RejectedExecutionException: Thread limit exceeded replacing blocked worker"

    • Việc tính toán danh sách DEX chính của D8 không tính đến một số lệnh gọi phản ánh.

    Bản cập nhật này cũng bao gồm các thay đổi giúp quá trình chạy hoạt động kiểm tra tìm lỗi mã nguồn từ Gradle nhanh hơn nhiều trong một số trường hợp.

    Phiên bản 3.1.1 (Tháng 4/2018)

    Bản cập nhật dành cho Android Studio 3.1 này bao gồm các bản sửa lỗi cho các lỗi sau đây:

    • Trong một số trường hợp, khi lần đầu tiên, một dự án được tạo trong Android Studio 3.0 mở trong Android Studio 3.1, tác vụ Tạo có thể nhận biết Gradle bị xoá khỏi khu vực Before launch (Trước khi khởi chạy) trong Run/Debug Configurations (Cấu hình chạy/gỡ lỗi). Kết quả là những dự án đó sẽ không xây dựng khi nút Run (Chạy) hoặc Debug (Gỡ lỗi) được nhấp vào, từ đó dẫn đến các lỗi, chẳng hạn như triển khai APK không đúng và gặp sự cố khi dùng tính năng Chạy tức thì.

      Để giải quyết vấn đề này, Android Studio 3.1.1 sẽ thêm tác vụ Tạo có thể nhận biết Gradle cho cấu hình chạy đối với những dự án còn thiếu mục này. Hoạt động sửa đổi này sẽ diễn ra sau lần đồng bộ hoá Gradle đầu tiên khi dự án được tải.

    • Trình gỡ lỗi gặp sự cố khi gỡ lỗi bố cục có hộp văn bản nếu chế độ phân tích nâng cao được bật.
    • Android Studio bị treo sau khi bạn nhấp vào Build Variants (Biến thể xây dựng).
    • Các tệp AAR (đề xuất được tự động áp dụng) (Android Archive) được trích xuất 2 lần, một lần trong quy trình đồng bộ hoá Gradle và một lần trong quy trình xây dựng Gradle.
    • Một số vectơ vẽ được nhập từ tệp SVG bị thiếu các phần tử.
    • Cảnh báo về việc ngừng sử dụng cấu hình phần phụ thuộc của compile đã được cập nhật bằng hướng dẫn phù hợp hơn về cấu hình implementationapi. Để biết thông tin chi tiết về việc di chuyển bằng cấu hình compile, hãy xem tài liệu về cấu hình mới cho phần phụ thuộc.

    Lập trình/IDE

    IntelliJ 2017.3.3

    IDE Android Studio chính đã được cập nhật với các điểm cải tiến từ IntelliJ IDEA thông qua bản phát hành 2017.3.3. Những điểm cải tiến bao gồm cải thiện khả năng phân tích luồng kiểm soát đối với bộ sưu tập và chuỗi, cải thiện khả năng dự đoán tính chất rỗng, cung cấp các bản sửa lỗi nhanh mới và nhiều điểm cải tiến khác.

    Để biết thông tin chi tiết, hãy xem ghi chú phát hành của JetBrains cho phiên bản IntelliJ IDEA 2017.22017.3, cũng như ghi chú phát hành của JetBrains cho các bản cập nhật sửa lỗi.

    Cải thiện tính năng chỉnh sửa SQL bằng Room

    Khi sử dụng Thư viện cơ sở dữ liệu của Room, bạn có thể tận dụng một số điểm cải tiến đối với tính năng chỉnh sửa SQL:

    • Quá trình hoàn thành mã trong Query sẽ giúp nắm rõ về bảng SQL (thực thể), cột, tham số truy vấn, bí danh, phép liên kết, truy vấn phụ và mệnh đề WITH.
    • Tính năng làm nổi bật cú pháp SQL giờ đây sẽ hoạt động.
    • Bạn có thể nhấp chuột phải vào tên bảng trong SQL và đổi tên, việc này cũng ghi lại mã Java hoặc Kotlin tương ứng (ví dụ: loại dữ liệu trả về của truy vấn này). Việc đổi tên này cũng sẽ có tác động theo hướng khác, vì vậy, việc đổi tên một lớp hoặc trường Java sẽ ghi lại mã SQL tương ứng.
    • Các trường hợp sử dụng SQL sẽ hiển thị khi bạn dùng tuỳ chọn Find usages (Tìm các trường hợp sử dụng) (nhấp chuột phải rồi chọn tuỳ chọn Find usages (Tìm các trường hợp sử dụng) này trong trình đơn theo bối cảnh).
    • Để chuyển đến phần khai báo của thực thể SQL trong mã Java hoặc Kotlin, bạn có thể giữ phím Control (phím Command trên máy Mac) trong khi nhấp vào thực thể đó.

    Để biết thông tin về cách sử dụng SQL bằng Room, hãy xem bài viết Lưu dữ liệu trong cơ sở dữ liệu cục bộ bằng Room.

    Cập nhật tính năng liên kết dữ liệu

    Bản cập nhật này có một số điểm cải tiến cho tính năng liên kết dữ liệu:

    • Giờ đây, bạn có thể dùng một đối tượng LiveData làm trường có thể quan sát trong biểu thức liên kết dữ liệu. Lớp ViewDataBinding hiện có chứa một phương thức setLifecycle() mới mà bạn dùng để quan sát đối tượng LiveData.

    • Lớp ObservableField hiện có thể chấp nhận các đối tượng Observable khác trong hàm khởi tạo.

    • Bạn có thể xem trước một trình biên dịch tăng dần mới cho các lớp liên kết dữ liệu của mình. Để biết thông tin chi tiết về trình biên dịch mới này cũng như hướng dẫn về cách bật, hãy xem bài viết Trình biên dịch liên kết dữ liệu V2.

      Sau đây là những lợi ích của trình biên dịch mới:

      • Các lớp ViewBinding sẽ do trình bổ trợ Android cho Gradle tạo trước trình biên dịch Java.

      • Các thư viện sẽ giữ lại những lớp liên kết đã tạo của chúng khi ứng dụng được biên dịch, thay vì tạo lại mỗi lần. Điều này có thể giúp cải thiện đáng kể hiệu suất cho các dự án có nhiều mô-đun.

    Trình biên dịch và Gradle

    D8 là trình biên dịch DEX mặc định

    Giờ đây, trình biên dịch D8 được dùng để tạo mã byte DEX theo mặc định.

    Trình biên dịch DEX mới này mang lại một số lợi ích như sau:

    • Tạo tệp dex nhanh hơn
    • Giảm mức sử dụng bộ nhớ
    • Cải thiện khả năng tạo mã (khả năng phân bổ thanh ghi tốt hơn, bảng chuỗi thông minh hơn)
    • Mang lại trải nghiệm gỡ lỗi hiệu quả hơn khi thực hiện các bước thông qua mã

    Bạn không cần thực hiện bất kỳ thay đổi nào đối với mã hoặc quy trình phát triển để nhận các lợi ích này, trừ phi trước đó bạn đã tắt trình biên dịch D8 theo cách thủ công. Nếu bạn đặt android.enableD8 thành false trong gradle.properties, hãy xoá cờ đó hoặc đặt thành true:

    android.enableD8=true
    

    Để biết thông tin chi tiết, hãy xem bài viết Trình biên dịch DEX mới.

    Quá trình đơn giản hoá tăng dần

    Đối với những dự án sử dụng các tính năng ngôn ngữ của Java 8, quá trình đơn giản hoá tăng dần sẽ được bật theo mặc định, để giúp cải thiện thời gian xây dựng.

    Quá trình đơn giản hoá sẽ chuyển đổi cú pháp dễ hiểu sang một dạng thức mà trình biên dịch có thể xử lý hiệu quả hơn.

    Bạn có thể vô hiệu hoá quá trình này bằng cách xác định thông tin sau đây trong tệp gradle.properties của dự án:

    android.enableIncrementalDesugaring=false
    

    Cửa sổ đầu ra đơn giản hoá

    Bảng điều khiển Gradle được thay thế bằng cửa sổ Build (Xây dựng), trong đó có thẻ Sync (Đồng bộ hoá) và Build (Xây dựng).

    Để biết thông tin chi tiết về cách sử dụng cửa sổ mới có tên là Build (Xây dựng) được đơn giản hoá, hãy xem bài viết Theo dõi quy trình xây dựng.

    Cập nhật theo lô và lập chỉ mục đồng thời

    Các quy trình lập chỉ mục IDE và đồng bộ hoá Gradle giờ đây hiệu quả hơn nhiều, giúp giảm thiểu thời gian lãng phí vào nhiều hoạt động lập chỉ mục dư thừa.

    C++ và LLDB

    Chúng tôi đã có rất nhiều điểm cải tiến về chất lượng và hiệu suất trong các giai đoạn lập trình, đồng bộ hoá, xây dựng và gỡ lỗi khi phát triển C++. Các điểm cải tiến như sau:

    • Nếu thực hiện các dự án C++ có quy mô lớn, bạn sẽ thấy những cải tiến đáng kể trong việc giảm thời gian xây dựng biểu tượng. Thời gian đồng bộ hoá cũng giảm đáng kể đối với các dự án lớn.

    • Hiệu suất khi xây dựng và đồng bộ hoá với CMake được cải thiện thông qua việc sử dụng lại các kết quả đã lưu vào bộ nhớ đệm một cách linh hoạt hơn.

    • Việc thêm các bộ định dạng ("máy in ở chế độ bản in đẹp") cho nhiều cấu trúc dữ liệu C++ hơn sẽ làm cho đầu ra LLDB dễ đọc hơn.

    • LLDB hiện chỉ hoạt động với Android 4.1 (API cấp 16) trở lên.

    Kotlin

    Kotlin đã nâng cấp lên phiên bản 1.2.30

    Android Studio 3.1 sẽ bao gồm Kotlin phiên bản 1.2.30.

    Mã Kotlin hiện được phân tích bằng cách kiểm tra tìm lỗi mã nguồn trong dòng lệnh

    Giờ đây, việc chạy công cụ tìm lỗi mã nguồn trong dòng lệnh sẽ phân tích các lớp Kotlin của bạn.

    Đối với mỗi dự án mà bạn muốn chạy công cụ tìm lỗi mã nguồn, Kho lưu trữ Maven của Google phải có trong tệp build.gradle cấp cao nhất. Kho lưu trữ Maven đã được đưa vào các dự án tạo bằng Android Studio 3.0 trở lên.

    Công cụ hiệu suất

    Lấy mẫu quy trình xử lý C++ gốc bằng Trình phân tích CPU

    Trình phân tích CPU giờ đây sẽ có cấu hình mặc định để ghi lại dấu vết được lấy mẫu cho luồng gốc của ứng dụng. Bạn có thể dùng cấu hình này bằng cách triển khai ứng dụng trên một thiết bị chạy Android 8.0 (API cấp 26) trở lên, sau đó chọn tuỳ chọn Sampled (Native) (Đã lấy mẫu (Gốc)) trong trình đơn thả xuống về cấu hình ghi của Trình phân tích CPU. Sau đó, hãy ghi lại và kiểm tra một dấu vết như bạn hay làm.

    Bạn có thể thay đổi các chế độ cài đặt mặc định, chẳng hạn như khoảng thời gian lấy mẫu, bằng cách tạo một cấu hình ghi.

    Để quay lại chế độ theo dõi các luồng Java, hãy chọn cấu hình Sampled (Java) (Đã lấy mẫu (Java)) hoặc Instrumented (Java) (Đã đo lường (Java)).

    Lọc dấu vết CPU, kết quả phân bổ bộ nhớ và tệp báo lỗi

    Trình phân tích CPUTrình phân tích bộ nhớ sẽ bao gồm một tính năng tìm kiếm giúp bạn lọc các kết quả từ việc ghi lại hoạt động tìm dấu vết phương thức, phân bổ bộ nhớ hoặc tệp báo lỗi.

    Để tìm kiếm, hãy nhấp vào biểu tượng Filter (Bộ lọc) ở góc trên cùng bên phải của ngăn, nhập cụm từ tìm kiếm rồi nhấn phím Enter.

    Mẹo: Bạn cũng có thể mở trường tìm kiếm bằng cách nhấn tổ hợp phím Control + F (Command + F trên máy Mac).

    Trong thẻ Flame Chart (Biểu đồ hình ngọn lửa) của Trình phân tích CPU, các ngăn xếp lệnh gọi bao gồm các phương thức liên quan đến cụm từ tìm kiếm của bạn sẽ được làm nổi bật và di chuyển sang phía bên trái của biểu đồ.

    Để biết thêm thông tin về cách lọc theo phương thức, lớp hoặc tên gói, hãy xem bài viết Ghi lại và kiểm tra hoạt động tìm dấu vết phương thức.

    Thẻ yêu cầu trong Trình phân tích mạng

    Trình phân tích mạng giờ đây sẽ bao gồm một thẻ Request (Yêu cầu) để cung cấp thông tin chi tiết về các yêu cầu mạng trong tiến trình đã chọn. Trong các phiên bản trước, Trình phân tích mạng chỉ cung cấp thông tin về phản hồi mạng.

    Thành phần hiển thị luồng trong Trình phân tích mạng

    Sau khi chọn một phần tiến trình trong Trình phân tích mạng, bạn có thể chọn một trong những thẻ sau để xem thêm thông tin chi tiết về hoạt động mạng trong khung thời gian đó:

    • Thành phần hiển thị kết nối: Cung cấp thông tin tương tự như các phiên bản Android Studio trước – thành phần hiển thị này liệt kê các tệp được gửi hoặc nhận trong phần tiến trình đã chọn trên tất cả các luồng CPU của ứng dụng. Đối với mỗi yêu cầu, bạn có thể kiểm tra kích thước, loại, trạng thái và thời lượng truyền.
    • Khung hiển thị luồng: Cho thấy hoạt động mạng của từng luồng CPU trong ứng dụng. Thành phần hiển thị này giúp bạn kiểm tra xem luồng nào của ứng dụng chịu trách nhiệm về từng yêu cầu mạng.

    Layout Inspector

    Layout Inspector có các tính năng mới, bao gồm cả một số chức năng trước đây được công cụ Pixel Perfect và Trình xem chế độ phân cấp (không còn dùng nữa) cung cấp:

    • Các nút thu phóng và phím tắt để di chuyển và kiểm tra bố cục
    • Lớp phủ tham chiếu dạng lưới
    • Khả năng tải hình ảnh tham chiếu và sử dụng hình ảnh này làm lớp phủ (giúp ích khi so sánh bố cục với bản minh hoạ giao diện người dùng)
    • Hiển thị bản xem trước ở dạng cây con để tách riêng thành phần hiển thị trong một bố cục phức tạp

    Layout Editor

    Palette (Bảng thành phần hiển thị) trong Layout Editor có rất nhiều điểm cải tiến:

    • Sắp xếp lại các danh mục cho thành phần hiển thị và bố cục.
    • Danh mục mới có tên là Common (Phổ biến) cho thành phần hiển thị và bố cục mà bạn có thể thêm vào bằng lệnh Favorite (Yêu thích).
    • Cải tiến chức năng tìm kiếm thành phần hiển thị và bố cục.
    • Có các lệnh mới để mở tài liệu cho một thành phần hiển thị hoặc bố cục cụ thể.

    Bạn có thể sử dụng lệnh mới là Convert view (Chuyển đổi khung hiển thị) trong Component tree (Cây thành phần) hoặc trình chỉnh sửa thiết kế để chuyển đổi khung hiển thị hoặc bố cục sang một loại khung hiển thị hoặc bố cục khác.

    Giờ đây, bạn có thể dễ dàng tạo quy tắc ràng buộc cho các mục ở gần khung hiển thị đã chọn bằng cách sử dụng nút mới có tên là Create a connection (Tạo kết nối) trong trình kiểm tra khung hiển thị ở đầu cửa sổ Attributes (Thuộc tính).

    Chạy và Chạy tức thì

    Hoạt động của tuỳ chọn Use same selection for future launches (Dùng cùng lựa chọn cho các lần khởi chạy trong tương lai) trong hộp thoại Select deployment target (Chọn mục tiêu triển khai) đã trở nên nhất quán hơn. Nếu bạn bật tuỳ chọn Use same selection (Sử dụng cùng một lựa chọn), thì hộp thoại Select deployment target (Chọn mục tiêu triển khai) sẽ chỉ mở vào lần đầu tiên bạn dùng lệnh Run (Chạy) cho đến khi thiết bị được chọn không kết nối nữa.

    Khi nhắm mục tiêu đến một thiết bị chạy Android 8.0 (API cấp 26) trở lên, tính năng Chạy tức thì có thể triển khai các thay đổi đối với tài nguyên mà không làm cho ứng dụng khởi động lại. Điều này có thể xảy ra vì các tài nguyên có trong một APK phân tách.

    Trình mô phỏng

    Để biết thông tin chi tiết về những tính năng mới và những thay đổi trong trình mô phỏng kể từ Android Studio 3.0, hãy xem ghi chú phát hành của Trình mô phỏng Android từ phiên bản 27.0.2 đến phiên bản 27.1.12.

    Những điểm cải tiến chính gồm có:

    • Ảnh chụp nhanh của tính năng Khởi động nhanh để lưu trạng thái của trình mô phỏng và khởi động nhanh hơn, với khả năng sử dụng lệnh Save now (Lưu ngay) để lưu trạng thái khởi động tuỳ chỉnh.
    • Màn hình trình mô phỏng không có cửa sổ.
    • Hình ảnh hệ thống của Bản dùng thử Android 8.0 (API cấp 26), Android 8.1 (API cấp 27) và Android P cho nhà phát triển.

    Cải thiện trải nghiệm người dùng và giao diện người dùng

    Thêm chú giải công cụ, phím tắt và tin nhắn hữu ích

    Chúng tôi đã thêm chú giải công cụ và lớp phủ thông báo hữu ích ở nhiều vị trí trong Android Studio.

    Để xem phím tắt của nhiều lệnh, bạn chỉ cần giữ con trỏ chuột trên nút cho đến khi chú giải công cụ xuất hiện.

    Xoá trình đơn Công cụ > Android

    Trình đơn Tools > Android (Công cụ > Android) đã bị xoá. Các lệnh trước đây ở trong trình đơn này đã được di chuyển.

    • Nhiều lệnh đã được chuyển đến vị trí ở ngay trong trình đơn Tools (Công cụ).
    • Lệnh Sync project with gradle files (Đồng bộ hoá dự án với tệp Gradle) đã chuyển sang trình đơn File (Tệp).
    • Lệnh Device Monitor (Giám sát thiết bị) đã bị xoá, như mô tả ở bên dưới.

    Device Monitor có sẵn trên dòng lệnh

    Trong Android Studio 3.1, Device Monitor có ít vai trò hơn trước đây. Trong nhiều trường hợp, chức năng của Device Monitor giờ đây sẽ do các công cụ mới và cải tiến cung cấp.

    Xem Tài liệu về Device Monitor để biết hướng dẫn gọi Device Monitor từ dòng lệnh và để biết thông tin chi tiết về các công cụ có sẵn trên Device Monitor.

    Phiên bản 3.0 (Tháng 10/2017)

    Android Studio 3.0.0 là một bản phát hành chính có nhiều tính năng và điểm cải tiến mới.

    Người dùng macOS: Nếu đang cập nhật phiên bản Android Studio cũ, thì bạn có thể thấy hộp thoại lỗi cập nhật cho biết "Đã phát hiện một số xung đột trong khu vực cài đặt". Bạn chỉ cần bỏ qua lỗi này và nhấp vào Cancel (Huỷ) để tiếp tục quá trình cài đặt.

    Phiên bản 3.0.1 (Tháng 11/2017)

    Đây là bản cập nhật nhỏ cho Android Studio 3.0, bao gồm các bản sửa lỗi chung cùng các điểm cải thiện hiệu suất.

    Trình bổ trợ Android cho Gradle 3.0.0

    Trình bổ trợ Android cho Gradle mới có nhiều điểm cải tiến và tính năng mới, tuy nhiên, trình bổ trợ này chủ yếu cải thiện hiệu suất xây dựng cho các dự án có nhiều mô-đun. Khi sử dụng trình bổ trợ mới cùng với các dự án có quy mô lớn này, bạn sẽ có những trải nghiệm sau đây:

    • Thời gian của cấu hình xây dựng sẽ nhanh hơn do đã có giải pháp mới cho phần phụ thuộc bị chậm trễ.
    • Giải pháp cho phần phụ thuộc có thể nhận biết biến thể chỉ dành cho các dự án và biến thể mà bạn đang tạo.
    • Thời gian xây dựng tăng dần nhanh hơn khi áp dụng các thay đổi đơn giản cho mã hoặc tài nguyên.

    Phiên bản này cũng bao gồm các tính năng sau đây:

    • Hỗ trợ dành cho Android 8.0.
    • Hỗ trợ xây dựng các APK riêng biệt dựa trên tài nguyên về ngôn ngữ.
    • Hỗ trợ các tính năng về ngôn ngữ Java 8 và thư viện Java 8 (không có trình biên dịch Jack).
    • Hỗ trợ cho Thư viện hỗ trợ kiểm thử Android 1.0 (Phần mềm tiện ích kiểm thử Android và Android Test Orchestrator).
    • Cải thiện tốc độ xây dựng của cmake và ndk-build.
    • Cải thiện tốc độ đồng bộ hoá Gradle.
    • AAPT2 hiện được bật theo mặc định.
    • Việc sử dụng ndkCompile sẽ bị hạn chế hơn. Thay vào đó, bạn nên chuyển sang sử dụng CMake hoặc ndk-build để biên dịch mã gốc mà bạn muốn đóng gói vào APK. Để tìm hiểu thêm, hãy đọc bài viết Di chuyển từ ndkcompile.

    Để biết thêm thông tin về những thay đổi, hãy xem ghi chú phát hành của trình bổ trợ Android cho Gradle.

    Nếu bạn đã sẵn sàng nâng cấp lên trình bổ trợ phiên bản mới, hãy xem bài viết Di chuyển sang trình bổ trợ Android cho Gradle 3.0.0.

    Hỗ trợ Kotlin

    Như đã công bố tại Google I/O năm 2017, ngôn ngữ lập trình Kotlin giờ đây chính thức được hỗ trợ trên Android. Vì vậy, với bản phát hành này, Android Studio sẽ hỗ trợ cho ngôn ngữ Kotlin để phát triển Android.

    Bạn có thể đưa Kotlin vào dự án của mình bằng cách chuyển đổi một tệp Java thành Kotlin (nhấp vào Code > Convert Java File to Kotlin File (Mã > Chuyển đổi tệp Java thành tệp Kotlin)) hoặc bằng cách tạo một dự án mới có hỗ trợ Kotlin thông qua trình hướng dẫn New Project (Dự án mới).

    Để bắt đầu, hãy đọc cách thêm Kotlin vào dự án của bạn.

    Hỗ trợ các tính năng ngôn ngữ Java 8

    Giờ đây, bạn có thể sử dụng một số tính năng ngôn ngữ Java 8 và sử dụng các thư viện được xây dựng bằng Java 8. Jack không còn là yêu cầu bắt buộc do vậy, trước tiên, bạn nên tắt Jack để dùng dịch vụ hỗ trợ Java 8 được cải tiến tích hợp trong chuỗi công cụ mặc định.

    Để cập nhật dự án nhằm hỗ trợ cho chuỗi công cụ ngôn ngữ Java 8 mới, hãy cập nhật tuỳ chọn Source Compatibility (Khả năng tương thích nguồn) và Target Compatibility (Khả năng tương thích đích) lên phiên bản 1.8 trong hộp thoại Project Structure (Cấu trúc dự án) (nhấp vào File > Project Structure (Tệp > Cấu trúc dự án)). Để tìm hiểu thêm, hãy đọc cách sử dụng các tính năng ngôn ngữ Java 8.

    Trình phân tích tài nguyên Android

    Trình phân tích tài nguyên Android mới thay thế công cụ Android Monitor và cung cấp một bộ công cụ mới để đo lường mức sử dụng CPU, bộ nhớ và mạng của ứng dụng theo thời gian thực. Bạn có thể thực hiện hoạt động tìm dấu vết phương thức dựa trên mẫu để xác định thời điểm thực thi mã, ghi lại tệp báo lỗi, xem quá trình phân bổ bộ nhớ và kiểm tra thông tin chi tiết về các tệp được truyền qua mạng.

    Để mở, hãy nhấp vào View > Tool Windows > Android Profiler (Xem > Cửa sổ công cụ > Trình phân tích tài nguyên Android) (hoặc nhấp vào biểu tượng Android Profiler (Trình phân tích tài nguyên Android) trên thanh công cụ).

    Tiến trình của sự kiện ở đầu cửa sổ cho thấy các sự kiện nhấn, các lượt nhấn phím và các thay đổi về hoạt động để bạn có thêm ngữ cảnh nhằm mục đích hiểu được các sự kiện về hiệu suất khác trong tiến trình.

    Trong tiến trình tổng quan của Trình phân tích tài nguyên Android, hãy nhấp vào tiến trình CPU (BỘ XỬ LÝ TRUNG TÂM), MEMORY (BỘ NHỚ) hoặc NETWORK (MẠNG) để truy cập vào các công cụ tương ứng của trình phân tích tài nguyên.

    Trình phân tích CPU

    Trình phân tích CPU giúp bạn phân tích mức sử dụng luồng CPU của ứng dụng bằng cách kích hoạt một mẫu hoặc một dấu vết CPU được đo lường. Sau đó, bạn có thể khắc phục các sự cố về hiệu suất của CPU bằng cách sử dụng nhiều bộ lọc và thành phần hiển thị dữ liệu.

    Để biết thêm thông tin, hãy xem Hướng dẫn của Trình phân tích CPU.

    Trình phân tích bộ nhớ

    Trình phân tích bộ nhớ giúp bạn xác định tình trạng rò rỉ bộ nhớ hay nhồi nhét bộ nhớ có thể khiến ứng dụng của bạn bị gián đoạn, bị treo và thậm chí gặp sự cố. Trình phân tích này cho bạn thấy biểu đồ theo thời gian thực về mức sử dụng bộ nhớ của ứng dụng, đồng thời cho phép bạn ghi lại tệp báo lỗi, buộc thu thập rác và theo dõi hoạt động phân bổ bộ nhớ.

    Để biết thêm thông tin, hãy xem Hướng dẫn của Trình phân tích bộ nhớ.

    Trình phân tích mạng

    Trình phân tích mạng cho phép bạn theo dõi hoạt động mạng của ứng dụng, kiểm tra tải trọng của từng yêu cầu mạng và liên kết ngược lại mã đã tạo yêu cầu mạng đó.

    Để biết thêm thông tin, hãy xem hướng dẫn của Trình phân tích mạng.

    Phân tích và gỡ lỗi APK

    Android Studio giờ đây sẽ cho phép bạn phân tích và gỡ lỗi mọi APK mà không cần phải tạo APK từ dự án Android Studio, miễn là APK được tạo để bật tính năng gỡ lỗi và bạn có quyền truy cập vào các tệp nguồn và biểu tượng gỡ lỗi.

    Để bắt đầu, hãy nhấp vào Profile or debug APK (Phân tích và gỡ lỗi APK) trên màn hình Chào mừng của Android Studio. Ngoài ra, nếu bạn đã mở một dự án, hãy nhấp vào File > Profile or debug APK (Tệp > Phân tích hoặc sửa lỗi APK) trên thanh trình đơn. Thao tác này sẽ hiển thị các tệp APK đã giải nén nhưng không biên dịch ngược mã đó. Vì vậy, để thêm các điểm ngắt và xem dấu vết ngăn xếp đúng cách, bạn cần đính kèm tệp nguồn Java và biểu tượng gỡ lỗi gốc.

    Để biết thêm thông tin, hãy xem bài viết Phân tích và gỡ lỗi APK được tạo sẵn.

    Trình khám phá tệp trên thiết bị

    Trình khám phá tệp trên thiết bị phiên bản mới cho phép bạn kiểm tra hệ thống tệp của thiết bị đã kết nối và chuyển tệp giữa thiết bị và máy tính. Thao tác này sẽ thay thế công cụ hệ thống tệp có trong DDMS.

    Để mở, hãy nhấp vào View > Tool Windows > Device File Explorer (Xem > Cửa sổ công cụ > Trình khám phá tệp trên thiết bị).

    Để biết thêm thông tin, hãy xem hướng dẫn của Trình khám phá tệp trên thiết bị.

    Hỗ trợ Ứng dụng tức thì

    Dịch vụ hỗ trợ mới cho Ứng dụng Android tức thì giúp bạn tạo Ứng dụng tức thì trong dự án của mình bằng cách sử dụng 2 loại mô-đun mới: Mô-đun ứng dụng tức thì và Mô-đun tính năng (các loại mô-đun này đòi hỏi bạn phải cài đặt SDK phát triển Ứng dụng tức thì).

    Android Studio cũng bao gồm cả thao tác mới để tái cấu trúc mô-đun nhằm giúp bạn thêm dịch vụ hỗ trợ cho Ứng dụng tức thì trong dự án hiện có. Ví dụ: nếu bạn muốn tái cấu trúc cho dự án của mình để đặt một số lớp trong mô-đun tính năng Ứng dụng tức thì, hãy chọn các lớp trong cửa sổ Project (Dự án) rồi nhấp vào Refactor > Modularize (Tái cấu trúc > Mô-đun hoá). Trong hộp thoại xuất hiện, hãy chọn mô-đun mà các lớp sẽ chuyển đến rồi nhấp vào OK.

    Và khi đã sẵn sàng kiểm thử Ứng dụng tức thì, bạn có thể xây dựng và chạy mô-đun Ứng dụng tức thì trên một thiết bị đã kết nối bằng cách chỉ định URL của Ứng dụng tức thì đó trong các tuỳ chọn khởi chạy cấu hình chạy: Chọn Run >Edit Configurations (Chạy > Chỉnh sửa cấu hình), chọn mô-đun Ứng dụng tức thì rồi đặt URL trong mục Launch Options (Tuỳ chọn khởi chạy).

    Để biết thêm thông tin, hãy xem bài viết Ứng dụng Android tức thì.

    Mô-đun Android Things

    Các mẫu Android Things mới trong trình hướng dẫn New Project (Dự án mới) và New Module (Mô-đun mới) giúp bạn bắt đầu phát triển cho các thiết bị IOT chạy hệ điều hành Android.

    Để biết thêm thông tin, hãy xem cách tạo dự án Android Things.

    Trình hướng dẫn về biểu tượng thích ứng

    Giờ đây, Công cụ tạo tài sản hình ảnh sẽ hỗ trợ vectơ vẽ được và cho phép bạn tạo các biểu tượng trình chạy thích ứng cho Android 8.0 trong khi đồng thời tạo biểu tượng truyền thống (biểu tượng "Cũ") cho các thiết bị chạy phiên bản cũ.

    Để bắt đầu, hãy nhấp chuột phải vào thư mục res trong dự án của bạn, sau đó nhấp vào New > Image Asset (Mới > Tài sản hình ảnh). Trong cửa sổ Asset Studio, hãy chọn Launcher Icons (Adaptive and Legacy) (Biểu tượng trình chạy (Thích ứng và Cũ)) làm loại biểu tượng.

    Để biết thêm thông tin, hãy đọc bài viết về Biểu tượng thích ứng.

    Hỗ trợ các tài nguyên về phông chữ

    Để hỗ trợ các tài nguyên mới về phông chữ trong Android 8.0, Android Studio sẽ cung cấp font resources selector (bộ chọn tài nguyên phông chữ) để giúp đưa các phông chữ vào ứng dụng hoặc định cấu hình dự án để tải phông chữ trên thiết bị xuống (khi có sẵn). Layout Editor cũng có thể xem trước phông chữ trong bố cục của bạn.

    Để dùng thử các phông chữ có thể tải xuống, hãy đảm bảo rằng thiết bị hoặc trình mô phỏng đang chạy Dịch vụ Google Play phiên bản 11.2.63 trở lên. Để biết thêm thông tin, hãy đọc bài viết về Phông chữ có thể tải xuống.

    Trợ lý lập chỉ mục ứng dụng Firebase

    Trợ lý Firebase đã được cập nhật với hướng dẫn mới nhằm kiểm thử tính năng Lập chỉ mục ứng dụng. Để mở Trợ lý, hãy chọn Tools > Firebase (Công cụ > Firebase). Sau đó, chọn App Indexing > Test App Indexing (Lập chỉ mục ứng dụng > Kiểm thử tính năng lập chỉ mục ứng dụng).

    Phần hướng dẫn sẽ bao gồm các nút mới để kiểm thử việc lập chỉ mục nội dung cá nhân và nội dung công khai:

    • Ở bước 2, hãy nhấp vào Preview search results (Xem trước kết quả tìm kiếm) để xác minh rằng URL của bạn đang xuất hiện trong kết quả tìm kiếm trên Google.
    • Ở bước 3, hãy nhấp vào Check for errors (Kiểm tra lỗi) để xác minh rằng các đối tượng có thể lập chỉ mục trong ứng dụng của bạn đã được thêm vào chỉ mục nội dung cá nhân.

    Trợ lý về đường liên kết trong ứng dụng đã được cập nhật với các tính năng mới sau đây:

    • Thêm hoạt động kiểm thử URL cho mỗi liên kết URL để đảm bảo bộ lọc ý định xử lý các URL trong thực tế.

      Bạn cũng có thể tự xác định các hoạt động kiểm thử URL này bằng cách sử dụng thẻ <tools:validation> mô tả bên dưới.

    • Tạo tệp Đường liên kết đến tài sản kỹ thuật số có mục đối tượng thích hợp để hỗ trợ Google Smart Lock và thêm thẻ asset_statements <meta-data> tương ứng vào tệp kê khai.

    Trình xác thực bộ lọc ý định URL

    Android Studio giờ đây hỗ trợ một thẻ đặc biệt trong tệp kê khai, cho phép bạn kiểm thử URL của bộ lọc ý định. Đây cũng chính là các thẻ mà Trợ lý về đường liên kết trong ứng dụng có thể tạo cho bạn.

    Để khai báo một URL của hoạt động kiểm thử cho một bộ lọc ý định, hãy thêm phần tử <tools:validation> cùng với phần tử <intent-filter> tương ứng. Ví dụ:

    <activity ...>
        <intent-filter>
            ...
        </intent-filter>
        <tools:validation testUrl="https://www.example.com/recipe/1138" />
    </activity>
    

    Hãy nhớ đưa cả xmlns:tools="http://schemas.android.com/tools" vào thẻ <manifest>.

    Nếu có bất kỳ URL nào của hoạt động kiểm thử không vượt qua được định nghĩa của bộ lọc ý định, thì lỗi tìm lỗi mã nguồn sẽ xuất hiện. Dù lỗi này có xuất hiện thì bạn vẫn tạo được các biến thể gỡ lỗi, nhưng sẽ làm hỏng bản phát hành.

    Layout Editor

    Layout Editor đã được cập nhật với một số tính năng nâng cao sau đây:

    • Biểu tượng và bố cục mới trên thanh công cụ.
    • Cập nhật bố cục trong cây thành phần.
    • Cải thiện tính năng chèn thành phần hiển thị kéo và thả.
    • Bảng điều khiển mới về lỗi ở bên dưới trình chỉnh sửa, hiển thị mọi vấn đề kèm theo nội dung đề xuất cần khắc phục (nếu có).
    • Các tính năng nâng cao cho giao diện người dùng để xây dựng bằng ConstraintLayout, gồm có các tính năng sau:
      • Tính năng hỗ trợ mới để tạo rào cản.
      • Tính năng hỗ trợ mới để tạo nhóm: Trong thanh công cụ, hãy chọn Guidelines > Add Group (Nguyên tắc > Thêm nhóm) (cần có ConstraintLayout 1.1.0 beta 2 trở lên)
      • Giao diện người dùng mới để tạo chuỗi: Chọn nhiều thành phần hiển thị, sau đó nhấp chuột phải và chọn Chain (Chuỗi).

    Layout Inspector

    Layout Inspector bao gồm các tính năng nâng cao giúp bạn dễ dàng gỡ lỗi cho các vấn đề về bố cục ứng dụng hơn, bao gồm cả việc nhóm các thuộc tính vào danh mục phổ biến và chức năng tìm kiếm mới ở cả View Tree (Cây thành phần hiển thị) và ngăn Properties (Thuộc tính).

    Công cụ phân tích APK

    Giờ đây, bạn có thể sử dụng Công cụ phân tích APK trong dòng lệnh bằng công cụ apkanalyzer.

    Công cụ phân tích APK cũng được cập nhật với những điểm cải tiến sau đây:

    • Đối với những APK được tạo bằng ProGuard, bạn có thể tải các tệp ánh xạ ProGuard để thêm các tính năng vào trình xem DEX, bao gồm:
      • Các nút được in đậm để cho biết rằng bạn không nên xoá các nút này khi rút gọn mã.
      • Nút cho thấy các nút đã bị xoá trong quá trình rút gọn.
      • Nút khôi phục tên ban đầu của các nút trong thành phần hiển thị dạng cây đã bị ProGuard làm rối mã nguồn.
    • Trình xem DEX giờ đây sẽ cho bạn biết tác động ước tính về kích thước của mỗi gói, lớp và phương thức.
    • Các tuỳ chọn lọc mới ở trên cùng để hiện và ẩn các trường cũng như phương thức.
    • Trong thành phần hiển thị dạng cây, các nút là tệp tham chiếu không được xác định trong tệp DEX sẽ xuất hiện bằng chữ in nghiêng.

    Để biết thêm thông tin, hãy xem bài viết Phân tích bản dựng của bạn bằng Công cụ phân tích APK.

    Bản xem trước trình biên dịch DEX D8

    Android Studio 3.0 có một trình biên dịch DEX mới không bắt buộc có tên là D8. Cuối cùng, trình biên dịch này sẽ thay thế trình biên dịch DX, tuy nhiên, bạn có thể chọn sử dụng trình biên dịch D8 mới ngay bây giờ.

    Quá trình biên dịch DEX có tác động trực tiếp đến thời gian xây dựng, kích thước tệp .dex và hiệu suất thời gian chạy của ứng dụng. Và khi so sánh trình biên dịch D8 mới với trình biên dịch DX hiện tại, D8 biên dịch nhanh hơn và tạo ra các tệp .dex có kích thước nhỏ hơn, trong khi vẫn có cùng hiệu suất thời gian chạy ứng dụng hoặc có hiệu suất thời gian chạy ứng dụng tốt hơn.

    Để dùng thử, hãy đặt giá trị trong tệp gradle.properties của dự án như sau:

    android.enableD8=true
    

    Để biết thêm thông tin, hãy xem bài đăng trên blog về trình biên dịch D8.

    Kho lưu trữ Maven của Google

    Android Studio hiện sử dụng Kho lưu trữ Maven của Google theo mặc định thay vì phải dựa vào Trình quản lý SDK Android để tải bản cập nhật cho Thư viện hỗ trợ Android, Dịch vụ Google Play, Firebase và các phần phụ thuộc khác. Điều này giúp bạn dễ dàng cập nhật các thư viện của mình hơn, đặc biệt khi sử dụng hệ thống tích hợp liên tục (CI).

    Tất cả các dự án mới giờ đây đều bao gồm kho lưu trữ Maven của Google theo mặc định. Để cập nhật dự án hiện có, hãy thêm google() vào khối repositories của tệp build.gradle ở cấp cao nhất:

    allprojects {
        repositories {
            google()
        }
    }
    

    Hãy tìm hiểu thêm về kho lưu trữ Maven của Google tại đây.

    Các thay đổi khác

    • Tính năng gỡ lỗi gốc có trong Android Studio không hỗ trợ Windows 32 bit nữa. Chúng tôi đã chọn tập trung vào các nền tảng khác vì có rất ít nhà phát triển dùng nền tảng này. Nếu đang dùng Windows 32 bit và định gỡ lỗi mã gốc, thì bạn nên tiếp tục sử dụng Android Studio 2.3.
    • Nâng cấp IDE cơ sở lên IntelliJ 2017.1.2, có bổ sung một số tính năng mới từ phiên bản 2016.32017.1, chẳng hạn như tái cấu trúc ngôn ngữ Java 8, gợi ý tham số, làm nổi bật ngữ nghĩa, điểm ngắt kéo được, kết quả tức thì trong tính năng tìm kiếm và nhiều tính năng khác.
    • Thêm nhiều lượt kiểm tra tìm lỗi mã nguồn mới.
    • Ngoài ra, hãy xem thông tin cập nhật mới nhất về Trình mô phỏng Android.

    Phiên bản 2.3 (Tháng 3/2017)

    Android Studio 2.3.0 chính là một bản sửa lỗi và bản phát hành chính thức, tuy nhiên, bản phát hành này cũng có một số tính năng mới.

    Phiên bản 2.3.3 (Tháng 6/2017)

    Đây là bản cập nhật nhỏ để bổ sung tính năng hỗ trợ cho Android O (API cấp 26).

    Phiên bản 2.3.2 (Tháng 4/2017)

    Đây là bản cập nhật nhỏ cho Android Studio 2.3 với những thay đổi sau:

    • Cập nhật Trình quản lý thiết bị ảo Android để hỗ trợ Google Play trong ảnh hệ thống.
    • Sửa lỗi cho các bản dựng NDK khi sử dụng NDK R14+.

    Đồng thời thấy các bản cập nhật tương ứng cho Trình mô phỏng Android 26.0.3.

    Phiên bản 2.3.1 (Tháng 4/2017)

    Đây là bản cập nhật nhỏ cho Android Studio 2.3, trong đó khắc phục sự cố một số thiết bị Android thực tế không hoạt động đúng cách khi dùng Tính năng Chạy tức thì (xem Vấn đề 235879).

    Mới

    • Android Studio giờ đây có thể chuyển đổi các tệp PNG, BMP, JPG và GIF tĩnh sang định dạng WebP. WebP là một định dạng tệp hình ảnh của Google, cung cấp khả năng nén có tổn hao (như JPEG) cũng như độ trong suốt (như PNG) nhưng có thể có khả năng nén tốt hơn so với JPEG hoặc PNG. Để biết thêm thông tin, hãy xem bài viết Chuyển đổi hình ảnh sang WebP trong Android Studio.
    • Trợ lý Đường liên kết trong ứng dụng mới sẽ đơn giản hoá quá trình thêm Đường liên kết trong ứng dụng Android vào ứng dụng của bạn thành một trình hướng dẫn từng bước. Đường liên kết trong ứng dụng Android là các URL HTTP đưa người dùng đến ngay nội dung cụ thể trong ứng dụng Android.
    • Layout Editor giờ đây sẽ hỗ trợ cả hai tính năng ConstraintLayout mới sau đây:
      • Xác định kích thước thành phần hiển thị dựa trên tỷ lệ khung hình.
      • Tạo các nhóm tuyến tính đóng gói, trải rộng và tính trọng số bằng các chuỗi quy tắc ràng buộc.
      Để biết thêm thông tin, hãy xem bài viết Xây dựng Giao diện người dùng thích ứng bằng ConstraintLayout.
    • Layout Editor giờ đây cũng cho phép bạn tạo danh sách các thuộc tính yêu thích nên bạn không phải nhấp vào View all attributes (Xem tất cả thuộc tính) để truy cập vào các thuộc tính mà bạn sử dụng nhiều nhất.
    • Khi thêm một biểu tượng Material bằng Hộp thoại Vector Import (Nhập vectơ) (File > New > Vector Asset (Tệp > Mới > Tài sản vectơ)), giờ đây, bạn có thể lọc danh sách các biểu tượng có sẵn theo danh mục hoặc theo tên biểu tượng. Để biết thêm thông tin, hãy xem bài viết Thêm biểu tượng Material.
    • Chú giải cập nhật, mới. Chú giải mới của @RestrictTo cho phương thức, lớp và gói cho phép bạn hạn chế API. Chú giải cập nhật của @VisibleForTesting giờ đây có một đối số otherwise không bắt buộc cho phép bạn chỉ định chế độ hiển thị của một phương thức (nếu đây không phải là một phương thức cần được hiển thị cho quá trình kiểm thử). Công cụ tìm lỗi mã nguồn sử dụng tuỳ chọn otherwise để thực thi chế độ hiển thị dự định của phương thức đó.
    • Tính năng hỗ trợ mới về đường cơ sở của công cụ tìm lỗi mã nguồn cho phép bạn dùng ảnh chụp nhanh về nhóm cảnh báo hiện tại của dự án làm đường cơ sở cho các lần chạy hoạt động kiểm tra trong tương lai để chỉ báo cáo các vấn đề mới. Ảnh chụp nhanh đường cơ sở cho phép bạn bắt đầu dùng công cụ tìm lỗi mã nguồn để gán trạng thái không thành công cho bản dựng vì những vấn đề mới mà không cần phải quay lại và xử lý tất cả các vấn đề hiện có trước.
    • Quy trình kiểm tra tìm lỗi mã nguồn mới, bao gồm những nội dung sau:
      • Kiểm tra SDK_INT lỗi thời: Android Studio sẽ xoá những mã lỗi thời dùng để kiểm tra phiên bản SDK.
      • Xác thực Trình tạo ảnh động cho đối tượng: Công cụ tìm lỗi mã nguồn sẽ phân tích mã của bạn để đảm bảo rằng lệnh gọi ObjectAnimator tham chiếu đến các phương thức hợp lệ bằng chữ ký đúng và kiểm tra để chắc chắn rằng các phương thức đó được chú giải bằng @Keep để ngăn ProGuard đổi tên hoặc xoá chúng trong bản phát hành.
      • Sao chép lớp trang trí của mục không cần thiết: Thư viện RecyclerView phiên bản cũ không bao gồm lớp trang trí phân chia, nhưng chỉ cung cấp một lớp mẫu trong bản minh hoạ khả năng hỗ trợ. Thư viện phiên bản gần đây có lớp trang trí phân chia. Công cụ tìm lỗi mã nguồn tìm mẫu cũ và đề xuất thay thế mẫu đó bằng mẫu mới.
      • Tình trạng rò rỉ của WifiManager: Trước Android 7.0 (API cấp 24), việc khởi chạy WifiManager bằng Context.getSystemService() có thể gây rò rỉ bộ nhớ nếu ngữ cảnh không phải là ngữ cảnh của ứng dụng. Công cụ tìm lỗi mã nguồn sẽ tìm các lệnh khởi chạy này và nếu không thể xác định ngữ cảnh là ngữ cảnh của ứng dụng, công cụ này sẽ khuyên bạn sử dụng Context.getApplicationContext() để lấy ngữ cảnh thích hợp cho lệnh khởi chạy.
      • Cải thiện tiền tố tài nguyên: Quy trình kiểm tra tìm lỗi mã nguồn hiện tại cho resourcePrefix có rất nhiều hạn chế. Giờ đây, bạn có thể định cấu hình dự án của mình bằng một tiền tố, chẳng hạn như android { resourcePrefix 'my_lib' }, và công cụ tìm lỗi mã nguồn sẽ đảm bảo rằng tất cả tài nguyên của bạn đang dùng tiền tố này. Bạn có thể sử dụng các biến thể của tên cho kiểu và giao diện. Ví dụ: đối với tiền tố my_lib, bạn có thể thiết lập các giao diện có tên là MyLibTheme, myLibAttr, my_lib_layout, v.v.
      • Chuyển sang WebP: Bước kiểm tra này sẽ xác định những hình ảnh trong dự án của bạn có thể chuyển đổi sang định dạng WebP dựa trên chế độ cài đặt minSdkVersion của dự án. Tính năng sửa nhanh được liên kết có thể tự động chuyển đổi hình ảnh, hoặc bạn có thể chuyển đổi hình ảnh sang WebP theo cách thủ công.
      • WebP không an toàn: Nếu dự án của bạn đã có hình ảnh WebP, thì bước kiểm tra này sẽ phân tích dự án để đảm bảo rằng chế độ cài đặt minSdkVersion đủ đáp ứng yêu cầu để hỗ trợ các hình ảnh đi kèm. Để biết thêm thông tin về tính năng hỗ trợ WebP trong Android và Android Studio, hãy xem bài viết Những trình duyệt nào hỗ trợ sẵn định dạng WebP?Tạo hình ảnh WebP bằng Android Studio.

    Các thay đổi

    • Có một nút riêng để chuyển các thay đổi bằng tính năng Chạy tức thì: Sau khi triển khai ứng dụng, bạn có thể nhấp vào biểu tượng Apply Changes (Áp dụng các thay đổi) để nhanh chóng chuyển các thay đổi tăng dần vào ứng dụng đang chạy bằng tính năng Chạy tức thì. Bạn luôn có thể sử dụng các nút Run (Chạy) Debug (Gỡ lỗi) khi muốn chuyển các thay đổi theo cách đáng tin cậy và buộc một ứng dụng khởi động lại.
      • Tính năng Chạy tức thì chỉ được hỗ trợ khi bạn triển khai ứng dụng cho một thiết bị mục tiêu chạy Android 5.0 (API cấp 21) trở lên.
      • Tính năng Chạy tức thì không còn bị vô hiệu hoá đối với những dự án liên kết đến dự án gốc bên ngoài dùng CMake hoặc ndk-build. Tuy nhiên, bạn chỉ có thể dùng tính năng Chạy tức thì để chuyển các thay đổi tăng dần vào mã Java thay vì mã gốc.
      • Tính năng hoán đổi nguội (mà bạn có thể thực thi cho một ứng dụng đang chạy bằng cách nhấp vào biểu tượng Run (Chạy) ) giờ đây hoạt động ổn định hơn. Thao tác thực thi tính năng hoán đổi nguội cũng khắc phục vấn đề liên quan đến các thay đổi đối với giao diện người dùng của thông báo và tiện ích chưa được cập nhật trên thiết bị mục tiêu.
      • Bao gồm các tính năng tối ưu hoá giúp quá trình khởi động ứng dụng nhanh hơn nhiều. Các tính năng tối ưu hoá này có thể ảnh hưởng đến quá trình phân tích, vì vậy, bạn nên tạm thời tắt tính năng Chạy tức thì mỗi khi phân tích ứng dụng.
    • Các nút AVD Manager (Trình quản lý thiết bị ảo Android) SDK Manager (Trình quản lý SDK) giờ đây có cả trên Thanh điều hướng rút gọn và Thanh công cụ đầy đủ. Để sử dụng Thanh điều hướng rút gọn, hãy nhấp vào View (Thành phần hiển thị) để mở trình đơn Thành phần hiển thị, sau đó nhớ chọn Navigation Bar (Thanh điều hướng) và bỏ chọn Toolbar (Thanh công cụ).

    • Trình gỡ lỗi "Kết hợp" được đổi tên thành trình gỡ lỗi "Kép".
    • Trong hộp thoại Run/Debug Configurations (Cấu hình chạy/gỡ lỗi), trong phần Defaults (Mặc định) ở ngăn bên trái, tên cấu hình chạy sau đây được thay đổi mà không có thay đổi về hành vi:
      • Tên JUnit đổi thành Android JUnit. Nếu bạn có một dự án dùng cấu hình chạy JUnit, thì các cấu hình này sẽ được chuyển đổi sang cấu hình chạy Android JUnit vào lần đầu tiên bạn mở dự án bằng Android Studio. Một hộp thoại sẽ xuất hiện để thông báo cho bạn về việc đổi tên.
      • Tên của các hoạt động kiểm thử trên Android đổi thành hoạt động kiểm thử được đo lường trên Android.
    • Trình gỡ lỗi GPU bị xoá khỏi Android Studio kể từ phiên bản 2.3. Hiện đã có phiên bản nguồn mở độc lập của công cụ này trên GitHub.
    • Tuỳ chọn Chạy/Gỡ lỗi sẽ không xuất hiện khi bạn nhấp chuột phải vào tập lệnh *.gradle build.
    • Tất cả các mẫu giờ đây đều dùng ConstraintLayout làm bố cục mặc định.
    • Bảng thành phần hiển thị Tiện ích trong Layout Editor được thiết kế lại.

    Bản phát hành này cũng bao gồm một số bản sửa lỗi. Xem tất cả các bản sửa lỗi trong phiên bản 2.3.0.

    Vấn đề đã biết: Một số nhà sản xuất thiết bị chặn không cho ứng dụng tự động chạy sau khi được cài đặt trên thiết bị. Khi triển khai ứng dụng cho một thiết bị thực tế bằng Android Studio 2.3, hạn chế này sẽ dừng hành vi dự định của tính năng Chạy tức thì và gây ra kết quả lỗi sau: Error: Not found; no service started. Để tránh vấn đề này, hãy dùng trình mô phỏng hoặc bật chế độ chạy tự động cho ứng dụng trong phần cài đặt của thiết bị. Quy trình thực hiện việc này là khác nhau tuỳ theo từng thiết bị, vì vậy, hãy xem hướng dẫn do nhà sản xuất cung cấp. Để tìm hiểu thêm về vấn đề này, hãy xem Vấn đề 235879.

    Phiên bản 2.2 (Tháng 9/2016)

    Phiên bản 2.2.3 (Tháng 12/2016)

    Đây là một bản cập nhật nhỏ cho Android Studio 2.2. Bản cập nhật này bao gồm các bản sửa lỗi tập trung vào Gradle, IDE chính và công cụ tìm lỗi mã nguồn.

    Các thay đổi nổi bật của bản dựng:

    • Khôi phục phiên bản ProGuard. Do vấn đề về độ chính xác phát hiện thấy trong ProGuard 5.3.1, nên chúng tôi đã khôi phục về ProGuard 5.2.1. Chúng tôi đã làm việc với nhóm ProGuard để nhanh chóng khắc phục và dự kiến khôi phục về ProGuard 5.3.2 trong Android Studio 2.3 Canary 3.
    • Bản sửa lỗi cho aaptOptions IgnoreAssetsPattern không hoạt động đúng cách (vấn đề 224167)
    • Bản sửa lỗi cho tính năng tự động tải Gradle cho thư viện Constraint Layout (Bố cục ràng buộc) (vấn đề 212128)
    • Bản sửa lỗi cho trình biên dịch JDK8/Kotlin + vấn đề dx (vấn đề 227729)

    Xem tất cả các bản sửa lỗi trong phiên bản 2.2.3.

    Phiên bản 2.2.2 (Tháng 10/2016)

    Đây là một bản cập nhật nhỏ cho Android Studio 2.2. Bản cập nhật này có một số thay đổi nhỏ và các bản sửa lỗi, bao gồm:

    • Khi báo cáo vấn đề liên quan đến tính năng Chạy tức thì thông qua IDE, báo cáo này giờ đây cũng bao gồm kết quả logcat cho các sự kiện InstantRun. Để giúp chúng tôi cải thiện tính năng Chạy tức thì, vui lòng bật chế độ ghi nhật ký bổ sung và báo cáo mọi vấn đề.
    • Một số bản sửa lỗi nhỏ cho Gradle.
    • Bản sửa lỗi cho các sự cố liên quan đến việc tạo nhiều APK.

    Phiên bản 2.2.1 (Tháng 10/2016)

    Đây là một bản cập nhật nhỏ cho Android Studio 2.2. Bản cập nhật này có một số bản sửa lỗi và một tính năng mới để bật chế độ ghi nhật ký bổ sung nhằm giúp chúng tôi khắc phục vấn đề liên quan đến tính năng Chạy tức thì — để giúp chúng tôi cải thiện tính năng Chạy tức thì, vui lòng bật chế độ ghi nhật ký bổ sung và báo cáo mọi vấn đề.

    Mới

    • Tất cả Layout Editor phiên bản mới đều có công cụ được thiết kế tuỳ chỉnh nhằm hỗ trợ ConstraintLayout.
    • Layout Inspector phiên bản mới giúp bạn kiểm tra ảnh chụp nhanh của hệ phân cấp bố cục trong khi ứng dụng đang chạy trên trình mô phỏng hoặc trên một thiết bị.
    • Cửa sổ mới có tên là Assistant (Trợ lý) giúp bạn tích hợp các dịch vụ của Firebase vào ứng dụng của mình.
    • Công cụ mới có tên là APK Analyzer (Công cụ phân tích APK) giúp bạn kiểm tra nội dung có trong ứng dụng đóng gói của mình.
    • Công cụ mới có tên là Espresso Test Recorder (Trình ghi lại quá trình kiểm tra Espresso (hiện đang ở giai đoạn thử nghiệm) giúp bạn tạo các hoạt động kiểm thử giao diện người dùng bằng cách ghi lại hoạt động tương tác của mình.
    • Build cache (Bộ nhớ đệm bản dựng) mới (hiện đang ở giai đoạn thử nghiệm) dùng để tăng hiệu suất của bản dựng.
    • Tính năng tích hợp bản dựng C/C++ bằng CMake và ndk-build phiên bản mới. Biên dịch và xây dựng mã gốc mới hoặc mã gốc hiện có thành thư viện được đóng gói vào APK, và gỡ lỗi bằng lldb. Đối với các dự án mới, Android Studio sử dụng CMake theo mặc định, nhưng cũng hỗ trợ ndk-build cho các dự án hiện có. Để tìm hiểu cách đưa mã gốc vào ứng dụng Android, hãy đọc bài viết Thêm mã C và C++ vào dự án của bạn. Để tìm hiểu cách gỡ lỗi mã gốc bằng lldb, hãy xem bài viết Gỡ lỗi mã gốc.
    • Trình duyệt mẫu phiên bản mới giúp bạn dễ dàng tra cứu mã mẫu Android của Google ngay trong Android Studio để bắt đầu phát triển ứng dụng.
    • Trình xem tập kê khai sáp nhập mới giúp bạn chẩn đoán cách tệp kê khai sáp nhập với các phần phụ thuộc của ứng dụng trên các biến thể xây dựng của dự án.
    • Cửa sổ Run (Chạy) giờ đây có chứa thông điệp nhật ký cho ứng dụng đang chạy. Lưu ý rằng bạn có thể định cấu hình màn hình Giám sát logcat chứ không định được cấu hình cửa sổ Run (Chạy).
    • Các tính năng mới của Trình mô phỏng Android:
      • Thêm các chế độ điều khiển mới Virtual Sensor (Cảm biến ảo) và Cellular (Di động) > Signal Strength (Cường độ tín hiệu).
      • Thêm tuỳ chọn LTE vào chế độ điều khiển Cellular (Di động) > Network type (Loại mạng).
      • Thêm các thao tác vuốt dọc được mô phỏng để cuộn qua các trình đơn dọc bằng con lăn chuột.
    • Các tính năng mới của Run/Debug Configuration (Cấu hình chạy/gỡ lỗi):
      • Thẻ Debugger (Trình gỡ lỗi) của ứng dụng Android và mẫu kiểm thử Android giờ đây có chứa một số tuỳ chọn mới để gỡ lỗi bằng LLDB.
      • Thẻ Profiling (Phân tích) của ứng dụng Android và mẫu kiểm thử Android giờ đây có chứa một tuỳ chọn Capture GPU Commands (Ghi lại lệnh GPU) để bật chức năng theo dõi GPU. Bạn có thể hiển thị dấu vết của GPU trong Trình gỡ lỗi GPU (một tính năng thử nghiệm).
      • Mẫu kiểm thử Android giờ đây có một tuỳ chọn Firebase Test Lab Device Matrix (Ma trận thiết bị của Phòng thử nghiệm Firebase) cho Deployment Target (Mục tiêu triển khai).
      • Không dùng mẫu Ứng dụng gốc nữa. Nếu bạn dùng mẫu này trong một dự án, Android Studio sẽ tự động chuyển đổi mẫu đó thành mẫu ứng dụng Android.
      • Mẫu ứng dụng Android được đổi tên thành ứng dụng Android.
    • Cải thiện tính năng cài đặt, cấu hình, hiệu suất và giao diện người dùng trong Trình gỡ lỗi GPU (đang ở giai đoạn thử nghiệm).
    • Android Studio hiện đi kèm với OpenJDK 8. Các dự án hiện tại vẫn sử dụng JDK được chỉ định trong File > Project Structure > SDK Location (Tệp > Cấu trúc dự án > Vị trí SDK). Bạn có thể chuyển sang dùng JDK mới đi kèm bằng cách nhấp vào File > Project Structure > SDK Location (Tệp > Cấu trúc dự án > Vị trí SDK) rồi đánh dấu vào hộp đánh dấu Use embedded JDK (Dùng JDK nhúng).
    • Thêm các nút và trình đơn trợ giúp mới trong giao diện người dùng để bạn có thể dễ dàng tìm thấy tài liệu trực tuyến.

    Các thay đổi

    • Cập nhật cơ sở mã IDE từ IntelliJ 15 thành IntelliJ 2016.1
    • Hiện tại, tính năng Chạy tức thì đòi hỏi SDK của nền tảng phải tương ứng với cấp độ API của thiết bị mục tiêu được cài đặt.
    • Tính năng Chạy tức thì sẽ tự động tắt nếu người dùng đang chạy ứng dụng trong hồ sơ công việc hoặc với tư cách là người dùng phụ.
    • Khắc phục nhiều vấn đề về độ tin cậy cho tính năng Chạy tức thì, trong đó các thay đổi không được triển khai hoặc ứng dụng gặp sự cố:
      • Một số tài sản của ứng dụng chưa được triển khai cho ứng dụng đang chạy. (Lỗi: 213454)
      • Ứng dụng gặp sự cố khi người dùng chuyển đổi giữa các phiên Chạy tức thì và phiên Chạy không tức thì, trong đó Lớp có thể chuyển đổi tuần tự chưa xác định serialVersionUID. (Lỗi: 209006)
      • Các thay đổi về kiểu chưa được phản ánh bằng tính năng Chạy tức thì. (Lỗi: 210851)
      • Phiên Chạy tức thì không đáng tin cậy nên gây ra tình trạng FileNotFoundException. (Lỗi: 213083)
      • Các thay đổi đối với đối tượng có thể vẽ không được phản ánh cho đến khi bạn thực hiện việc xây dựng lại toàn bộ cho KitKat. (Lỗi: 21530)
      • Các thay đổi về tài nguyên không được phản ánh bằng tính năng Chạy tức thì khi sourceSets tuỳ chỉnh có chứa các đường dẫn lồng nhau. (Lỗi: 219145)
      • Tính năng hoán đổi nóng và nguội không hoạt động nếu lớp được thay đổi chứa chú giải có giá trị enum. (Lỗi: 209047)
      • Các thay đổi đối với dữ liệu chú giải chưa được phản ánh bằng tính năng Chạy tức thì. (Lỗi: 210089)
      • Tính năng Chạy tức thì không đề xuất các thay đổi mã nếu bạn thực hiện thay đổi bên ngoài IDE. (Lỗi: 213205)
      • Phiên Chạy tức thì không đáng tin cậy do mã thông báo bảo mật không khớp. (Lỗi: 211989
      • Không chạy được tính năng hoán đổi nguội cho các thiết bị không hỗ trợ chế độ run-as đúng cách. (Lỗi: 210875)
      • Xảy ra sự cố ứng dụng sau khi khởi động lại tính năng chạy tức thì. (Lỗi: 219744)
      • Phát hiện ClassNotFoundException khi chuyển từ tính năng Chạy tức thì sang Gỡ lỗi tức thì. (Lỗi: 215805)
    • Cải thiện hiệu suất cho quá trình đồng bộ hoá Gradle trong IDE, đặc biệt là đối với các dự án lớn.
    • Cải thiện thời gian xây dựng cho cả bản dựng đầy đủ và bản dựng tăng dần bằng mã đóng gói ứng dụng mới.
    • Cải thiện hiệu suất và các tính năng của trình biên dịch Jack, trong đó có biện pháp hỗ trợ cho trình xử lý chú giải và tính năng tạo tệp dex trong quy trình xây dựng. Để tìm hiểu thêm, hãy đọc ghi chú phát hành của trình bổ trợ Android cho Gradle 2.2.0.
    • Xoá thuộc tính của thiết bị ảo Android có tên là Scale (Tỷ lệ) khỏi Trình quản lý thiết bị ảo Android.
    • Các tuỳ chọn dòng lệnh -port-ports của Trình mô phỏng Android giờ đây sẽ báo cáo cổng và số sê-ri mà phiên bản trình mô phỏng đang dùng, đồng thời cảnh báo nếu có bất cứ vấn đề nào với những giá trị mà bạn đã cung cấp.
    • Cải thiện hộp thoại Create New Class (Tạo lớp mới) và các mẫu tệp tương ứng. Lưu ý: Nếu đã từng tuỳ chỉnh mẫu tệp AnnotationType (Loại chú giải), Class (Lớp), Enum, Interface (Giao diện) hoặc Singleton, bạn cần phải sửa đổi các mẫu của mình để phù hợp với các mẫu mới, nếu không bạn sẽ không dùng được các trường mới trong hộp thoại Create New Class (Tạo lớp mới).
    • Cải thiện giao diện người dùng của công cụ Vector Asset Studio và hỗ trợ thêm các tệp Tài liệu Adobe Photoshop (PSD).
    • Cải thiện giao diện người dùng của Image Asset Studio (Công cụ tạo tài sản hình ảnh).
    • Cải thiện Bộ chọn tài nguyên của Theme Editor (Trình chỉnh sửa giao diện).
    • Khắc phục lỗi rò rỉ bộ nhớ và giảm thiểu tổng mức sử dụng bộ nhớ trong Android Studio.
    • Thêm nút Background (Nền) trong SDK Manager (Trình quản lý SDK) để bạn có thể quay lại làm việc và cài đặt gói trong chế độ nền.
    • Cải thiện các tính năng Hỗ trợ tiếp cận, bao gồm tính năng hỗ trợ cho trình đọc màn hình và thao tác bằng bàn phím.
    • Tính năng Phân tích mã nâng cao bao gồm hoạt động kiểm tra chất lượng mã cho việc sử dụng ngôn ngữ Java 8 và các bản phân tích trên nhiều tệp khác.
    • Thay đổi một số biểu tượng trên thanh công cụ.

    Phiên bản 2.1 (Tháng 4/2016)

    Những thay đổi chính trong bản cập nhật này sẽ hỗ trợ bạn phát triển ứng dụng bằng Bản xem trước Android N.

    Phiên bản 2.1.3 (Tháng 8/2016)

    Bản cập nhật này bổ sung khả năng tương thích với Gradle 2.14.1, trong đó có những điểm cải tiến về hiệu suất, tính năng mới và một bản vá bảo mật quan trọng. Để biết thêm thông tin chi tiết, hãy xem ghi chú phát hành của Gradle.

    Theo mặc định, các dự án mới trong Android Studio 2.1.3 sẽ sử dụng Gradle 2.14.1. Đối với các dự án hiện có, IDE sẽ nhắc bạn nâng cấp lên Gradle 2.14.1 và trình bổ trợ Android cho Gradle 2.1.3 (cần có khi sử dụng Gradle 2.14.1 trở lên).

    Phiên bản 2.1.2 (Tháng 6/2016)

    Bản cập nhật này có một số thay đổi nhỏ và các bản sửa lỗi như sau:

    • Bản cập nhật và bản sửa lỗi cho tính năng Chạy tức thì.
    • Cải thiện hiệu suất của LLDB và thông báo lỗi.
    • Khắc phục lỗi hồi quy trong bản cập nhật bảo mật Android Studio 2.1.1 khiến git rebase không hoạt động được.

    Phiên bản 2.1.1 (Tháng 5/2016)

    Bản cập nhật cho bản phát hành bảo mật.

    Nền tảng Android N thêm biện pháp hỗ trợ cho các tính năng ngôn ngữ trong Java 8. Các tính năng này cần có một trình biên dịch thử nghiệm mới có tên là Jack. Phiên bản Jack mới nhất hiện chỉ được hỗ trợ trong Android Studio 2.1. Vì vậy, nếu muốn sử dụng các tính năng ngôn ngữ trong Java 8, bạn cần dùng Android Studio 2.1 để xây dựng ứng dụng.

    Lưu ý: Tính năng Chạy tức thì bị tắt khi bạn bật trình biên dịch Jack vì chúng hiện không tương thích.

    Mặc dù Android Studio 2.1 hiện là bản chính thức, nhưng trình biên dịch Jack vẫn là bản thử nghiệm và bạn phải bật trình biên dịch này bằng thuộc tính jackOptions trong tệp build.gradle.

    Ngoài các thay đổi để hỗ trợ Bản xem trước N, Android Studio 2.1 bao gồm các bản sửa lỗi nhỏ và các tính năng nâng cao sau đây:

    • Trình gỡ lỗi C++ có khả năng nhận biết Java hiện được bật theo mặc định khi bạn đang sử dụng thiết bị hoặc trình mô phỏng N, đồng thời bạn chọn chế độ trình gỡ lỗi Native (Gốc) (trong thẻ Debugger (Trình gỡ lỗi) cho cấu hình chạy/gỡ lỗi).

    Đối với các tính năng xây dựng nâng cao khác, bao gồm tính năng biên dịch Java tăng dần và tính năng tạo tệp dex trong quy trình xây dựng, hãy cập nhật trình bổ trợ Android cho Gradle lên phiên bản 2.1.0.

    Phiên bản 2.0 (Tháng 4/2016)

    Lưu ý: Nếu đang phát triển Bản dùng thử N cho nhà phát triển, thì bạn nên sử dụng Bản dùng thử Android Studio 2.1. Android Studio 2.0 không hỗ trợ mọi tính năng cần thiết để nhắm mục tiêu đến Bản dùng thử N.

    Chạy tức thì:

    • Android Studio giờ đây sẽ triển khai các bản dựng sạch nhanh hơn bao giờ hết. Ngoài ra, việc chuyển các thay đổi tăng dần về mã vào trình mô phỏng hoặc thiết bị thực tế giờ đây gần như diễn ra ngay lập tức. Xem lại các bản cập nhật mà không cần triển khai lại bản gỡ lỗi mới hoặc, trong nhiều trường hợp, không cần khởi động lại ứng dụng.
    • Tính năng Chạy tức thì hỗ trợ chuyển các thay đổi sau đây vào ứng dụng đang chạy:
      • Thay đổi đối với việc triển khai một phương thức thực thể hoặc phương thức tĩnh hiện có
      • Thay đổi đối với tài nguyên ứng dụng hiện có
      • Thay đổi đối với mã cấu trúc, chẳng hạn như chữ ký phương thức hoặc một trường tĩnh (cần có thiết bị mục tiêu chạy API cấp 21 trở lên).
    • Hãy đọc tài liệu này để tìm hiểu thêm về tính năng Chạy tức thì.

      Lưu ý: Tính năng Chạy tức thì chỉ được hỗ trợ khi bạn triển khai biến thể xây dựng gỡ lỗi, sử dụng trình bổ trợ Android cho Gradle phiên bản 2.0.0 trở lên và định cấu hình tệp build.gradle ở cấp mô-đun của ứng dụng cho minSdkVersion 15 trở lên. Để có hiệu suất tốt đa, hãy định cấu hình ứng dụng cho minSdkVersion 21 trở lên.

    Những điểm bổ sung mới cho công cụ tìm lỗi mã nguồn:

    • Kiểm tra các câu lệnh switch bằng số nguyên @IntDef có chú giải để đảm bảo mọi hằng số đều được xử lý. Để thêm nhanh mọi câu lệnh bị thiếu, hãy sử dụng trình đơn thả xuống thao tác theo ý định và chọn Add Missing @IntDef Constants (Thêm hằng số @IntDef bị thiếu).
    • Gắn cờ cho những lần thử dùng loại nội suy chuỗi không chính xác để chèn số phiên bản trong tệp build.gradle.
    • Gắn cờ cho các lớp ẩn danh mở rộng lớp Fragment.
    • Gắn cờ cho mã gốc ở các vị trí không an toàn, chẳng hạn như thư mục res/asset/. Cờ này khuyến khích việc lưu trữ mã gốc trong thư mục libs/, sau đó, mã này sẽ được đóng gói một cách an toàn vào thư mục data/app-lib/ của ứng dụng khi cài đặt. AOSP: 169950
    • Gắn cờ cho các lệnh gọi không an toàn đến Runtime.load() và lệnh gọi đến System.load(). AOSP: 179980
    • Tìm và xoá mọi tài nguyên không dùng đến bằng cách chọn Refactor > Remove Unused Resources (Tái cấu trúc > Xoá Tài nguyên không dùng đến) khỏi thanh trình đơn. Tính năng phát hiện tài nguyên không dùng đến giờ đây sẽ chỉ hỗ trợ các tài nguyên được tham chiếu bởi tài nguyên không dùng đến, tài nguyên trong tệp thô, chẳng hạn như tệp tham chiếu hình ảnh .html và thuộc tính tools:keeptools:discard do trình rút gọn tài nguyên Gradle sử dụng, trong khi vẫn tính đến các nhóm tài nguyên không hoạt động (chẳng hạn như tài nguyên được dùng trong các phiên bản bản dựng khác) và xử lý đúng cách việc nhập trường tĩnh.
    • Hãy kiểm tra để đảm bảo rằng các tài liệu tham khảo API ngầm ẩn được hỗ trợ trên mọi nền tảng mà minSdkVersion nhắm mục tiêu đến.
    • Gắn cờ việc sử dụng RecyclerViewParcelable sai cách.
    • Tính năng kiểm tra @IntDef, @IntRange@Size giờ đây cũng sẽ được kiểm tra cho mảng và vararg của int.

    Những điểm cải tiến bổ sung:

    • Tối ưu hoá cho Trình mô phỏng Android 2.0, phiên bản nhanh hơn bao giờ hết, hỗ trợ nhiều thiết bị ảo hơn và có giao diện người dùng được cải thiện đáng kể. Để tìm hiểu thêm về trình mô phỏng mới này, hãy đọc ghi chú phát hành của Bộ công cụ SDK.
    • Những điểm cải tiến cho Trình quản lý Thiết bị Android ảo:
      • Ảnh hệ thống giờ đây sẽ được phân loại theo các thẻ sau: Khuyên dùng, x86Khác.
      • Trong phần cài đặt nâng cao, bạn có thể bật tính năng hỗ trợ nhiều lõi và chỉ định số lượng lõi mà trình mô phỏng có thể sử dụng.
      • Trong phần cài đặt nâng cao, bạn có thể xác định cách kết xuất nội dung đồ hoạ trên trình mô phỏng bằng cách chọn một trong các tuỳ chọn sau:
        • Hardware (Phần cứng): Dùng thẻ đồ hoạ của máy tính để hiển thị nhanh hơn.
        • Software (Phần mềm): Sử dụng chế độ hiển thị dựa trên phần mềm.
        • Auto (Tự động): Để trình mô phỏng quyết định tuỳ chọn phù hợp nhất. Đây là chế độ cài đặt mặc định.
    • Cải thiện thời gian đóng gói AAPT bằng cách xác định mục tiêu triển khai trước khi ứng dụng được tạo. Việc này sẽ giúp Android Studio chỉ đóng gói những tài nguyên mà thiết bị được chỉ định yêu cầu theo cách hiệu quả.
    • Bổ sung tính năng tích hợp Phòng thí nghiệm kiểm tra đám mây để kiểm thử ứng dụng theo yêu cầu nhờ sự tiện lợi và khả năng mở rộng của dịch vụ đám mây. Tìm hiểu thêm về cách bạn có thể dùng Phòng thí nghiệm kiểm tra đám mây với Android Studio.
    • Bổ sung một bản xem trước của Trình gỡ lỗi GPU mới. Đối với các ứng dụng chuyên về đồ hoạ, giờ đây, bạn có thể cung cấp bước thực hiện theo cách trực quan thông qua mã OpenGL ES để tối ưu hoá ứng dụng hoặc trò chơi của mình.
    • Bổ sung hoạt động kiểm thử cho tính năng Lập chỉ mục ứng dụng Google. Thêm tuỳ chọn hỗ trợ cho các URL, chức năng lập chỉ mục ứng dụng và chức năng tìm kiếm đối với ứng dụng để thu hút thêm lưu lượng truy cập vào ứng dụng, khám phá nội dung ứng dụng được dùng nhiều nhất và thu hút người dùng mới. Bạn có thể kiểm tra và xác thực URL trong ứng dụng của mình tất cả ngay trong Android Studio. Hãy xem bài viết Hỗ trợ URL và lập chỉ mục ứng dụng trong Android Studio.
    • Nâng cấp từ bản phát hành IntelliJ 15 mới nhất, bao gồm tính năng cải tiến hiệu suất và thông tin phân tích về mã. Hãy xem bài viết Tính năng mới trong IntelliJ để biết nội dung mô tả đầy đủ về các tính năng và tính năng nâng cao mới.
    • Giờ đây, tính năng tự động hoàn thành của trình chỉnh sửa XML sẽ thêm dấu ngoặc kép khi hoàn thành các thuộc tính. Để kiểm tra xem đã bật tuỳ chọn này hay chưa, hãy mở hộp thoại Setting (Cài đặt) hoặc Preferences (Lựa chọn ưu tiên), chuyển đến Editor > General > Smart Keys (Trình chỉnh sửa > Chung > Khoá thông minh) rồi chọn hộp bên cạnh tuỳ chọn Add quotes for attribute value on attribute completion (Thêm dấu ngoặc kép cho giá trị thuộc tính khi hoàn thành thuộc tính). Vấn đề: 195113
    • Trình chỉnh sửa XML giờ đây sẽ hỗ trợ tính năng hoàn thành mã cho biểu thức liên kết dữ liệu.

    Các bản phát hành cũ