Di chuyển sang Android Studio

Để di chuyển các dự án của bạn sang Android Studio, bạn phải thích ứng với một cấu trúc dự án mới, hệ thống xây dựng mới và chức năng IDE mới. Nếu bạn đang di chuyển một dự án Android từ Eclipse, Android Studio sẽ cung cấp một công cụ nhập để bạn có thể nhanh chóng chuyển mã hiện có vào các dự án Android Studio và tệp bản dựng dựa trên Gradle. Để biết thêm thông tin, hãy xem phần Di chuyển từ Eclipse.

Nếu bạn đang di chuyển từ IntelliJ và dự án của bạn đã sử dụng Gradle, bạn chỉ cần mở dự án hiện có của mình từ Android Studio. Nếu bạn đang sử dụng IntelliJ nhưng dự án của bạn chưa sử dụng Gradle, bạn sẽ cần một vài bước chuẩn bị thủ công trước khi có thể nhập dự án của mình vào Android Studio. Để biết thêm thông tin, hãy xem phần Di chuyển từ IntelliJ.

Cơ bản về Android Studio

Dưới đây là một số điểm khác biệt chính mà bạn cần lưu ý khi chuẩn bị chuyển sang Android Studio.

Sắp xếp dự án và mô-đun

Android Studio dựa trên IDE IntelliJ IDEA. Để làm quen với các khái niệm cơ bản về IDE, chẳng hạn như thao tác di chuyển, hoàn thành mã và phím tắt, hãy xem bài viết Tiếp xúc với Android Studio.

Android Studio không sử dụng không gian làm việc (workspace), vì vậy bạn sẽ mở các dự án riêng biệt trong các cửa sổ Android Studio riêng biệt. Android Studio sắp xếp mã thành các dự án, trong đó có mọi thành phần cấu thành nên ứng dụng Android của bạn, từ mã nguồn ứng dụng cho đến cấu hình bản dựng và mã kiểm thử. Mỗi dự án chứa một hoặc nhiều mô-đun, cho phép bạn phân chia dự án của mình thành các đơn vị chức năng riêng biệt. Bạn có thể tạo, kiểm thử và gỡ lỗi độc lập các mô-đun.

Để biết thêm thông tin về các dự án và mô-đun của Android Studio, hãy xem phần Tổng quan về các dự án.

Hệ thống xây dựng dựa trên Gradle

Hệ thống bản dựng của Android Studio dựa trên Gradle và sử dụng các tệp cấu hình bản dựng được viết theo cú pháp Groovy để dễ dàng mở rộng và tuỳ chỉnh.

Các dự án dựa trên Gradle giới thiệu các tính năng quan trọng để phát triển Android, bao gồm các tính năng sau:

  • Hỗ trợ các thư viện nhị phân (AAR). Bạn không cần phải sao chép các nguồn của thư viện vào dự án, mà chỉ cần khai báo phần phụ thuộc, sau đó thư viện sẽ tự động được tải xuống và hợp nhất vào dự án của bạn. Điều này bao gồm việc tự động hợp nhất các tài nguyên, các mục nhập tệp kê khai, các quy tắc loại trừ Proguard, các quy tắc tuỳ chỉnh về mã nguồn, v.v. tại thời điểm tạo bản dựng.
  • Hỗ trợ các biến thể bản dựng. Chẳng hạn, các biến thể bản dựng cho phép bạn tạo nhiều phiên bản khác nhau của ứng dụng (như phiên bản miễn phí và phiên bản chuyên nghiệp) từ cùng một dự án.
  • Dễ dàng cấu hình bản dựng và tuỳ chỉnh. Chẳng hạn, bạn có thể lấy tên phiên bản và mã phiên bản từ các thẻ Git như một phần của bản dựng.
  • Bạn có thể sử dụng Gradle từ IDE nhưng cũng có thể sử dụng từ dòng lệnh và từ các máy chủ tích hợp liên tục như Jenkins, cung cấp cùng một bản dựng ở mọi nơi, mọi lúc.

Để biết thêm thông tin về cách sử dụng và định cấu hình Gradle, hãy xem bài viết Định cấu hình bản dựng của bạn.

Phần phụ thuộc

Các phần phụ thuộc thư viện trong Android Studio sẽ sử dụng các khai báo phần phụ thuộc Gradle và các phần phụ thuộc Maven đối với các thư viện nguồn cục bộ và các thư viện nhị phân phổ biến thông qua toạ độ Maven. Để biết thêm thông tin, hãy xem bài viết Định cấu hình các biến thể bản dựng.

Kiểm thử mã

Với Eclipse ADT, các quy trình kiểm thử đo lường được viết trong các dự án riêng biệt và được tích hợp thông qua phần tử <instrumentation> trong tệp kê khai của bạn. Android Studio cung cấp một thư mục androidTest/ trong nhóm tài nguyên chính của dự án để bạn có thể dễ dàng thêm và duy trì mã kiểm thử đo lường của mình trong cùng một chế độ xem dự án. Android Studio cũng cung cấp một thư mục test/ trong nhóm tài nguyên chính của dự án để kiểm thử máy ảo JVM cục bộ.

Di chuyển từ Eclipse

Android Studio cung cấp công cụ nhập tự động dành cho các dự án Android hiện có được tạo bằng Eclipse.

Điều kiện tiên quyết để di chuyển

Trước khi chuyển ứng dụng từ Eclipse sang Android Studio, hãy xem lại các bước sau đây để đảm bảo rằng dự án của bạn đã sẵn sàng chuyển đổi và xác minh rằng bạn đã có cấu hình công cụ cần thiết trong Android Studio:

Trong Eclipse ADT:

  • Hãy đảm bảo rằng thư mục gốc của Eclipse ADT có chứa tệp AndroidManifest.xml. Ngoài ra, thư mục gốc đó phải chứa các tệp .project.classpath từ Eclipse hoặc các thư mục res/src/.
  • Tạo bản dựng dự án của bạn để đảm bảo không gian làm việc và các bản cập nhật dự án mới nhất của bạn được lưu và đưa vào quá trình nhập.
  • Đánh dấu nội dung nhận xét bất kỳ tham chiếu nào đến các tệp thư viện không gian làm việc Eclipse ADT trong các tệp project.properties hoặc tệp .classpath để nhập. Bạn có thể thêm các tham chiếu này trong tệp build.gradle sau khi nhập. Để biết thêm thông tin, hãy xem bài viết Định cấu hình bản dựng của bạn.
  • Bạn nên ghi lại thư mục không gian làm việc, các biến đường dẫn và mọi bản đồ đường dẫn thực tế có thể dùng để chỉ định các đường dẫn tương đối, biến đường dẫn và tham chiếu tài nguyên liên kết chưa được phân giải. Android Studio cho phép bạn chỉ định mọi đường dẫn chưa được giải quyết theo cách thủ công trong quá trình nhập.

Trong Android Studio:

  • Nếu bạn chưa có, hãy tải Android Studio xuống. Nếu bạn đã có Android Studio, hãy xác minh rằng đó là bản phát hành ổn định mới nhất bằng cách nhấn vào Trợ giúp > Kiểm tra bản cập nhật (Help > Check for Updates). / Trên Mac: Android Studio > Kiểm tra bản cho cập nhật (Android Studio > Check for Updates).
  • Hãy lưu ý đến các trình bổ trợ của bên thứ ba mà bạn sử dụng trong Eclipse vì Android Studio không di chuyển mọi trình bổ trợ Eclipse ADT của bên thứ ba. Bạn có thể kiểm tra các tính năng tương đương trong Android Studio hoặc tìm một trình bổ trợ tương thích trong kho lưu trữ trình bổ trợ IntelliJ dành cho Android Studio. Sử dụng tuỳ chọn của trình đơn Tệp > Cài đặt >Trình bổ trợ (File > Settings >Plugins) để quản lý trình bổ trợ trong Android Studio.
  • Nếu bạn định chạy Android Studio sau một tường lửa, hãy nhớ thiết lập các chế độ cài đặt proxy cho Android Studio và Trình quản lý SDK. Android Studio yêu cầu kết nối Internet để đồng bộ hoá Trình hướng dẫn thiết lập, truy cập thư viện bên thứ ba, truy cập các kho lưu trữ từ xa, khởi chạy và đồng bộ hoá Gradle, cũng như cập nhật phiên bản Android Studio. Để biết thêm thông tin, hãy xem bài viết Cài đặt proxy.

Nhập dự án Eclipse vào Android Studio

Tuỳ thuộc vào cấu trúc các dự án Eclipse ADT hiện có mà bạn sẽ quyết định cách nhập các dự án đó:

  • Nếu bạn có nhiều dự án có liên quan chia sẻ cùng một không gian làm việc trong Eclipse ADT, hãy nhập dự án đầu tiên dưới dạng một dự án, sau đó lần lượt thêm các dự án có liên quan tiếp theo dưới dạng các mô-đun trong dự án đó.
  • Nếu các dự án Eclipse ADT của bạn chia sẻ các phần phụ thuộc trong cùng một không gian làm việc nhưng không liên quan đến nhau, hãy nhập từng dự án Eclipse ADT vào Android Studio dưới dạng một dự án riêng lẻ. Android Studio duy trì các phần phụ thuộc chia sẻ trong các dự án mới tạo, đây là một phần của quy trình nhập.
  • Nếu dự án Eclipse ADT của bạn có chứa các thư viện gốc (C/C++), hãy xem Liên kết Gradle với thư viện gốc của bạn để được hướng dẫn cách đưa thư viện gốc vào làm phần phụ thuộc bản dựng Gradle.

Nhập dưới dạng dự án:

  1. Khởi động Android Studio và đóng mọi dự án Android Studio đang mở.
  2. Từ trình đơn của Android Studio, hãy nhấp vào Tệp > Mới > Nhập dự án (File > New > Import Project).
    • Ngoài ra, trên màn hình Chào mừng (Welcome), hãy nhấp vào Nhập dự án (Eclipse ADT, Gradle, v.v.).
  3. Chọn thư mục dự án Eclipse ADT với tệp AndroidManifest.xml rồi nhấp vào OK.

  4. Chọn thư mục đích và nhấp vào Tiếp theo (Next).

  5. Chọn các tuỳ chọn nhập và nhấp vào Hoàn tất (Finish).
  6. Quy trình nhập sẽ nhắc bạn di chuyển mọi thư viện và phần phụ thuộc của dự án sang Android Studio, cũng như thêm các phần khai báo phần phụ thuộc vào tệp build.gradle. Hãy xem bài viết Tạo thư viện Android để biết thêm thông tin về quy trình này.

    Quy trình nhập cũng thay thế mọi thư viện nguồn phổ biến, thư viện tệp nhị phân và tệp JAR đã xác định được toạ độ Maven bằng các phần phụ thuộc Maven, do đó bạn không cần phải duy trì những phần phụ thuộc này theo cách thủ công nữa. Các tuỳ chọn nhập cũng cho phép bạn nhập thư mục không gian làm việc và mọi bản đồ đường dẫn thực tế để xử lý mọi đường dẫn tương đối, biến đường dẫn và tham chiếu tài nguyên liên kết chưa phân giải.

  7. Android Studio sẽ nhập ứng dụng và hiển thị bản tóm tắt nhập dự án. Xem lại bản tóm tắt để biết chi tiết về việc tái cấu trúc dự án và quy trình nhập.

Sau khi nhập dự án từ Eclipse ADT vào Android Studio, mỗi thư mục mô-đun ứng dụng trong Android Studio sẽ chứa nhóm tài nguyên hoàn chỉnh dành cho mô-đun đó, bao gồm các thư mục src/main/src/androidTest/, tài nguyên, tệp bản dựng và tệp kê khai Android. Trước khi bắt đầu phát triển ứng dụng, bạn nên giải quyết mọi vấn đề được chỉ ra trong bản tóm tắt nhập dự án để đảm bảo rằng quy trình tái cấu trúc và nhập dự án hoàn tất đúng cách.

Nhập dưới dạng mô-đun:

  1. Khởi động Android Studio và mở dự án mà bạn muốn thêm mô-đun vào.
  2. Từ trình đơn Android Studio, hãy nhấp vào Tệp > Mới > Nhập mô-đun (File > New > Import Module).
  3. Chọn thư mục dự án Eclipse ADT với tệp AndroidManifest.xml rồi nhấp vào OK.
  4. Sửa đổi tên mô-đun (nếu muốn), rồi nhấp vào Tiếp theo (Next).
  5. Quy trình nhập sẽ nhắc bạn di chuyển mọi thư viện và phần phụ thuộc của dự án sang Android Studio, cũng như thêm các phần khai báo phần phụ thuộc vào tệp build.gradle. Để tìm hiểu thêm về cách di chuyển thư viện và các phần phụ thuộc của dự án, hãy xem phần Tạo thư viện Android. Quy trình nhập cũng thay thế mọi thư viện nguồn phổ biến, thư viện tệp nhị phân và tệp JAR đã xác định được toạ độ Maven bằng các phần phụ thuộc Maven, do đó bạn không cần phải duy trì những phần phụ thuộc này theo cách thủ công nữa. Các tuỳ chọn nhập cũng cho phép bạn nhập thư mục không gian làm việc và mọi bản đồ đường dẫn thực tế để xử lý mọi đường dẫn tương đối, biến đường dẫn và tham chiếu tài nguyên liên kết chưa phân giải.
  6. Nhấp vào Hoàn tất (Finish).

Xác thực dự án đã nhập

Sau khi hoàn tất quy trình nhập, hãy sử dụng các tuỳ chọn từ trình đơn Build (Tạo bản dựng) và Run (Chạy) của Android Studio để tạo bản dựng dự án của bạn và xác minh kết quả đầu ra. Nếu dự án của bạn không tạo bản dựng đúng cách, hãy kiểm tra các chế độ cài đặt sau:

  • Xác minh xem các phiên bản đã cài đặt của các công cụ có khớp với các chế độ cài đặt của dự án Eclipse bằng cách mở Trình quản lý SDK (SDK Manager) (nhấp vào nút Trình quản lý SDK Android (Android SDK Manager) trong Android Studio hoặc Công cụ > Trình quản lý SDK (Tools > SDK Manager)). Android Studio thừa kế các chế độ cài đặt Trình quản lý SDK và JDK từ dự án Eclipse mà bạn đã nhập.
  • Để xác minh thêm các chế độ cài đặt khác của Android Studio, hãy nhấp vào Tệp > Cấu trúc dự án (File > Project Structure) rồi kiểm tra những phần sau:

    • Trong phần Vị trí SDK (SDK Location), hãy xác minh rằng Android Studio có quyền truy cập chính xác vào các vị trí và phiên bản của SDK, NDK và JDK.

    Lưu ý: Đối với chế độ cài đặt mặc định, Eclipse ADT sẽ cài đặt SDK Android trong User\user-name\android-sdks\ trên Windows, và Users/user-name/Library/Android/sdk/ trên Mac.

    • Trong phần Dự án (Project), hãy xác minh phiên bản Gradle, phiên bản trình bổ trợ Android và các kho lưu trữ có liên quan.
    • Trong phần Mô-đun (Modules) xác minh chế độ cài đặt mô-đun và ứng dụng, chẳng hạn như phần phụ thuộc vào cấu hình và thư viện.
  • Nếu dự án của bạn phụ thuộc vào một dự án khác, hãy đảm bảo rằng bạn khai báo chính xác phần phụ thuộc trong tệp build.gradle trong thư mục mô-đun ứng dụng. Để biết thêm thông tin về việc khai báo các phần phụ thuộc, hãy xem bài viết Định cấu hình các biến thể bản dựng.

Sau khi đã kiểm tra các chế độ cài đặt này, nếu bạn vẫn gặp các lỗi ngoài dự kiến khi tạo bản dựng và chạy dự án trong Android Studio, hãy cân nhắc sửa đổi dự án Eclipse ADT và bắt đầu lại quá trình nhập.

Lưu ý: Việc nhập dự án Eclipse ADT vào Android Studio sẽ tạo ra một dự án Android Studio mới và không ảnh hưởng đến dự án Eclipse ADT hiện tại.

Di chuyển từ IntelliJ

Nếu dự án IntelliJ của bạn sử dụng hệ thống xây dựng Gradle, bạn có thể tự động nhập dự án trực tiếp vào Android Studio. Nếu dự án IntelliJ của bạn sử dụng Maven hoặc một hệ thống xây dựng khác, bạn cần thiết lập để dự án đó có thể hoạt động với Gradle trước khi chuyển sang Android Studio.

Nhập dự án IntelliJ dựa trên Gradle

Nếu đang dùng Gradle với dự án IntelliJ của mình, bạn có thể mở dự án này trong Android Studio bằng cách làm theo các bước sau:

  1. Nhấp vào File > New > Import Project (Tệp > Mới > Nhập dự án).
  2. Chọn thư mục dự án IntelliJ của bạn và nhấp OK. Dự án của bạn sẽ mở trong Android Studio.

Nhập dự án IntelliJ không phải Gradle

Nếu dự án IntelliJ của bạn chưa sử dụng hệ thống xây dựng Gradle, bạn có hai tuỳ chọn để nhập dự án vào Android Studio:

Di chuyển bằng cách tạo một dự án trống mới

Để di chuyển dự án của bạn sang Android Studio bằng cách tạo một dự án trống mới và sao chép các tệp nguồn vào các thư mục mới, hãy tiến hành như sau:

  1. Mở Android Studio rồi nhấp vào Tệp > Mới > Dự án mới (File > New > New Project).
  2. Nhập tên dự án ứng dụng của bạn và chỉ định vị trí tạo dự án, sau đó nhấp vào Tiếp theo (Next).
  3. Chọn các hệ số hình dạng (form factor) mà ứng dụng của bạn sẽ chạy trên đó, sau đó nhấp vào Tiếp theo (Next).
  4. Nhấp vào Không thêm hoạt động nào (Add No Activity), sau đó nhấp vào Hoàn tất (Finish).
  5. Trong cửa sổ công cụ Dự án (Project), hãy nhấp vào mũi tên để mở trình đơn thả xuống về các chế độ xem, rồi chọn chế độ xem Dự án (Project) để xem và khám phá cách tổ chức dự án Android Studio mới của bạn. Nếu muốn đọc thêm về việc thay đổi chế độ xem và cấu trúc các dự án Android Studio, hãy xem phần Tệp dự án.
  6. Chuyển đến vị trí mà bạn đã chọn cho dự án mới và di chuyển mã, các quy trình kiểm thử đơn vị và kiểm thử đo lường cũng như các tài nguyên từ các thư mục dự án cũ vào đúng vị trí trong cấu trúc dự án mới.
  7. Trong Android Studio, hãy nhấp vào Tệp > Cấu trúc dự án (File > Project Structure) để mở hộp thoại Cấu trúc dự án (Project Structure). Đảm bảo rằng mô-đun của ứng dụng được chọn ở ngăn bên trái.
  8. Thực hiện mọi sửa đổi cần thiết cho dự án của bạn trong thẻ Thuộc tính (Properties) (chẳng hạn, sửa đổi minSdkVersion hoặc targetSdkVersion).
  9. Nhấp vào Phần phụ thuộc (Dependencies) và thêm mọi thư viện mà dự án của bạn phụ thuộc vào dưới dạng phần phụ thuộc Gradle. Để thêm phần phụ thuộc mới, hãy nhấp vào phần Thêm (Add) , sau đó chọn kiểu phần phụ thuộc mà bạn muốn thêm và làm theo lời nhắc.
  10. Nhấp vào OK để lưu nội dung sửa đổi.
  11. Nhấp vào Bản dựng > Tạo dự án (Build > Make Project) để thử nghiệm tạo bản dựng dự án của bạn và xử lý các lỗi còn tồn đọng.

Di chuyển bằng cách tạo tệp bản dựng Gradle tuỳ chỉnh

Để di chuyển dự án của bạn sang Android Studio bằng cách tạo một tệp bản dựng Gradle mới trỏ đến các tệp nguồn hiện có, hãy tiến hành như sau:

  1. Trước khi bắt đầu, hãy nhớ sao lưu các tệp dự án của bạn ở một vị trí riêng biệt, vì quy trình di chuyển sẽ sửa đổi nội dung của dự án.
  2. Tiếp theo, tạo một tệp trong thư mục dự án của bạn có tên là build.gradle. Tệp build.gradle sẽ chứa tất cả thông tin cần thiết để Gradle chạy bản dựng của bạn.

    Theo mặc định, Android Studio dự kiến rằng dự án của bạn sẽ được sắp xếp như minh hoạ trong hình 1.

    Hình 1. Cấu trúc dự án mặc định của mô-đun ứng dụng Android.

    Vì dự án IntelliJ của bạn không sử dụng cùng một cấu trúc, nên tệp build.gradle cần chỉ ra các thư mục nguồn của bản dựng đến các thư mục hiện có (chẳng hạn,res/src/) thay vì cấu trúc thư mục mới mặc định. Tệp build.gradle trong ví dụ sau đây chứa nội dung thiết lập cơ bản cho bản dựng Gradle, cũng như một khối sourceSets{} bên trong khối android{} để khai báo chính xác các thư mục nguồn và di chuyển các quy trình kiểm thử và kiểu bản dựng để tránh xung đột về tên. Sao chép khối mã bên dưới vào tệp build.gradle và thực hiện mọi thay đổi cần thiết để chế độ thiết lập dự án hiện tại của bạn đi vào hoạt động. Chẳng hạn, bạn có thể đưa vào thêm các phần phụ thuộc bổ sung, sử dụng phiên bản SDK mục tiêu khác, hoặc cần phải chỉ định nhiều vị trí khác nhau cho các thư mục nguồn.

    Groovy

    // This buildscript{} block configures the code driving the build
    buildscript {
       /**
        * The nested repositories{} block declares that this build uses the
        * jcenter repository.
        */
        repositories {
            jcenter()
        }
    
       /**
        * This block declares a dependency on the 7.2.0 version
        * of the Gradle plugin for the buildscript.
        */
        dependencies {
            classpath 'com.android.tools.build:gradle:7.2.0'
        }
    }
    
    /**
     * This line applies the com.android.application plugin. Note that you should
     * only apply the com.android.application plugin. Applying the Java plugin as
     * well will result in a build error.
     */
    plugins {
      id 'com.android.application'
    }
    
    /**
     * This dependencies block includes any dependencies for the project itself. The
     * following line includes all the JAR files in the libs directory.
     */
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        // Add other library dependencies here (see the next step)
    }
    
    /**
     * The android{} block configures all of the parameters for the Android build.
     * You must provide a value for at least the compilation target.
     */
    android {
        compileSdkVersion 28
    
        /**
        * This nested sourceSets block points the source code directories to the
        * existing folders in the project, instead of using the default new
        * organization.
        */
        sourceSets {
            main {
                manifest.srcFile 'AndroidManifest.xml'
                java.srcDirs = ['src']
                resources.srcDirs = ['src']
                aidl.srcDirs = ['src']
                renderscript.srcDirs = ['src']
                res.srcDirs = ['res']
                assets.srcDirs = ['assets']
            }
    
            // Move the tests to tests/java, tests/res, etc...
            instrumentTest.setRoot('tests')
    
           /**
            * Move the build types to build-types/<type>
            * For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
            * This moves them out of them default location under src/<type>/... which would
            * conflict with src/ being used by the main source set.
            * Adding new build types or product flavors should be accompanied
            * by a similar customization.
            */
            debug.setRoot('build-types/debug')
            release.setRoot('build-types/release')
         }
    }

    Kotlin

    // This buildscript{} block configures the code driving the build
    buildscript {
       /**
        * The nested repositories{} block declares that this build uses the
        * jcenter repository.
        */
        repositories {
            jcenter()
        }
    
       /**
        * This block declares a dependency on the 7.2.0 version
        * of the Gradle plugin for the buildscript.
        */
        dependencies {
            classpath("com.android.tools.build:gradle:7.2.0")
        }
    }
    
    /**
     * This section applies the com.android.application plugin. Note that you
     * should only apply the com.android.application plugin. Applying the Java
     * plugin as well will result in a build error.
     */
    plugins {
        id("com.android.application")
    }
    
    /**
     * This dependencies block includes any dependencies for the project itself. The
     * following line includes all the JAR files in the libs directory.
     */
    dependencies {
        implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
        // Add other library dependencies here (see the next step)
    }
    
    /**
     * The android{} block configures all of the parameters for the Android build.
     * You must provide a value for at least the compilation target.
     */
    android {
        compileSdkVersion(28)
    
        /**
        * This nested sourceSets block points the source code directories to the
        * existing folders in the project, instead of using the default new
        * organization.
        */
        sourceSets {
            getByName("main") {
                manifest.srcFile("AndroidManifest.xml")
                java.srcDirs("src")
                resources.srcDirs("src")
                aidl.srcDirs("src")
                renderscript.srcDirs("src")
                res.srcDirs("res")
                assets.srcDirs("assets")
            }
    
            // Move the tests to tests/java, tests/res, etc...
            getByName("instrumentTest").setRoot("tests")
    
           /**
            * Move the build types to build-types/<type>
            * For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
            * This moves them out of them default location under src/<type>/... which would
            * conflict with src/ being used by the main source set.
            * Adding new build types or product flavors should be accompanied
            * by a similar customization.
            */
            getByName("debug").setRoot('build-types/debug')
            getByName("release").setRoot('build-types/release')
         }
    }

    Cảnh báo: Kho lưu trữ JCenter chuyển sang chế độ chỉ đọc từ ngày 31 tháng 3 năm 2021. Để biết thêm thông tin, hãy xem bài viết Cập nhật Dịch vụ JCenter.

    Để biết thêm thông tin về cách thiết lập và tuỳ chỉnh tệp bản dựng Gradle, hãy đọc bài viết Định cấu hình bản dựng của bạn.
  3. Tiếp theo, hãy xác định bạn đang sử dụng dự án thư viện nào. Với Gradle, bạn không cần thêm các thư viện này dưới dạng dự án mã nguồn nữa mà có thể tham chiếu đến những thư viện này trong khối dependencies{} của tệp bản dựng. Sau đó, hệ thống xây dựng sẽ xử lý các thư viện này cho bạn, bao gồm tải thư viện xuống, hợp nhất các tài nguyên và hợp nhất các mục nhập tệp kê khai. Ví dụ sau đây thêm các câu lệnh khai báo cho Dịch vụ Google Play và một số thư viện hỗ trợ vào khối dependencies{} được hiển thị trong tệp bản dựng của ví dụ ở trên.

    Groovy

    ...
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
    
        // Google Play Services
        compile 'com.google.android.gms:play-services:9.8.0'
    
        // Support Libraries
        compile 'com.android.support:appcompat-v7:28.0.0'
        compile 'com.android.support:cardview-v7:28.0.0'
        compile 'com.android.support:design:28.0.0'
        compile 'com.android.support:gridlayout-v7:28.0.0'
        compile 'com.android.support:leanback-v17:28.0.0'
        compile 'com.android.support:mediarouter-v7:28.0.0'
        compile 'com.android.support:palette-v7:28.0.0'
        compile 'com.android.support:recyclerview-v7:28.0.0'
        compile 'com.android.support:support-annotations:28.0.0'
        compile 'com.android.support:support-v13:28.0.0'
        compile 'com.android.support:support-v4:28.0.0'
    
        // Note: these libraries require the "Google Repository" and "Android Repository"
        //       to be installed via the SDK manager.
    }

    Kotlin

    ...
    dependencies {
        implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
    
        // Google Play Services
        implementation("com.google.android.gms:play-services:9.8.0")
    
        // Support Libraries
        implementation("com.android.support:appcompat-v7:28.0.0")
        implementation("com.android.support:cardview-v7:28.0.0")
        implementation("com.android.support:design:28.0.0")
        implementation("com.android.support:gridlayout-v7:28.0.0")
        implementation("com.android.support:leanback-v17:28.0.0")
        implementation("com.android.support:mediarouter-v7:28.0.0")
        implementation("com.android.support:palette-v7:28.0.0")
        implementation("com.android.support:recyclerview-v7:28.0.0")
        implementation("com.android.support:support-annotations:28.0.0")
        implementation("com.android.support:support-v13:28.0.0")
        implementation("com.android.support:support-v4:28.0.0")
    
        // Note: these libraries require the "Google Repository" and "Android Repository"
        //       to be installed via the SDK manager.
    }
    Để giúp bạn xác định chính xác các câu lệnh khai báo cho các thư viện, trang hỗ trợ "Gradle, please" có thể cung cấp cho bạn các câu lệnh khai báo chính xác dựa trên Trung tâm Maven (Maven Central).
  4. Lưu tệp build.gradle, sau đó đóng dự án trong IntelliJ. Chuyển đến thư mục của dự án và xoá thư mục .idea cũng như mọi tệp .iml bên trong dự án của bạn.
  5. Chạy Android Studio và nhấp vào Tệp > Mới > Nhập Dự án (File > New > Import Project).
  6. Tìm thư mục dự án của bạn, nhấp vào tệp build.gradle mà bạn đã tạo ở trên để chọn tệp này, sau đó nhấp vào OK để nhập dự án của bạn.
  7. Nhấp vào Bản dựng > Tạo dự án (Build > Make Project) để kiểm thử tệp bản dựng của bạn bằng cách tạo bản dựng dự án và khắc phục mọi lỗi được tìm thấy.

Bước tiếp theo

Sau khi đã chuyển dự án của mình sang Android Studio, bạn hãy đọc bài viết Tạo bản dựng và chạy ứng dụng để tìm hiểu thêm về việc tạo bản dựng bằng Gradle và chạy ứng dụng của bạn trong Android Studio.

Tuỳ thuộc vào dự án và quy trình công việc của mình, bạn cũng nên đọc thêm về việc sử dụng tính năng quản lý phiên bản, quản lý các phần phụ thuộc, ký và đóng gói ứng dụng hoặc định cấu hình và cập nhật Android Studio. Để bắt đầu sử dụng Android Studio, hãy đọc bài viết Làm quen với Android Studio.

Định cấu quản lý phiên bản

Android Studio hỗ trợ nhiều hệ thống quản lý phiên bản, trong đó có Git, GitHub, CVS, Mercurial, Subversion và Kho lưu trữ nguồn trên đám mây Google Cloud (Google Cloud Source Repositories).

Sau khi nhập ứng dụng của bạn vào Android Studio, hãy sử dụng các tuỳ chọn từ trình đơn VCS của Android Studio để bật tính năng hỗ trợ VCS cho hệ thống quản lý phiên bản mà bạn muốn, tạo kho lưu trữ, nhập các tệp mới vào quy trình quản lý phiên bản và thực hiện các hoạt động quản lý phiên bản khác:

  1. Từ trình đơn VCS của Android Studio, hãy nhấp vào Bật tích hợp Kiểm soát phiên bản (Enable Version Control Integration).
  2. Chọn một hệ thống quản lý phiên bản để liên kết với thư mục gốc của dự án từ trình đơn thả xuống, sau đó nhấp vào OK. Trình đơn VCS giờ đây hiển thị một số tuỳ chọn quản lý phiên bản dựa trên hệ thống bạn đã chọn.

Lưu ý: Bạn cũng có thể sử dụng tùy chọn trên trình đơn Tệp > Cài đặt > Quản lý phiên bản (File > Settings > Version Control) để thiết lập và sửa đổi các chế độ cài đặt quản lý phiên bản.

Để biết thêm thông tin về tính năng Quản lý phiên bản, hãy xem Tài liệu tham khảo về quản lý phiên bản IntelliJ.

Kho lưu trữ Hỗ trợ Android và kho lưu trữ Dịch vụ Google Play

Mặc dù Eclipse ADT sử dụng Thư viện hỗ trợ Android và Thư viện Dịch vụ Google Play, nhưng Android Studio thay thế các thư viện này trong quá trình nhập bằng Kho lưu trữ hỗ trợ Android và Kho lưu trữ Google để duy trì chức năng tương thích cũng như hỗ trợ các tính năng Android mới. Android Studio thêm các phần phụ thuộc này dưới dạng các phần phụ thuộc Maven sử dụng các toạ độ Maven đã biết; vì vậy, các phần phụ thuộc này không còn yêu cầu cập nhật theo cách thủ công.

Trong Eclipse, để sử dụng một Thư viện hỗ trợ, bạn phải sửa đổi các phần phụ thuộc trên đường dẫn lớp của dự án trong môi trường phát triển đối với từng Thư viện hỗ trợ bạn muốn sử dụng. Trong Android Studio, bạn không cần sao chép các nguồn thư viện vào dự án của mình nữa, mà chỉ cần khai báo phần phụ thuộc; sau đó thư viện sẽ tự động được tải xuống và hợp nhất vào dự án của bạn. Điều này bao gồm việc tự động hợp nhất các tài nguyên, các mục nhập tệp kê khai, các quy tắc loại trừ ProGuard và các quy tắc tìm lỗi mã nguồn tuỳ chỉnh tại thời điểm tạo bản dựng. Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Định cấu hình các biến thể bản dựng.

Ký ứng dụng

Nếu ứng dụng của bạn sử dụng chứng chỉ gỡ lỗi trong Eclipse ADT, Android Studio sẽ tiếp tục tham chiếu chứng chỉ đó. Nếu không, cấu hình gỡ lỗi sẽ sử dụng kho khoá gỡ lỗi tạo bởi Android Studio, với một mật khẩu đã biết và một khoá mặc định có mật khẩu đã biết nằm trong $HOME/.android/debug.keystore. Kiểu bản dựng gỡ lỗi được thiết lập để tự động sử dụng cấu hình gỡ lỗi này khi bạn chạy hoặc gỡ lỗi dự án của bạn từ Android Studio.

Khi bạn tạo bản dựng ứng dụng để phát hành, Android Studio sẽ áp dụng chứng chỉ phát hành đã dùng trong Eclipse ADT. Nếu không tìm thấy chứng chỉ phát hành nào trong quá trình nhập, hãy thêm cấu hình ký phát hành vào tệp build.gradle hoặc sử dụngXây dựng > Tạo APK đã ký (Generate Signed APK) để mở trình đơn Trình hướng dẫn tạo APK đã ký (Generate Signed APK Wizard). Để biết thêm thông tin về việc ký ứng dụng, hãy xem phần Ký ứng dụng.

Điều chỉnh kích thước vùng nhớ khối xếp tối đa của Android Studio

Theo mặc định, Android Studio có kích thước vùng nhớ khối xếp tối đa là 1280MB. Nếu đang làm việc trên một dự án lớn, hoặc hệ thống của bạn có dung lượng RAM lớn, bạn có thể cải thiện hiệu năng bằng cách tăng kích thước vùng nhớ khối xếp tối đa.

Cập nhật phần mềm

Android Studio sẽ cập nhật riêng biệt với trình bổ trợ Gradle, các công cụ bản dựng và các công cụ SDK. Bạn có thể chỉ định các phiên bản trình bổ trợ và công cụ mà mình muốn sử dụng với Android Studio.

Theo mặc định, Android Studio cung cấp các bản cập nhật tự động bất cứ khi nào phiên bản ổn định mới được phát hành, nhưng bạn cũng có thể chọn cập nhật thường xuyên hơn và nhận được các phiên bản thử nghiệm hoặc beta.

Để biết thêm thông tin về việc cập nhật Android Studio cũng như việc sử dụng các phiên bản thử nghiệm và beta, hãy xem bài viết Luôn cập nhật.