Xây dựng ứng dụng Android Studio thông qua dòng lệnh


135

Tôi muốn xây dựng một ứng dụng Android Studio (hệ thống xây dựng Gradle), nhưng tôi muốn thực hiện điều này thông qua dòng lệnh.


6
Ví dụ ./gradlew lắp rápRelease, ./gradlew lắp rápDebug
Gabriele Mariotti

Nếu bạn có nhiều biến thể xây dựng, thì bạn nên đi ./gradlew lắp rápYourVariantRelease
Michał Dobi Dobrzański

Câu trả lời:


190

Android Studio tự động tạo một trình bao bọc Gradle trong thư mục gốc của dự án của bạn, đó là cách nó gọi Gradle. Trình bao bọc về cơ bản là một tập lệnh gọi đến nhị phân Gradle thực tế và cho phép bạn cập nhật Gradle, điều này giúp việc sử dụng kiểm soát phiên bản dễ dàng hơn. Để chạy lệnh Gradle, bạn chỉ cần sử dụng gradlewtập lệnh được tìm thấy trong thư mục gốc của dự án (hoặc gradlew.battrên Windows) theo sau là tên của tác vụ bạn muốn chạy. Chẳng hạn, để xây dựng phiên bản gỡ lỗi cho ứng dụng Android của bạn, bạn có thể chạy ./gradlew assembleDebugtừ thư mục gốc của kho lưu trữ. Trong một thiết lập dự án mặc định, apk kết quả có thể được tìm thấy trong app/build/outputs/apk/app-debug.apk. Trên máy * nix, bạn cũng có thể chạy find . -name '*.apk'để tìm nó, nếu không có.


36
Tôi mất hơn 2 giờ để hiểu cách phù hợp để chạy Gradle từ dòng lệnh
Oded Regev

4
Tôi đã chạy nó từ dòng lệnh c:\path_to_my_app\gradlew.bat ./gradlew assemblyDebugvà nó cho tôi tải xuống các dịch vụ.gradle.org / distribution /gradle-2.10-all.zip . Và nó bị kẹt ở đó. Tôi nhớ cái gì
Saeed Neamati

Bạn cũng có thể cài đặt ứng dụng với ./gradlew installArm7Debug. Các nhiệm vụ khác có thể dễ dàng tìm thấy từ./gradlew tasks
Andreas Løve Selvik

1
Tôi đã biên dịch dự án và tải nó lên thiết bị Android bằng cách sử dụng ./gradlew assembleDebug./gradlew installDebugra lệnh. Trong AndroidStudio có bảng điều khiển theo dõi tất cả các hoạt động của thiết bị Android theo thời gian thực (ví dụ: nếu thiết bị Android gặp sự cố, bảng điều khiển sẽ in dấu vết ngoại lệ). Làm thế nào để có được cơ sở giám sát này trên một thiết bị đầu cuối?
thủy ngân0114

Làm cách nào để ngăn chặn việc tải xuống từ -> Tải xuống dịch vụ.gradle.org/distribution/gradle-2.xyz-all.zip. Tôi nhận thấy lớp này xây dựng dự án Android tốt nhưng trên dòng lệnh có vấn đề về cài đặt proxy. Nó có thể được giải quyết bằng cách đặt các proxy lắng xuống (nhưng hiện tại tôi không có quyền riêng tư đó) nhưng tôi chỉ muốn bỏ qua việc tải xuống..Làm thế nào tôi có thể làm điều đó?
Raulp

24

Hãy thử điều này (chỉ dành cho OS X):

brew install homebrew/versions/gradle110
gradle build

Bạn có thể sử dụng gradle tasksđể xem tất cả các nhiệm vụ có sẵn cho dự án hiện tại. Không Android Studiocần thiết ở đây.


4
Hãy chắc chắn rằng bạn đã cài đặt homebrew để bắt đầu!
amitavk

1
"Không cần Android Studio" - trừ khi bạn cần SDK Android tôi đoán. Ở mức nào, dự án tôi đang cố gắng xây dựng sẽ yêu cầu nó.
hmijail thương tiếc người từ chức

21

có hai loại bản dựng để xây dựng ứng dụng của bạn bằng cách sử dụng cài đặt Bản dựng Gradle: một loại để gỡ lỗi ứng dụng của bạn - gỡ lỗi - và một loại để xây dựng gói cuối cùng của bạn cho chế độ phát hành - phát hành.

Xây dựng trong chế độ gỡ lỗi

  • Đầu tiên Điều hướng đến dự án studio Android Thư mục gốc bằng cách sử dụng CMD nhập mô tả hình ảnh ở đây

  • chạy lệnh này gradlew.bat assemblybleDebug

  • Cửa sổ đầu ra trông như thế này nhập mô tả hình ảnh ở đây

Xây dựng apk đã ký trong Chế độ phát hành

  • Chỉnh sửa tệp build.gradle để xây dựng dự án của bạn ở chế độ phát hành:

    android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("myreleasekey.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }}
    

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

  • chạy lệnh này gradlew.bat assemblybleRelease

Xong. May mắn!


2
Có cách nào để tự động khởi chạy ứng dụng sau khi xây dựng thành công không?
Ambar Jain

Tôi không thể tìm thấy bất kỳ cách nào để tự động khởi chạy ứng dụng sau khi xây dựng
Dhaval Jivani

3
@DhavalJivani khởi chạy nó trong một trình giả lập? Nếu vậy đó chỉ là các lệnh adb đơn giản. Bạn thậm chí có thể nhắm mục tiêu một hoạt động cụ thể để khởi chạy. developer.android.com/studio/command-line/adb.html
blizz

@DhavalJivani cách tốt nhất để kiểm tra ứng dụng Android trong thử nghiệm tự động hóa là gì ?. Đối với web, chúng tôi có selenium trong python và nút.
Harsh Manvar

9

Đây là một nỗ lực tại một hướng dẫn đầy đủ

1. Cài đặt Gradle và SDK Android

Hoặc

  • Cài đặt những cái này tuy nhiên bạn thấy phù hợp
  • Chạy ./gradlewhoặc gradlew.batnếu trên Windows
    • chmod +x ./gradlew có thể cần thiết

Từ thời điểm này trở đi, hãy gradleđề cập đến việc chạy Gradle theo bất kỳ cách nào bạn đã chọn. Thay thế cho phù hợp.

2. Thiết lập SDK Android

  • Nếu bạn đã cài đặt SDK theo cách thủ công

    • export ANDROID_HOME=<install location>
    • Bạn có thể muốn đặt nó trong của bạn ~/.profilenếu nó không được thực hiện tự động
  • Chấp nhận giấy phép: yes | sdkmanager

    • sdkmanager Có thể được tìm thấy trong $ANDROID_HOME/tools/bin
    • sdkmanager có thể phải được chạy như root
  • Hãy thử chạy gradle

    • Nếu có khiếu nại về giấy phép hoặc SDK không được tìm thấy, hãy sửa các quyền của thư mục
      • chown -R user:group $ANDROID_HOME
      • Nếu bạn liều lĩnh và / hoặc người dùng duy nhất: chmod 777 -R $ANDROID_HOME

3. Tòa nhà

  • gradle tasks liệt kê tất cả các nhiệm vụ có thể được chạy
  • :app:[appname] là tiền tố của tất cả các tác vụ, mà bạn sẽ thấy trong nhật ký Gradle khi bạn xây dựng
    • Điều này có thể được loại trừ khi chạy một nhiệm vụ

Một số nhiệm vụ thiết yếu

  • gradle assemble: xây dựng tất cả các biến thể của ứng dụng của bạn
    • Kết quả .apks là trong app/[appname]/build/outputs/apk/[debug/release]
  • gradle assembleDebughoặc assembleRelease: chỉ xây dựng các phiên bản gỡ lỗi hoặc phát hành
  • gradle installDebughoặc installReleasexây dựng và cài đặt vào một thiết bị đính kèm
    • Đã cài đặt adb
    • Đính kèm thiết bị có gỡ lỗi USB và bật chuyển tập tin USB
    • Chạy adb devices, kiểm tra xem thiết bị của bạn có được liệt kê không và thiết bị có ở bên cạnh nó không

Tự động xây dựng và cài đặt khi có thay đổi

Điều này tránh việc phải liên tục chạy các lệnh tương tự

gradle -t --continue installDebug
  • -t: aka --continuous, tự động chạy lại tác vụ sau khi tệp được thay đổi
  • --continue: Tiếp tục sau lỗi. Ngăn chặn khi xảy ra lỗi

Chạy gradle -hđể được giúp đỡ nhiều hơn


8

Bạn có khả năng ở đây vì bạn cũng muốn cài đặt nó!

Xây dựng

gradlew

(Trên Windows gradlew.bat)

Sau đó cài đặt

adb install -r exampleApp.apk

(Làm -rcho nó thay thế bản sao hiện có, thêm -snếu cài đặt trên trình giả lập)

Tặng kem

Tôi thiết lập một bí danh trong tôi ~/.bash_profile, để biến nó thành lệnh 2char.

alias bi="gradlew && adb install -r exampleApp.apk"

(Viết tắt của Build and Install)


7

Áo choàng để chạy Gradle từ dòng lệnh cho các dự án Android Studio trên Linux:

cd <project-root>
./gradlew
./gradlew tasks
./gradlew --help

Nên bắt đầu ..


2

Đối với Mac, sử dụng lệnh này

  ./gradlew task-name

1

Chỉ dành cho người dùng MAC

Mở rộng câu trả lời của Vji .

Từng bước làm thủ tục:

  1. Thiết bị đầu cuối mở
  2. Thay đổi thư mục của bạn thành Dự án của bạn (cd PathOfYourProject)
  3. Sao chép và dán lệnh này và nhấn enter:

    chmod +x gradlew
    
  4. Như Vji đề xuất:

    ./gradlew task-name
    

    ĐỪNG BỎ QUA ĐỂ THÊM. (DOT) TRƯỚC / gradlew


1

Tài liệu chính thức có tại đây:

Để xây dựng APK gỡ lỗi, hãy mở một dòng lệnh và điều hướng đến thư mục gốc của thư mục dự án của bạn. Để bắt đầu xây dựng gỡ lỗi, hãy gọi assembleDebugtác vụ:

gradlew assembleDebug

Điều này tạo ra một APK có tên module_name-debug.apktrong project_name/module_name/build/outputs/apk/.


0

enter code hereTạo tệp tập lệnh với lệnh gradle và adb bên dưới, Thực thi tệp tập lệnh

./gradlew clean

./gradlew assemblybleDebug ./gradlew installDebug

adb shell am start -n applicationID / đường dẫn đầy đủ của hoạt động launcher


0

lưu ý, bạn cũng có thể thực hiện việc này trong Android Studio bằng cách nhấp vào cửa sổ lớp và sau đó là nút 'con voi'. Điều này sẽ mở một cửa sổ mới gọi là "chạy bất cứ thứ gì" (cũng có thể được tìm thấy bằng cách tìm kiếm tên đó trong 'tìm kiếm ở mọi nơi') nơi bạn có thể nhập bất kỳ lệnh gradle nào bạn muốn vào. Không phải là dòng lệnh "khá", nhưng thường cung cấp nhiều hơn của những gì tôi cần hơn dòng lệnh windows.

Điều này cho phép bạn đưa ra các thông số tùy chọn cho các nhiệm vụ phân lớp, v.v.


-2

Thêm giá trị cho tất cả các câu trả lời này,

Nhiều người đã yêu cầu lệnh chạy Ứng dụng trong AVD sau khi xây dựng thành công.

adb install -r {path-to-your-bild-folder}/{yourAppName}.apk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.