Giải pháp chuyển đổi số trọn gói cho doanh nghiệp Việt

Hệ thống build sản phẩm như thế nào - Tài liệu lập trình android

Tài liệu lập trình android

← Toàn bộ tài liệu


Bước 32: Hệ thống build sản phẩm như thế nào

Bài 32/36 Xem dạng sách

Gói ứng dụng Android (APK) là định dạng tệp gói để phân phối và cài đặt ứng dụng di động Android. Quá trình xây dựng bao gồm các công cụ và quy trình tự động chuyển đổi từng dự án thành APK.

Android Studio sử dụng Gradle làm nền tảng của hệ thống xây dựng, với nhiều khả năng dành riêng cho Android hơn được cung cấp bởi Plugin Android dành cho Gradle. Hệ thống xây dựng này chạy như một công cụ tích hợp từ menu Android Studio.

Hiểu tệp build.gradle

Khi bạn tạo một dự án, Android Studio sẽ tự động tạo các tệp bản dựng cần thiết trong thư mục Gradle Scripts trong Project: Android view. Các tệp bản dựng Android Studio được đặt tên build.gradle như hình bên dưới:tập lệnh lớp

Mỗi dự án có những điều sau đây:

build.gradle (Dự án: apptitle )

Đây là tệp xây dựng cấp cao nhất cho toàn bộ dự án, nằm trong thư mục gốc của dự án, xác định các cấu hình xây dựng áp dụng cho tất cả các mô-đun trong dự án của bạn. Không được chỉnh sửa tệp này do Android Studio tạo để bao gồm các thành phần phụ thuộc của ứng dụng.

build.gradle (Mô-đun: ứng dụng)

Android Studio tạo build.gradle (Module: app)các tệp riêng biệt cho từng mô-đun. Bạn có thể chỉnh sửa cài đặt bản dựng để cung cấp các tùy chọn đóng gói tùy chỉnh cho từng mô-đun, chẳng hạn như loại bản dựng bổ sung và hương vị sản phẩm, đồng thời ghi đè cài đặt trong tệp kê khai hoặc tệp build.gradle cấp cao nhất. Tệp này thường là tệp cần chỉnh sửa nhất khi thay đổi cấu hình cấp ứng dụng, chẳng hạn như khai báo các thành phần phụ thuộc trong phần dependencies. Phần sau đây hiển thị nội dung của build.gradle (Module: app)tệp dự án:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.1"
    defaultConfig {
        applicationId "com.example.android.helloworld2"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
}

Các tệp build.gradle sử dụng cú pháp Gradle. Gradle là Ngôn ngữ dành riêng cho miền (DSL) để mô tả và thao tác logic xây dựng bằng Groovy , đây là ngôn ngữ động cho Máy ảo Java (JVM). Bạn không cần học Groovy để thực hiện các thay đổi, vì Plugin Android dành cho Gradle giới thiệu hầu hết các thành phần DSL mà bạn cần.

Mẹo : Để tìm hiểu thêm về plugin Android DSL, hãy đọc tài liệu tham khảo DSL .

Plugin và khối Android

Trong tệp trên build.gradle (Module: app), câu lệnh đầu tiên áp dụng các tác vụ xây dựng trình cắm Gradle dành riêng cho Android:

apply plugin: 'com.android.application'

android {
   ...
}

Khối android { }chỉ định những điều sau đây cho bản dựng:

  • Phiên bản SDK mục tiêu để biên dịch mã:
    compileSdkVersion 24
    
  • Phiên bản của công cụ xây dựng sẽ sử dụng để xây dựng ứng dụng:
    buildToolsVersion "24.0.1"
    

Khối defaultConfig

Các mục nhập và cài đặt cốt lõi cho ứng dụng được chỉ định trong một defaultConfig { }khối trongandroid { } block:

   ...
   defaultConfig {
      applicationId "com.example.hello.helloworld"
      minSdkVersion 15
      targetSdkVersion 23
      versionCode 1
      versionName "1.0"
            testInstrumentationRunner
               "android.support.test.runner.AndroidJUnitRunner"
   }
...

Cài đặt minSdkVersionvà targetSdkVersionghi đè mọi cài đặt AndroidManifest.xml cho phiên bản SDK tối thiểu và phiên bản SDK mục tiêu. Xem phần "Khai báo phiên bản Android" trước đó trong chương này để biết thông tin cơ bản về các cài đặt này.

Tuyên testInstrumentationRunnerbố bổ sung hỗ trợ thiết bị để thử nghiệm giao diện người dùng với Espresso và UIAutomator. Chúng được mô tả trong một bài học riêng biệt.

xây dựng các loại

Các loại bản dựng cho ứng dụng được chỉ định trong một buildTypes { }khối, khối này kiểm soát cách ứng dụng được tạo và đóng gói.

...
buildTypes {
   release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'),
                                               'proguard-rules.pro'
   }
}
...

Loại bản dựng được chỉ định là releasedành cho bản phát hành của ứng dụng. Một loại bản dựng phổ biến khác là debug. Việc định cấu hình các loại bản dựng được mô tả trong một bài học riêng.

phụ thuộc

Các phần phụ thuộc cho ứng dụng được xác định trong dependencies { }khối, đây là một phần của tệp build.gradle có nhiều khả năng thay đổi nhất khi bạn bắt đầu phát triển mã phụ thuộc vào các thư viện khác. Khối này là một phần của API Gradle tiêu chuẩn và thuộc bên ngoài khối android { }.

...
dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
   })
   compile 'com.android.support:appcompat-v7:24.2.0'
   testCompile 'junit:junit:4.12'
}

Trong đoạn mã trên, câu lệnh compile fileTree(dir: 'libs', include: ['*.jar'])thêm phần phụ thuộc của tất cả các tệp ".jar" bên trong libsthư mục. Cấu compilehình biên dịch ứng dụng chính — mọi thứ trong đó được thêm vào đường dẫn lớp biên dịch và cũng được đóng gói vào APK cuối cùng.

Sơ đồ quan hệ các bảng

Table Name: {{table.name}}
Num Name Type
{{field_index+1}}
{{field.name}} {{field.type}}

Hỏi đáp

Gửi với tên {{comment_full_name}}

Chưa có câu hỏi nào cho bài này.

Zalo 0936.006.058 Hotline 0936.006.058