Trình bổ trợ Secrets Gradle

Google kiên quyết khuyên bạn không nên kiểm tra khoá API trong hệ thống quản lý phiên bản. Thay vào đó, hãy lưu trữ khoá API trong tệp secrets.properties cục bộ. Tệp này nằm trong thư mục gốc của dự án nhưng bị loại trừ khỏi hệ thống quản lý phiên bản. Sau đó, hãy dùng Trình bổ trợ Secrets Gradle cho Android để đọc khoá API.

Trình bổ trợ Secrets Gradle cho Android đọc các bí mật, bao gồm cả khoá API, từ một tệp thuộc tính không được kiểm tra trong hệ thống quản lý phiên bản. Sau đó, trình bổ trợ này sẽ hiển thị các thuộc tính đó dưới dạng biến trong lớp BuildConfig do Gradle tạo và trong tệp kê khai Android.

Để xem ví dụ hoàn chỉnh về cách dùng Trình bổ trợ Secrets Gradle cho Android để truy cập khoá API, hãy xem phần Thiết lập dự án Android Studio.

Cài đặt và sử dụng

Cách cài đặt Trình bổ trợ Secrets Gradle cho Android và lưu trữ khoá API:

  1. Trong Android Studio, hãy mở tệp build.gradle.kts hoặc build.gradle ở cấp cao nhất rồi thêm mã sau vào khối plugins.

    Kotlin

    plugins {
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false
    }

    Groovy

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
    }
  2. Mở tệp build.gradle.kts hoặc build.gradle ở cấp mô-đun rồi thêm mã sau vào phần tử plugins.

    Kotlin

    plugins {
        id("com.android.application")
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }

    Groovy

    plugins {
        id 'com.android.application'
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }
  3. Nếu bạn dùng Android Studio, hãy đồng bộ hoá dự án với Gradle.
  4. Mở tệp secrets.properties trong thư mục cấp cao nhất, sau đó thêm mã sau. Thay thế YOUR_API_KEY bằng khoá API của bạn. Hãy nhớ thêm secrets.properties vào tệp .gitignore (hoặc loại trừ tệp này khỏi hệ thống quản lý phiên bản) để bạn không kiểm tra khoá API trong hệ thống quản lý phiên bản.
    PLACES_API_KEY=YOUR_API_KEY
  5. Tạo tệp local.defaults.properties trong thư mục cấp cao nhất, cùng thư mục với tệp secrets.properties, sau đó thêm mã sau.

    PLACES_API_KEY=DEFAULT_API_KEY

    Mục đích của tệp này là cung cấp vị trí sao lưu cho khoá API nếu không tìm thấy tệp secrets.properties để bản dựng không bị lỗi. Điều này có thể xảy ra nếu bạn sao chép ứng dụng từ một hệ thống kiểm soát phiên bản bỏ qua secrets.properties và bạn chưa tạo tệp secrets.properties cục bộ để cung cấp khoá API.

  6. Trong Android Studio, hãy mở tệp ở cấp mô-đun build.gradle.kts hoặc build.gradle rồi chỉnh sửa thuộc tính secrets. Nếu thuộc tính secrets không tồn tại, hãy thêm thuộc tính này.

    Chỉnh sửa các thuộc tính của trình bổ trợ để đặt propertiesFileName thành "secrets.properties", đặt defaultPropertiesFileName thành "local.defaults.properties" và đặt mọi thuộc tính khác.

    Kotlin

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file).
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }

    Groovy

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file).
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }

Bước tiếp theo