API để tự động tải apk lên Google Play? [đóng cửa]


95

Có API hoặc công cụ nào cho phép tôi tự động tải APK lên Google Play không? Tôi muốn tự động xuất bản các ứng dụng tùy chỉnh vào tài khoản của mình mà không cần bất kỳ bước thủ công hoặc giao diện đồ họa nào.

Tôi đã tìm kiếm xung quanh nhưng không thể tìm thấy bất kỳ API nào để thực hiện việc này (chỉ có android-publisher nhưng nó không hỗ trợ xuất bản, mặc dù có tên). Có ai đã giải quyết điều này rồi, có vẻ như là một tính năng cơ bản?


3
Tôi không nghĩ là có câu nào, nhưng đây là một câu hỏi thú vị
Stéphane

8
Thời gian thay đổi - hãy để nhận xét phản ánh rằng bây giờ đã có một API như vậy - các nhận xét và câu trả lời trước đây giờ đã lỗi thời - câu trả lời chính xác hiện là từ sharshi.
Richard Le Mesurier


Đối với những người đã đến đây thông qua tìm kiếm trên web và chỉ muốn có câu trả lời, dù có hay không: Fastlane là một công cụ tự động hóa việc triển khai Play Store và App Store.
Thomas,

Câu trả lời:


63

Kể từ hôm nay, có một API xuất bản chính thức mới cho phép bạn tải lên bất kỳ kênh nào (ví dụ: alpha, beta ...) hoặc cập nhật tiêu đề và mô tả và hơn thế nữa.

Từ các tài liệu:

  • Tải lên phiên bản mới của ứng dụng Phát hành ứng dụng, bằng cách gán APK cho các Bản nhạc khác nhau (alpha, beta, giới thiệu theo giai đoạn hoặc sản xuất)
  • Tạo và sửa đổi danh sách Cửa hàng Google Play, bao gồm
  • văn bản và đồ họa được bản địa hóa và ảnh chụp màn hình nhiều thiết bị

Xem tại đây để biết thêm thông tin: https://developers.google.com/android-publisher/


28
Lưu ý rằng API chỉ dành cho các ứng dụng đã được xuất bản (đã tải lên ít nhất một APK).
Léo Lam

Ủy quyền với Google có thể là một mẹo nhỏ. Đây là cách nhận mã thông báo qua dòng lệnh sẽ trông như thế nào . PS Các đuôi .p12 đề cập đến quan trọng ở đây sẽ không làm việc cho đến khi bạn chuyển đổi nó yo .pem nào có lệnh "openssl pkcs12 -in my_google_key.p12 out my_google_key.pem -nodes -clcert"
Vitalii

2
có một cái nhìn với plugin gradle này - github.com/Triple-T/gradle-play-publisher
Sankar V

3
Có ai biết liệu giới hạn chỉ cập nhật các ứng dụng có sẵn vẫn được áp dụng không?
Ricardo Pedroni

1
@Dokuzov vâng chỉ cập nhật
sharshi

22

gradle-play-publisher là một plugin Gradle để tải APK và chi tiết ứng dụng của bạn lên Cửa hàng Google Play.

Tôi chỉ đơn giản là chạy ./gradlew publishApkReleasetừ thiết bị đầu cuối của mình và nó tải lên APK và tóm tắt các thay đổi gần đây., Có nhiều tác vụ như thế này có sẵn.

Nó sử dụng API nhà phát triển trên Google Play


Xin chào, Tôi là người mới sử dụng Gradle, nhà xuất bản gradle-play-cho biết "Khi bạn đã áp dụng plugin này cho dự án ứng dụng Android của mình, bạn có thể định cấu hình nó thông qua khối phát", Tôi cần thêm khối chơi ở đâu?
Aqib Mumtaz

Trong build.gradlehồ sơ của bạn
Carlo Rodríguez,

Bạn có thể vui lòng chia sẻ tệp bản dựng của mình không? Im liên tục nhận được ngoại lệ này "org.gradle.execution.TaskSelectionException: Nhiệm vụ 'publishApkRelease' không tìm thấy trong dự án gốc"
Aqib Mumtaz

Tôi đã đăng câu hỏi của mình stackoverflow.com/questions/31449533/…
Aqib Mumtaz,

dù sao đi nữa thì dự án không thực sự hoạt động
oldergod 13/10/16

20

Không có API chính thức của Google để tự động hóa hoạt động với Google Play. (Điều này KHÔNG đúng sau tháng 7 năm 2014)

Bạn có thể tạo một tập lệnh đóng gói trình duyệt web và mô phỏng hành động của người dùng: tìm các trường HTML, nhập thông tin vào đó, gửi trang, v.v.

Chúng tôi đang làm việc trên công cụ Python nguồn mở như vậy: https://github.com/onepf/AppDF/tree/master/tools/uploader


6
Điều này đúng cho đến cuối tháng 7 năm 2014, khi Google thêm một API xuất bản. Xem câu trả lời từ sharshi để biết thêm thông tin.
Léo Lam

3
Câu trả lời này bây giờ là sai.
Richard Le Mesurier

4

Tôi cũng đã trả lời câu hỏi này cho câu hỏi này , nhưng tôi nghĩ rằng tôi sẽ thêm nhận xét tương tự ở đây. Hãy cho tôi biết nếu đó là cách làm sai (trùng lặp câu trả lời).

Tôi đã có thể tạo một plugin gradle để xuất bản theo bất kỳ bản nhạc nào bạn muốn cho bất kỳ hương vị / biến thể nào bạn muốn bằng cách sử dụng API xuất bản mới của Google Play.

Xem các nguồn tại đây: https://github.com/bluesliverx/savillians-gradle

Tôi đang làm việc để xuất bản này lên trung tâm maven để nó có thể được sử dụng trong tập lệnh xây dựng, nhưng bây giờ bạn có thể lấy android-publisherthư mục con trong kho, đặt nó vào thư mục gốc của bản dựng gradle của bạn và đổi tên thư mục thành buildSrc. Sử dụng dòng sau trong build.gradletệp cho dự án android mà bạn muốn xuất bản:

apply plugin: com.savillians.gradle.androidpublisher.AndroidPublisherPlugin

Sau đó, bạn có thể đặt cài đặt xuất bản của mình bằng cách sử dụng một androidPublisherkhối trong tệp build.gradle.

android {
    ...
}
androidPublisher {
    applicationName = "Company-Name-Product-Name/1.0"
    packageName = "<package name>"
    serviceAccountEmail = "<service account email>"
    serviceAccountKeyFile = file('<p12 keyfile - NOT the json file>')
    track = "alpha" // default, don't need to specify
    variantName = "release" // default, don't need to specify
}

Đảm bảo rằng tài khoản dịch vụ bạn tạo có quyền "trình quản lý phát hành", tải xuống tệp khóa p12 và đặt nó vào thư mục của dự án. Sau đó chạy lệnh này:

gradle androidPublish

Điều đó sẽ gửi nó đến Google Play bằng thông tin đăng nhập bạn đã chỉ định. Chúc bạn may mắn và hãy cho tôi biết nếu bạn có thắc mắc vì đây là thương hiệu mới.


vui lòng tìm stackoverflow.com/questions/29816342/…gradle androidPublishtạo apk đã ký và tải lên cửa hàng chơi
Nevin Raj Victor

Đã trả lời. Plugin này sẽ làm những gì bạn đang tìm kiếm.
bksaville

xin chào @bksaville là plugin này hỗ trợ cho các ứng dụng hiện có. Chúng tôi không thể sử dụng cho các ứng dụng mới tạo.
Sajith Vijesekara

Tôi thấy rằng thay vì "trình quản lý phát hành" cho Vai trò khi tạo tài khoản dịch vụ mà tôi cần thay vào đó: trong menu thả xuống Vai trò, hãy chọn "Tài khoản dịch vụ" -> "Người dùng tài khoản dịch vụ" và "Người tạo mã thông báo tài khoản dịch vụ"
Maks
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.