Bagikan melalui


Penyiapan penandatanganan kode Android di App Center

Penting

Visual Studio App Center dijadwalkan untuk dihentikan pada 31 Maret 2025. Meskipun Anda dapat terus menggunakan Visual Studio App Center hingga sepenuhnya dihentikan, ada beberapa alternatif yang direkomendasikan yang mungkin Anda pertimbangkan untuk bermigrasi.

Pelajari selengkapnya tentang garis waktu dukungan dan alternatif.

Tip

Untuk pengguna Xamarin.Android, prosesnya sedikit berbeda. Lihat panduan Penandatanganan Kode Xamarin.Android kami untuk detailnya.

Menandatangani aplikasi adalah persyaratan untuk menjalankan aplikasi di perangkat nyata selama proses pengembangan atau mendistribusikannya melalui program beta atau di Play Store. Tanpa penandatanganan kode, aplikasi hanya dapat berjalan pada emulator.

Saat App Center membuat aplikasi Android dengan jenis build debug, keystore untuk pengembang tidak diperlukan tetapi dapat diunggah. Build ini akan secara otomatis ditandatangani dengan kunci debug. Untuk build rilis yang akan disebarkan, unggah keystore ke App Center.

Membuat keystore

Jika saat ini Anda tidak memiliki keystore, Anda dapat membuatnya di Android Studio. Anda dapat menemukan petunjuk tentang membuat keystore untuk menandatangani APK di Panduan Pengguna resmi Android Studio.

Menyiapkan Penandatanganan Kode

App Center mendukung tiga cara berbeda untuk menyiapkan penandatanganan kode untuk aplikasi Android. Untuk ketiga metode tersebut, Pertama-tama Anda harus membuka konfigurasi build dan mengaktifkan penandatanganan kode:

  1. Buka aplikasi Anda di App Center.
  2. Buka Bangun.
  3. Buka cabang yang ingin Anda konfigurasi dengan memilihnya dari daftar.
  4. Gunakan menu 'Pengaturan' di sudut kanan atas, atau pilih Konfigurasikan jika cabang Anda belum dikonfigurasi untuk build.
  5. Aktifkan Buat tanda.
  6. Pilih Simpan.

Kemudian, tergantung pada skenario Anda, gunakan yang paling cocok dari tiga opsi di bagian di bawah ini. Opsi pertama melibatkan pemeriksaan kredensial ke repositori Anda, sementara dua lainnya menggunakan App Center untuk menangani kredensial Anda sebagai gantinya.

Pada Android 11, anda harus menggunakan penanda tangan APK (jika Anda menggunakan API level 30) karena akan menetapkan beberapa skema tambahan "APK Signature Scheme v2 now required". App Center sekarang (sejak 17 Des 2020) menandatangani aplikasi Android menggunakan penanda tangan APK secara internal, bukan penanda tangan JAR yang digunakan sebelumnya. Sebagai bagian dari fitur untuk mengaktifkan penanda tangan APK di App Center, tugas penandatanganan Android V3 diimplementasikan, dan persyaratan untuk tugas Penandatanganan baru adalah mengubah cara file keystore disimpan - untuk menyimpan file keystore dalam file aman AzDO (tugas build dan rilis penandatanganan Android - Azure Pipelines | Microsoft Docs).

Peringatan

Setiap konfigurasi build yang memiliki file keystore mereka diunggah sebelum 17 Des 2020 masih menggunakan metode penandatanganan APK Signature Scheme v2 (jarsigner). Untuk menggunakan alur penandatanganan APK Signature Scheme v3, pengguna hanya perlu mengunggah ulang file keystore mereka dan menyimpan konfigurasi cabang mereka.

Catatan

Penggunaan Plugin Android Gradle versi 4.1.x tidak didukung sepenuhnya. Untuk menggunakan versi ini, Anda harus menambahkan pengaturan opsi berikutnya dalam gradle.properties file:

 android.useNewApkCreator = false

J. Menyimpan semuanya dalam konfigurasi Gradle

Anda dapat menentukan detail penandatanganan dalam build.gradle file (tingkat aplikasi). Detail penandatanganan, bersama dengan semua kredensial dan informasi keystore, akan terlihat di repositori. Pertama, tambahkan semua item yang Anda butuhkan ke kode Anda dan periksa ke repositori Anda. Kemudian dalam konfigurasi build di App Center, aktifkan pengaturan My Gradle sepenuhnya diatur untuk menangani penandatanganan secara otomatis.

B. Mengunggah semuanya ke App Center

Anda dapat mengunggah keystore dan mengonfigurasi kredensial penandatanganan melalui App Center. Dalam hal ini, App Center akan terlebih dahulu membuat aplikasi Android Anda lalu menjalankan langkah penandatanganan setelah build berhasil.

Catatan

Build hanya dapat ditandatangani sekali. Pastikan Anda tidak memiliki konflik dengan konfigurasi penandatanganan dalam konfigurasi Gradle untuk varian build yang dipilih. Jika ada pengaturan penandatanganan baik di App Center maupun di file Gradle, build mungkin akan ditandatangani dua kali dan ini menyebabkan konflik.

Siapkan konfigurasi build Anda di App Center sebagai berikut:

  1. Nonaktifkan pengaturan My Gradle sepenuhnya diatur untuk menangani penandatanganan secara otomatis.
  2. Unggah file keystore Anda ke penghapusan file unggahan file Keystore. Anda dapat menyeret file ke kotak atau mengkliknya dan menelusuri file. File keystore memiliki ekstensi .keystore atau .jks.
  3. Masukkan kata sandi keystore, alias kunci, dan kata sandi kunci di bidang yang sesuai. Nilai-nilai ini adalah nilai yang sama dengan yang akan Anda masukkan di Android Studio saat menandatangani build.

C. Menyimpan Detail Penandatanganan di Repositori dengan Variabel Lingkungan

Gunakan metode ini jika repositori Anda sudah berisi keystore, tetapi Anda tidak ingin menyimpan kredensial di sana. Pada waktu build, kredensial akan diberikan sebagai properti Sistem ke build Gradle. Lihat sampel kode berikut tentang cara menggunakannya:

android {
    signingConfigs {
        releaseSigningConfig {
            storeFile rootProject.file("app/testapp.jks")
            storePassword System.getProperty("APPCENTER_KEYSTORE_PASSWORD")
            keyAlias System.getProperty("APPCENTER_KEY_ALIAS")
            keyPassword System.getProperty("APPCENTER_KEY_PASSWORD")
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.releaseSigningConfig
        }
    }
}

Dalam kode di atas, mengamankan nilai di belakang properti sistem yang disuntikkan ke dalam build Anda menjaga kredensial penandatanganan Anda tetap aman - nilai dienkripsi dan hanya tersedia untuk agen build pada waktu build. Anda dapat memberikan nilai melalui App Center. Anda juga dapat membuat kode keras salah satu nilai, dan memeriksanya ke repositori Anda. Untuk menggunakan App Center untuk melindungi nilai:

  1. Buka konfigurasi build Anda.
  2. Pastikan kotak centang yang disebut pengaturan My Gradle sepenuhnya diatur untuk menangani penandatanganan secara otomatis tidak dicentang.
  3. Masukkan kata sandi keystore, alias kunci, dan kata sandi kunci di bidang yang sesuai. Nilai-nilai ini adalah nilai yang sama dengan yang akan Anda masukkan di Android Studio saat menandatangani build.

Jika Anda menggunakan ragam produk, Anda mungkin perlu menyesuaikan kode di atas sehingga semua konfigurasi rilis Anda menggunakan konfigurasi penandatanganan yang benar.

Catatan

Jika Anda menggunakan signingConfig opsi di dalam buildTypes bagian di build.gradle file (tingkat aplikasi), Anda mungkin menghadapi kesalahan penandatanganan kode selama build App Center. Ini sangat relevan untuk aplikasi yang menggunakan React Native untuk Android versi 0.60.x dan yang lebih tinggi:

 Execution failed for task ':app:validateSigningRelease'.
 Keystore file '.../android/app/debug.keystore' not found for signing config 'debug'

Untuk memperbaiki masalah ini, Anda harus mendorong keystore yang tepat yang digunakan untuk masuk ke repositori Anda dan mengaktifkan pengaturan Gradle Saya sepenuhnya diatur untuk menangani penandatanganan secara otomatis di konfigurasi build Anda di portal App Center.

Jika Anda mengunggah keystore ke konfigurasi build di portal App Center, mempertimbangkan bahwa pendekatan ini harus menghapus signingConfig opsi dari buildTypes bagian file (tingkat aplikasi) Anda build.gradle jika Anda tidak memperbaruinya dari status default templat proyek React Native.