Skip to content

Most visited

Recently visited

navigation

Menandatangani Aplikasi Anda

Android mengharuskan semua APK ditandatangani secara digital dengan sertifikat agar bisa dipasang. Dokumen ini menjelaskan cara menandatangani APK menggunakan Android Studio, termasuk membuat dan menyimpan sertifikat Anda, menandatangani konfigurasi pembangunan yang berbeda menggunakan sertifikat yang berbeda, dan mengonfigurasi proses pembangunan untuk menandatangani APK Anda secara otomatis.

Sertifikat dan keystore

Sertifikat kunci publik, juga dikenal dengan sertifikat digital atau sertifikat identitas, berisi kunci publik dari pasangan kunci privat/publik, serta beberapa metadata lainnya yang mengidentifikasi pemilik kunci (misalnya, nama dan lokasi). Pemilik sertifikat memegang kunci privat yang bersangkutan.

Bila Anda menandatangani APK, alat penandatanganan akan melampirkan sertifikat kunci publik ke APK. Sertifikat kunci publik berfungsi sebagai "sidik jari" yang secara unik mengaitkan APK dengan Anda dan kunci privat yang bersangkutan. Hal ini membantu Android memastikan semua pembaruan mendatang untuk APK Anda adalah autentik dan berasal dari penulis yang asli. Kunci yang digunakan untuk membuat sertifikat ini disebut kunci penandatanganan aplikasi.

Keystore adalah file biner yang berisi satu atau beberapa kunci privat.

Semua aplikasi harus menggunakan sertifikat yang sama selama masa aktifnya agar pengguna dapat memasang versi baru bila ada pembaruan aplikasi. Untuk mengetahui selengkapnya tentang keuntungan penggunaan sertifikat yang sama bagi semua aplikasi selama masa aktifnya, lihat Pertimbangan Penandatanganan di bawah ini.

Menandatangani versi debug Anda

Saat menjalankan atau men-debug proyek Anda dari IDE, Android Studio secara otomatis menandatangani APK Anda dengan sertifikat debug yang dihasilkan oleh Android SDK Tools. Saat pertama menjalankan atau men-debug proyek di Android Studio, IDE secara otomatis membuat keystore debug dan sertifikat di $HOME/.android/debug.keystore, dan menyetel sandi kunci dan keystore.

Karena sertifikat debug dibuat oleh alat pembangunan dan tidak aman secara desain, kebanyakan toko aplikasi (termasuk Google Play Store) tidak akan menerima APK yang ditandatangani dengan sertifikat debug untuk publikasi.

Android Studio secara otomatis menyimpan informasi penandatanganan debug dalam konfigurasi penandatanganan sehingga Anda tidak perlu memasukkannya setiap kali men-debug. Konfigurasi penandatanganan adalah sebuah objek yang berisi semua informasi yang diperlukan untuk menandatangani APK, termasuk lokasi keystore, sandi keystore, nama kunci, dan sandi kunci. Anda tidak bisa mengedit langsung konfigurasi penandatanganan debug, namun Anda bisa mengonfigurasi cara menandatangani versi rilis.

Untuk informasi selengkapnya tentang cara membangun dan menjalankan aplikasi untuk debug, lihat Membangun dan Menjalankan Aplikasi Anda.

Kedaluwarsa sertifikat debug

Sertifikat yang ditandatangani sendiri serta digunakan untuk menandatangani APK Anda untuk proses debug memiliki tanggal kedaluwarsa 365 hari sejak tanggal pembuatannya. Bila sertifikat kedaluwarsa, Anda akan memperoleh kesalahan versi.

Untuk memperbaiki masalah ini, hapus saja file debug.keystore. File disimpan di lokasi berikut:

Saat berikutnya Anda membangun dan menjalankan tipe pembangunan versi debug, alat pembangunan akan menghasilkan kembali keystore dan kunci debug baru. Perhatikan, Anda harus menjalankan aplikasi, pembangunan itu sendiri tidak akan menghasilkan kembali keystore dan kunci debug.

Mengelola kunci Anda

Karena kunci penandatanganan aplikasi digunakan untuk memverifikasi identitas Anda sebagai developer dan memastikan pembaruan yang mudah dan aman bagi pengguna, sangat penting untuk mengelola kunci dan menjaganya agar tetap aman, baik bagi Anda maupun pengguna. Anda bisa memilih untuk ikut menggunakan Penandatanganan Aplikasi Google Play untuk secara aman mengelola dan menyimpan kunci penandatanganan aplikasi menggunakan infrastruktur Google atau untuk mengelola dan mengamankan keystore dan kunci penandatanganan aplikasi Anda sendiri.

Menggunakan Penandatanganan Aplikasi Google Play

Saat menggunakan Penandatanganan Aplikasi Google Play, Anda menggunakan dua kunci: kunci penandatanganan aplikasi dan kunci unggahan. Google mengelola dan melindungi kunci penandatanganan aplikasi, dan Anda menyimpan kunci unggahan dan menggunakannya untuk menandatangani aplikasi guna pengunggahan ke Google Play Store.

Saat Anda memilih untuk menggunakan Penandatanganan Aplikasi Google Play, Anda mengekspor dan mengenkripsi kunci penandatanganan aplikasi menggunakan alat Play Encrypt Private Key yang disediakan oleh Google Play, lalu mengunggahnya ke infrastruktur Google. Kemudian Anda membuat kunci unggahan yang terpisah dan mendaftarkannya ke Google. Saat siap mempublikasikannya, Anda menandatangani aplikasi menggunakan kunci unggahan dan mengunggahnya ke Google Play. Google kemudian menggunakan sertifikat unggahan untuk memverifikasi identitas Anda, dan menandatangani ulang APK dengan kunci penandatanganan aplikasi untuk distribusi seperti yang ditunjukkan pada gambar 1. (Jika belum memiliki kunci penandatanganan aplikasi, Anda bisa membuatnya saat proses pendaftaran.)

Gambar 1. Menandatangani aplikasi dengan Penandatanganan Aplikasi Google Play

Saat menggunakan Penandatanganan Aplikasi Google Play, jika Anda kehilangan kunci unggahan, atau ada risiko keamanan, Anda bisa menghubungi Google untuk mencabut kunci unggahan lama dan membuat kunci baru. Karena kunci penandatanganan aplikasi dilindungi oleh Google, Anda bisa terus mengunggah versi baru aplikasi sebagai pembaruan ke aplikasi asli, meskipun Anda mengubah kunci unggahan.

Untuk informasi selengkapnya tentang cara ikut serta menggunakan Penandatanganan Aplikasi Google Play, lihat Mengelola kunci penandatanganan aplikasi Anda.

Mengelola kunci dan keystore Anda sendiri

Selain menggunakan Penandatanganan Aplikasi Google Play, Anda bisa memilih untuk mengelola kunci penandatanganan aplikasi dan keystore Anda sendiri. Jika Anda memilih untuk mengelola sendiri kunci penandatanganan aplikasi dan keystore, Anda bertanggung jawab untuk mengamankan kunci dan keystore. Anda harus memilih sandi yang kuat untuk keystore, dan sandi kuat yang terpisah untuk setiap kunci privat yang disimpan di keystore. Anda harus menyimpan keystore di tempat yang aman dan terlindungi. Jika Anda kehilangan akses ke kunci penandatanganan aplikasi atau kunci terancam bahaya, Google tidak bisa mengambil kunci penandatanganan aplikasi bagi Anda, dan Anda tidak dapat merilis versi aplikasi yang baru kepada pengguna sebagai pembaruan untuk aplikasi asli. Untuk informasi selengkapnya, lihat Mengamankan kunci Anda, di bawah ini.

Jika Anda mengelola sendiri kunci penandatanganan aplikasi dan keystore, saat menandatangani APK, Anda akan menandatanganinya secara lokal menggunakan kunci penandatanganan aplikasi dan mengunggah APK yang ditandatangani ke Google Play Store secara langsung untuk distribusi seperti yang ditunjukkan pada gambar 2.

Gambar 2. Menandatangani aplikasi saat Anda mengelola sendiri kunci penandatanganan aplikasi

Menandatangani APK

Terlepas dari apa yang Anda pilih untuk mengelola kunci dan keystore, Anda bisa menggunakan Android Studio untuk menandatangani APK (dengan kunci unggahan atau kunci penandatanganan aplikasi), secara manual, atau dengan mengonfigurasi proses pembangunan untuk menandatangani APK secara otomatis.

Jika Anda memilih untuk mengelola dan mengamankan sendiri kunci penandatanganan aplikasi dan keystore, Anda harus menandatangani APK dengan kunci penandatanganan aplikasi. Jika Anda memilih untuk menggunakan Penandatanganan Aplikasi Google Play guna mengelola dan mengamankan sendiri kunci penandatanganan aplikasi dan keystore, Anda harus menandatangani APK dengan kunci unggahan.

Membuat kunci dan keystore

Anda bisa membuat penandatanganan aplikasi atau kunci unggahan menggunakan Android Studio, melalui langkah-langkah berikut:

  1. Di bilah menu, klik Build > Generate Signed APK.
  2. Pilih modul dari menu tarik turun, lalu klik Next.
  3. Klik Create new Untuk membuat kunci dan keystore baru.

  4. Di jendela New Key Store, berikan informasi berikut untuk keystore dan kunci Anda, seperti yang ditampilkan dalam gambar 3.

    Gambar 3. Membuat keystore baru di Android Studio.

    Keystore

    • Key store path: Pilih lokasi pembuatan keystore Anda.
    • Password: Buat dan konfirmasikan sandi aman untuk keystore Anda.

    Key

    • Alias: Masukkan nama identifikasi untuk kunci Anda.
    • Password: Buat dan konfirmasikan sandi aman untuk kunci Anda. Ini harus berbeda dari sandi yang Anda pilih untuk keystore
    • Validity (years): Setel berapa tahun lamanya kunci Anda akan berlaku. Kunci Anda harus berlaku paling tidak selama 25 tahun, agar bisa menandatangani pembaruan aplikasi dengan kunci yang sama selama masa aktif aplikasi Anda.
    • Certificate: Masukkan informasi tentang diri Anda ke sertifikat. Informasi ini tidak ditampilkan dalam aplikasi Anda, melainkan disertakan dalam sertifikat Anda sebagai bagian dari APK.

    Setelah melengkapi formulir, klik OK.

  5. Lanjutkan dengan Menandatangani APK secara manual jika Anda ingin membuat APK yang ditandatangani dengan kunci baru, atau klik Cancel jika Anda hanya ingin membuat kunci dan keystore, bukannya menandatangani APK.
  6. Jika Anda ingin menggunakan Penandatanganan Aplikasi Google Play, lanjutkan dengan Mengelola kunci penandatanganan aplikasi Anda dan ikuti petunjuknya untuk menyiapkan Penandatanganan Aplikasi Google Play.

Menandatangani APK secara manual

Anda bisa menggunakan Android Studio untuk menghasilkan APK yang ditandatangani secara manual, bisa satu per satu, atau untuk beberapa varian pembangunan sekaligus. Sebagai ganti menandatangani APK secara manual, Anda juga bisa mengonfigurasi setelan pembangunan Gradle untuk menangani penandatanganan secara otomatis selama proses pembangunan. Bagian ini menjelaskan proses penandatanganan manual. Untuk mengetahui selengkapnya tentang menandatangani aplikasi sebagai bagian dari proses pembangunan, lihat Mengonfigurasi proses pembangunan untuk menandatangani APK secara otomatis.

Untuk secara manual menandatangani APK Anda guna perilisan di Android Studio, ikuti langkah-langkah berikut:

  1. Klik Build > Generate Signed APK untuk membuka jendela Generate Signed APK. (Jika Anda baru saja membuat kunci dan keystore seperti yang dijelaskan di atas, maka jendela ini sudah terbuka.)
  2. Pada jendela Generate Signed APK Wizard, pilih keystore, kunci privat, dan masukkan sandi untuk keduanya. (Jika Anda baru saja membuat keystore di bagian sebelumnya, maka bidang-bidang ini sudah terisi.) Kemudian klik Next.

    Catatan: Jika menggunakan Penandatanganan Aplikasi Google Play, Anda harus menentukan kunci unggahan di sini. Jika Anda mengelola sendiri kunci penandatanganan aplikasi dan keystore, Anda harus menentukan kunci penandatanganan aplikasi. Untuk informasi selengkapnya, lihat Mengelola kunci Anda di atas.

    Gambar 4. Memilih kunci privat di Android Studio.

  3. Pada jendela berikutnya, pilih tujuan untuk APK yang ditandatangani, pilih tipe pembangunan, (jika berlaku) pilih ragam produk, dan klik Finish.

    Gambar 5. Membuat APK yang ditandatangani untuk ragam produk yang dipilih.

    Catatan: Jika proyek Anda menggunakan beberapa ragam produk, Anda bisa memilih beberapa ragam produk sambil menahan tombol Control di Windows/Linux, atau tombol Command di Mac OS X. Android Studio akan menghasilkan APK terpisah untuk setiap ragam produk yang dipilih.

Bila prosesnya selesai, Anda akan menemukan APK yang ditandatangani di folder tujuan yang dipilih di atas. Kini Anda dapat mendistribusikan APK yang ditandatangani melalui pasar aplikasi seperti Google Play Store, atau menggunakan mekanisme pilihan Anda. Untuk mengetahui selengkapnya tentang cara memublikasikan APK yang ditandatangani ke Google Play Store, lihat Memulai dengan Publikasi. Untuk mengetahui selengkapnya tentang opsi distribusi lainnya, baca Opsi Distribusi Alternatif.

Agar pengguna berhasil memasang pembaruan aplikasi, Anda perlu menandatangani APK dengan sertifikat yang sama selama masa aktif aplikasi Anda. Untuk mengetahui selengkapnya dan manfaat lainnya dari menandatangani semua aplikasi dengan kunci yang sama, lihat Pertimbangan Penandatanganan di bawah ini. Untuk informasi selengkapnya tentang mengamankan kunci privat dan keystore Anda, lihat Mengamankan kunci Anda, di bawah ini.

Mengonfigurasi proses pembangunan untuk menandatangani APK secara otomatis

Di Android Studio, Anda bisa mengonfigurasi proyek untuk menandatangani APK versi rilis secara otomatis selama proses pembangunan dengan membuat konfigurasi penandatanganan dan menetapkannya ke tipe pembangunan versi rilis Anda. Konfigurasi penandatanganan terdiri dari lokasi keystore, sandi keystore, nama alias kunci, dan sandi kunci. Untuk membuat konfigurasi penandatanganan dan menetapkannya ke tipe pembangunan versi rilis Anda dengan menggunakan Android Studio, gunakan langkah berikut:

  1. Di jendela Project, klik kanan pada aplikasi Anda dan klik Open Module Settings.
  2. Di jendela Project Structure, pada Modules di panel kiri, klik modul yang ingin Anda tandatangani.
  3. Klik tab Signing, kemudian klik Add .
  4. Pilih file keystore Anda, masukkan nama untuk konfigurasi penandatanganan ini (karena Anda boleh membuat lebih dari satu), dan masukkan informasi yang diperlukan.

    Gambar 6. Jendela untuk membuat konfigurasi penandatanganan baru.

  5. Klik tab Build Types.
  6. Klik versi release.
  7. Pada Signing Config, pilih konfigurasi penandatanganan yang baru saja Anda buat.

    Gambar 7. Pilih konfigurasi penandatanganan di Android Studio.

  8. Klik OK.

Kini setiap kali Anda membangun tipe pembangunan versi rilis dengan menggunakan Android Studio, IDE akan menandatangani APK secara otomatis, dengan menggunakan konfigurasi penandatanganan yang Anda tetapkan. Anda bisa menemukan APK yang ditandatangani dalam folder build/outputs/apk/ di dalam direktori proyek untuk modul yang Anda bangun.

Bila Anda membuat konfigurasi penandatanganan, informasi penandatanganan disertakan dalam teks biasa di file pembangunan Gradle. Jika Anda bekerja dalam tim atau berbagi kode secara publik, Anda harus mengamankan informasi penandatanganan dengan membuangnya dari file pembangunan dan menyimpannya secara terpisah. Anda bisa membaca selengkapnya tentang cara membuang informasi penandatanganan dari file pembangunan di Membuang Informasi Penandatanganan dari File Pembangunan Anda. Untuk mengetahui selengkapnya tentang mengamankan informasi penandatanganan, baca Mengamankan kunci Anda.

Menandatangani setiap ragam produk secara berbeda

Jika aplikasi Anda menggunakan beberapa ragam produk dan Anda ingin menandatangani setiap ragam secara berbeda, Anda bisa membuat konfigurasi penandatanganan tambahan dan menetapkan menurut ragamnya:

  1. Di jendela Project, klik kanan pada aplikasi Anda dan klik Open Module Settings.
  2. Di jendela Project Structure, pada Modules di panel kiri, klik modul yang ingin Anda tandatangani.
  3. Klik tab Signing, kemudian klik Add .
  4. Pilih file keystore Anda, masukkan nama untuk konfigurasi penandatanganan ini (karena Anda boleh membuat lebih dari satu), dan masukkan informasi yang diperlukan.

    Gambar 8. Jendela untuk membuat konfigurasi penandatanganan baru.

  5. Ulangi langkah 3 dan 4 bila perlu hingga Anda membuat semua konfigurasi penandatanganan.
  6. Klik tab Flavors.
  7. Klik ragam yang ingin Anda konfigurasi, kemudian pilih konfigurasi penandatanganan yang sesuai dari menu tarik-turun Signing Config.

    Gambar 9. Mengonfigurasi setelan penandatanganan menurut ragam produk.

    Ulangi untuk mengonfigurasi ragam produk tambahan.

  8. Klik OK.

Anda juga bisa menetapkan setelan penandatanganan dalam file konfigurasi Gradle. Untuk informasi selengkapnya, lihat Mengonfigurasi Setelan Penandatanganan.

Menandatangani aplikasi Android Wear

Jika Anda membangun aplikasi Android Wear, proses penandatanganan aplikasi bisa berbeda dibandingkan proses yang dijelaskan pada laman ini. Lihat informasi tentang pengemasan dan penerbitan aplikasi Android Wear.

Pertimbangan penandatanganan

Anda harus menandatangani semua APK dengan sertifikat yang sama selama masa aktif yang diperkirakan dari aplikasi Anda. Ada sejumlah alasan mengapa Anda harus melakukannya:

Jika Anda berencana untuk mendukung peningkatan versi aplikasi, pastikan kunci penandatanganan aplikasi memiliki masa berlaku yang melebihi masa aktif yang diperkirakan dari sebuah aplikasi. Masa berlaku yang disarankan adalah 25 tahun atau lebih. Bila masa berlaku kunci Anda berakhir, pengguna tidak akan bisa meningkatkan versi aplikasi Anda ke versi baru dengan lancar.

Jika berencana memublikasikan aplikasi Anda di Google Play, kunci yang digunakan untuk menandatangani APK ini harus memiliki masa berlaku hingga setelah 22 Oktober 2033. Google Play memberlakukan persyaratan ini untuk memastikan pengguna bisa meningkatkan versi aplikasi dengan lancar saat versi baru tersedia. Jika Anda menggunakan Penandatanganan Aplikasi Google Play, Google memastikan aplikasi Anda telah ditandatangani dengan benar dan dapat menerima pembaruan selama masa aktif mereka.

Mengamankan kunci Anda

Jika Anda memutuskan untuk mengelola dan mengamankan sendiri kunci penandatanganan aplikasi dan keystore (bukannya memilih menggunakan Penandatanganan Aplikasi Google Play), pengamanan kunci penandatanganan aplikasi adalah hal yang sangat penting, baik bagi Anda maupun pengguna. Jika Anda mengizinkan seseorang menggunakan kunci, atau jika Anda membiarkan keystore dan sandi dalam tempat yang tidak aman sehingga pihak ketiga bisa menemukan dan menggunakannya, identitas pengesahan Anda dan kepercayaan pengguna akan rusak.

Catatan: Jika Anda menggunakan Penandatanganan Aplikasi Google Play, kunci penandatanganan aplikasi tetap aman menggunakan infrastruktur Google. Anda harus tetap menyimpan kunci unggahan seperti yang dijelaskan di bawah ini. Jika kunci unggahan Anda rusak, Anda bisa menghubungi Google untuk mencabutnya dan menerima kunci unggahan baru.

Jika pihak ketiga berhasil mengambil kunci tersebut tanpa seizin atau sepengetahuan Anda, orang itu bisa menandatangani dan mendistribusikan aplikasi yang menggantikan aplikasi asli Anda dengan maksud jahat atau merusaknya. Orang tersebut juga bisa menandatangani dan mendistribusikan aplikasi dengan identitas Anda untuk menyerang aplikasi lain atau sistem itu sendiri, dan merusak atau mencuri data pengguna.

Kunci privat Anda diperlukan untuk menandatangani semua versi aplikasi di masa mendatang. Jika Anda kehilangan atau lupa meletakkan kunci, Anda tidak akan dapat memublikasikan pembaruan ke aplikasi yang ada. Anda tidak bisa membuat kembali kunci yang sebelumnya telah dibuat.

Reputasi Anda sebagai entitas developer bergantung pada pengamanan Anda terhadap kunci penandatanganan aplikasi secara tepat, setiap waktu, hingga kunci itu kedaluwarsa. Inilah beberapa tip untuk menjaga kunci Anda agar tetap aman:

Secara umum, jika Anda mengikuti tindakan pencegahan yang semestinya saat membuat, menggunakan, dan menyimpan kunci, maka kunci akan tetap aman.

Membuang informasi penandatanganan dari file pembangunan Anda

Bila Anda membuat konfigurasi penandatanganan, Android Studio akan menambahkan informasi penandatanganan dalam teks biasa ke file build.gradle modul. Jika Anda bekerja dengan tim atau menjadikan kode Anda sebagai sumber terbuka, Anda harus memindah informasi sensitif ini dari file pembangunan agar tidak mudah diakses oleh orang lain. Caranya, Anda harus membuat file properti terpisah untuk menyimpan informasi aman dan merujuk ke file itu dalam file pembangunan Anda seperti berikut:

  1. Buat konfigurasi penandatanganan, dan tetapkan ke satu atau beberapa tipe pembangunan. Petunjuk ini beranggapan bahwa Anda telah mengonfigurasi satu konfigurasi penandatanganan bagi tipe pembangunan versi rilis, seperti yang dijelaskan dalam Mengonfigurasi Proses Pembangunan untuk Menandatangani APK Secara Otomatis, di atas.
  2. Buat file bernama keystore.properties dalam direktori akar proyek Anda. File ini harus berisi informasi penandatanganan Anda, seperti berikut:
    storePassword=myStorePassword
    keyPassword=mykeyPassword
    keyAlias=myKeyAlias
    storeFile=myStoreFileLocation
    
  3. Di file build.gradle modul, tambahkan kode untuk memuat file keystore.properties Anda sebelum blok android {}.
    ...
    
    // Create a variable called keystorePropertiesFile, and initialize it to your
    // keystore.properties file, in the rootProject folder.
    def keystorePropertiesFile = rootProject.file("keystore.properties")
    
    // Initialize a new Properties() object called keystoreProperties.
    def keystoreProperties = new Properties()
    
    // Load your keystore.properties file into the keystoreProperties object.
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
    
    android {
        ...
    }
    
    

    Catatan: Anda bisa memilih untuk menyimpan file keystore.properties di lokasi lain (misalnya, dalam folder modul bukannya di folder akar untuk proyek, atau di server pembangunan jika Anda menggunakan alat integrasi berkesinambungan). Dalam hal itu, Anda harus memodifikasi kode di atas untuk melakukan inisialiasi keystorePropertiesFile secara benar dengan menggunakan lokasi file keystore.properties yang sesungguhnya.

  4. Anda bisa merujuk ke properti yang disimpan di keystoreProperties dengan menggunakan sintaks keystoreProperties['propertyName']. Modifikasi blok signingConfigs dari file build.gradle modul Anda untuk mereferensikan informasi penandatanganan yang disimpan di keystoreProperties menggunakan sintaks ini.
    android {
        signingConfigs {
            config {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            }
        }
        ...
      }
    
  5. Buka jendela alat Build Variants dan pastikan tipe pembangunan versi rilis telah dipilih.
  6. Klik Build > Build APK untuk membangun versi rilis Anda, dan konfirmasikan bahwa Android Studio telah membuat APK yang ditandatangani dalam direktori build/outputs/apk/ untuk modul Anda.

Karena file pembangunan Anda tidak lagi berisi informasi sensitif, kini Anda bisa menyertakannya dalam kontrol sumber atau mengunggahnya ke basis kode bersama. Pastikan menjaga keamanan file keystore.properties. Caranya antara lain dengan membuangnya dari sistem kontrol sumber Anda.

Membangun dan menandatangani aplikasi Anda dari baris perintah

Anda tidak memerlukan Android Studio untuk menandatangani aplikasi. Anda bisa menandatangani aplikasi dari baris perintah menggunakan alat apksigner atau mengonfigurasi Gradle untuk menandatanganinya bagi Anda selama pembuatan. Untuk kedua cara tersebut, Anda harus terlebih dahulu membuat kunci privat menggunakan keytool. Misalnya:

keytool -genkey -v -keystore my-release-key.jks
-keyalg RSA -keysize 2048 -validity 10000 -alias my-alias

Catatan: keytool terletak di direktori bin/ dalam JDK Anda. Untuk menemukan JDK dari Android Studio, pilih File > Project Structure, kemudian klik SDK Location dan Anda akan melihat JDK location.

Contoh ini meminta sandi Anda untuk keystore dan kunci, dan menyediakan bidang Nama yang Dibedakan untuk kunci Anda. Itu kemudian menghasilkan keystore sebagai file yang bernama my-release-key.jks, menyimpannya di direktori saat ini (Anda bisa memindahkannya ke mana pun Anda mau). Keystore berisi satu kunci yang berlaku selama 10.000 hari.

Kini Anda bisa membangun APK tidak bertanda tangan dan menandatanganinya secara manual atau mengonfigurasi Gradle untuk menandatangani APK Anda.

Membangun APK tidak bertanda tangan dan menandatanganinya secara manual

  1. Buka baris perintah dan arahkan ke akar direktori proyek Anda—dari Android Studio, pilih View > Tool Windows > Terminal. Kemudian panggil tugas assembleRelease:
    gradlew assembleRelease
    

    Ini akan membuat APK bernama module_name-unsigned.apk di project_name/module_name/build/outputs/apk/. APK ini tidak ditandatangani dan tidak diselaraskan pada saat ini—APK tidak dapat dipasang hingga ditandatangani dengan kunci privat Anda.

  2. Selaraskan APK yang belum ditandatangani menggunakan zipalign:

    zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
    

    zipalign memastikan bahwa semua data yang tidak dikompresi dimulai dengan penyelarasan byte tertentu secara relatif terhadap awal file, yang dapat mengurangi jumlah RAM yang dikonsumsi oleh sebuah aplikasi.

  3. Tandatangani APK Anda dengan kunci privat menggunakan apksigner:

    apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
    

    Contoh ini menghasilkan APK yang ditandatangani pada my-app-release.apk setelah menandatanganinya dengan sertifikat dan kunci privat yang disimpan dalam satu file KeyStore: my-release-key.jks.

    Alat apksigner mendukung opsi penandatanganan lain, termasuk penandatanganan file APK menggunakan kunci privat dan file sertifikat terpisah, dan penandatanganan APK menggunakan beberapa penanda tangan. Untuk detail selengkapnya, lihat referensi apksigner.

    Catatan: Untuk menggunakan alat apksigner, Anda harus memasang Android SDK Build Tools revisi 24.0.3 atau yang lebih tinggi. Anda bisa memperbarui paket ini menggunakan SDK Manager.

  4. Pastikan APK Anda telah ditandatangani:

    apksigner verify my-app-release.apk
    

Mengonfigurasi Gradle untuk menandatangani APK Anda

  1. Buka file build.gradle tingkat-modul dan tambahkan blok signingConfigs {} dengan entri untuk storeFile, storePassword, keyAlias dan keyPassword, kemudian teruskan objek tersebut ke properti signingConfig dalam tipe versi Anda. Misalnya:
    android {
        ...
        defaultConfig { ... }
        signingConfigs {
            release {
                storeFile file("my-release-key.jks")
                storePassword "password"
                keyAlias "my-alias"
                keyPassword "password"
            }
        }
        buildTypes {
            release {
                signingConfig signingConfigs.release
                ...
            }
        }
    }
    

    Karena Gradle membaca jalur secara relatif terhadap build.gradle, contoh di atas hanya akan berfungsi jika my-release-key.jks berada dalam direktori yang sama dengan file build.gradle.

    Catatan: Dalam kasus ini, sandi kunci dan keystore langsung terlihat di file build.gradle. Untuk keamanan yang lebih baik, Anda harus membuang informasi penandatanganan dari file pembangunan Anda.

  2. Buka baris perintah di direktori akar proyek Anda dan panggil tugas assembleRelease:
    gradlew assembleRelease
    

Ini akan membuat APK bernama module_name-release.apk di project_name/module_name/build/outputs/apk/. File APK ini ditandatangani dengan kunci privat yang ditetapkan dalam file build.gradle Anda dan diselaraskan dengan zipalign.

Dan setelah Anda mengonfigurasi versi rilis tersebut dengan kunci penandatanganan, tugas "pasang" tersedia untuk tipe versi itu. Jadi Anda bisa membangun, menyelaraskan, menandatangani, dan memasang APK versi rilis pada semua emulator atau perangkat dengan tugas installRelease.

APK yang ditandatangani dengan kunci privat Anda sudah siap didistribusikan, namun Anda sebaiknya membaca terlebih dulu tentang cara memublikasikan aplikasi dan meninjau daftar periksa peluncuran Google Play.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)