Tidak dapat menginstal apk yang ditandatangani ke perangkat secara manual, mendapat kesalahan "Aplikasi tidak diinstal"

107

Saya ingin mempublikasikan aplikasi saya ke GooglePlay tetapi pertama-tama saya ingin melakukan pengujian terakhir dengan apk yang ditandatangani untuk memastikan bahwa semua kunci API yang digunakan berfungsi dengan benar dengan versi rilis (GMaps, Facebook, dll)

Jadi saya baru saja membuat versi yang ditandatangani dari aplikasi saya dengan kunci rilis kami dan ketika saya mencoba menginstal aplikasi ke perangkat saya mendapat kesalahan:

masukkan deskripsi gambar di sini

Saya telah mencoba menyalin apk ke perangkat dan menginstalnya dengan aplikasi penginstal apk.

Anehnya, ketika saya melakukan proses yang sama dengan kunci penandatanganan debug, semuanya baik-baik saja, saya dapat menginstal dan menjalankan aplikasi.

Berikut langkah - langkah prosedurnya:

Saya memilih kunci rilis , ketik kata sandi.

Berikut langkah-langkah prosedurnya:

Saya memilih tipe rilis rilis daripada debugging

Saya memilih tipe rilis rilis daripada debugging

Kalau-kalau saya juga mendefinisikan dalam file gradle kunci penandatanganan tetapi saya harus mengakui saya tidak tahu apakah itu perlu.

Untuk berjaga-jaga jika saya juga menentukan dalam file gradle kunci penandatanganan tetapi saya harus mengakui bahwa saya tidak tahu apakah itu perlu.

Saya mencoba seperti 7 tujuh kali sekarang jadi saya menganggap masalah ini bukan hanya kata sandi yang salah ketik , juga saya dapat membuat ini berfungsi dengan kunci penandatanganan android debug standar.

Tolong bantu jika Anda bisa.

Adam Varhegyi
sumber
1
Salam. Jawaban ini dapat menyelesaikan masalah Anda: http://stackoverflow.com/a/42745459/1676736
Sayed Abolfazl Fatemi
saya menghadapi masalah yang sama. Apa alasan sebenarnya? Apakah kamu menemukannya? @Adam Varyi
Singh
@RohitSingh Jawabannya di bawah, lol.
Adam Varhegyi
Maksud saya, aplikasi tidak dicopot sepenuhnya bahkan Anda mencopot pemasangannya? Atau hanya Android 5.0 (atau bahkan lebih tinggi).
Rohit Singh
1
@RohitSingh Masalah saya persis seperti jawaban yang dijelaskan. Aplikasi tersebut dipasang untuk pengguna lain di ponsel, dan saya tidak melihatnya dengan pengguna lain. Jadi saya harus mencopot pemasangannya untuk "Semua pengguna"
Adam Varhegyi

Jawaban:

81

Anda mungkin menggunakan perangkat Android 5.0 atau lebih tinggi.

Cukup buka Pengaturan -> Aplikasi -> Klik Aplikasi Anda. ---> Di halaman Info aplikasi di menu bilah tindakan akan ada opsi bernama "Copot Pemasangan untuk Semua pengguna" klik itu. Aplikasi Anda akan dicopot sepenuhnya dan sekarang Anda dapat mencoba menginstal versi baru tanpa masalah. Semoga ini bisa membantu Anda

Periksa solusi saya dari tautan di bawah ini.

Tautan 1

Semoga bisa membantu Anda.

Ragu Swaminathan
sumber
Bagaimana mereka bisa melakukan ini dengan cara itu. Bekerja btw terima kasih.
Adam Varhegyi
2
Meskipun tautan ini mungkin menjawab pertanyaan, lebih baik menyertakan bagian penting dari jawaban di sini dan menyediakan tautan untuk referensi. Jawaban link saja bisa menjadi tidak valid jika halaman tertaut berubah.
SOFe
Sobat, terima kasih banyak, bug ini membutuhkan waktu seminggu untuk mengetahuinya
Diego Vinícius
Senang, membantu Anda !! @ DiegoVinícius
Ragu Swaminathan
66

Untuk Updated Android Studio 2.3pengguna saat ini, jawaban ini untuk Anda karena hampir tidak ada orang yang menggunakan gerhana saat ini untuk pengembangan Android karena studio Android memiliki kemajuan besar.

Jadi, Ikuti cara ini untuk membuat Signed apkfile Anda .

  1. Build > Hasilkan Signed apk .
  2. Membuat Keystore path .
  3. Taruh Password, alias, key password.
  4. Build typepilih yang sesuai (mis. untuk dirilis di penggunaan playstore release).
  5. Signature Versionpilih keduanya V1dan V2kotak centang.
  6. Finsih.
  7. Pergi ke dari explorermana Anda memilih untuk menyimpan apk dan Anda akan melihat .apknama file Anda saat app-release.apkmenggunakannya.
Crime_Master_GoGo
sumber
14
Memilih tanda tangan V1 berhasil
Meanman
Anda menghemat banyak waktu saya
penasaranMind
Bekerja untuk saya. Menghemat waktu . Terima kasih
YeeKhin
5
Memeriksa keduanya V1& V2adalah solusinya!
Alex Jolig
1
Memeriksa V1 menyelesaikan masalah untuk saya. Sebelumnya, hanya V2 yang diperiksa.
BluJ IT
51

memilih Signature Version v1 dan v2 keduanya memecahkan masalah untuk saya .... coba sajamasukkan deskripsi gambar di sini

Shubhamhackz
sumber
4
Ini adalah masalah saya tepatnya. pertanyaannya tetap mengapa kita juga harus menandai V1 (tanda tangan jar)? dan bagaimana google mengharapkan kita mengetahui hal ini?
A. Alqadomi
Itu tidak wajib. Anda harus mencentang KEDUA dari kotak centang tersebut jika memungkinkan, tetapi jika mekanisme penandatanganan V2 yang baru memberi Anda masalah, Anda dapat memeriksa keduanya jika Anda mengalami masalah.
Shubhamhackz
43

Hal yang sama terjadi pada saya, selama saya membuat apk saya dari Build> Build APK. Saya dapat menginstal dan menghapus apk sebanyak mungkin tanpa masalah, tetapi sebaliknya jika saya membuat Build> Generate Signed APK, ketika saya memberikan apk ke telepon dan mencoba menginstalnya, itu hanya mengizinkan saya satu kesempatan, yang sama yang keluar pesan berikut:

masukkan deskripsi gambar di sini

sampai saat itu semuanya baik-baik saja jika saya memilih "INSTAL DENGAN CARA APA PUN", tetapi yang terjadi jika saya mencopot pemasangan aplikasi dan ingin memasangnya kembali (skenario yang mungkin terjadi), hal berikut terjadi:

masukkan deskripsi gambar di sini

jadi saya memecahkan masalah dengan menonaktifkan play protect, yang saya capai (di dalam Google Play)> Menu> Play Protect> Cari ancaman keamanan (nonaktifkan).

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Gerrard
sumber
Solusi ini berhasil untuk saya. Perubahan lain oleh Google +1
Siap Android
Anda menyelamatkan hidup saya!
akcoban
Bisakah Anda memberi tahu kami mengapa ini terjadi? Apa yang saya lakukan salah yang menyebabkan ini menjadi perbaikan?
sparkhead95
16

"Aplikasi tidak diinstal" muncul saat aplikasi dengan paket yang sama sudah diinstal di perangkat yang sama. hapus saja aplikasi pertama Anda yang Anda gunakan untuk tujuan pengujian sebelum membuatnya menjadi apk yang ditandatangani. Ini akan berhasil. Bersulang!

Tara
sumber
8
Ya, saya tahu tetapi belum diinstal sebelumnya.
Adam Varhegyi
6
Bagaimana cara saya menginstal apk dengan versi yang lebih tinggi, tanpa menghapus aplikasi saat ini?
pengguna7856586
12

Pilih Signature Version v1 dan v2 akan menyelesaikan masalah

masukkan deskripsi gambar di sini

v1

File JAR dapat ditandatangani dengan menggunakan alat baris perintah jarsigner atau secara langsung melalui java.security API. Setiap entri file, termasuk file yang tidak terkait dengan tanda tangan dalam direktori META-INF, akan ditandatangani jika file JAR ditandatangani oleh alat jarsigner. Untuk setiap entri file yang ditandatangani dalam file JAR yang ditandatangani, entri manifes individu dibuat untuknya selama belum ada dalam manifes

Skema V2

tanda tangan v1 tidak melindungi beberapa bagian APK, seperti metadata ZIP. Pemverifikasi APK perlu memproses banyak struktur data yang tidak tepercaya (belum diverifikasi), lalu membuang data yang tidak tercakup oleh tanda tangan. Ini menawarkan permukaan serangan yang cukup besar. Selain itu, pemverifikasi APK harus melepaskan semua entri yang dikompresi, sehingga memakan lebih banyak waktu dan memori. Untuk mengatasi masalah ini, Android 7.0 memperkenalkan APK Signature Scheme v2

Secara default, Android Studio 2.2 dan Android Plugin untuk Gradle 2.2 menandatangani aplikasi Anda menggunakan APK Signature Scheme v2 dan skema penandatanganan tradisional, yang menggunakan penandatanganan JAR.

Direkomendasikan untuk menggunakan APK Signature Scheme v2 tetapi tidak wajib. silahkan lihat detailnya

Lineesh K Mohan
sumber
10

Di Android Studio 3.0 dan yang Lebih Baru

Seperti yang dijelaskan di sini

Catatan: Tombol Run membuat APK dengan testOnly = "true", yang berarti APK hanya dapat diinstal melalui adb (yang digunakan Android Studio). Jika Anda menginginkan APK yang dapat di-debug yang dapat diinstal orang tanpa adb, pilih varian debug Anda dan klik Build Bundle (s) / APK (s)> Build APK (s).

Tambahkan android:testOnly="false"di dalam tag Aplikasi di AndroidManifest.xml

Referensi: https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html

Ketan Ramani
sumber
7

Di atas jawaban shubham soni bekerja untuk saya, sebenarnya itu terjadi pada versi android> = 5.0. Di atas Anda dapat menginstal, cukup gunakan ini saat membuat apk Anda masukkan deskripsi gambar di sini...

Amit raj
sumber
1
mengapa jawaban duplikat ini?
sziraqui
@sziraqui: Subhankar soni belum menyebutkan mengapa "Tidak dapat menginstal apk yang ditandatangani ke perangkat secara manual, mendapat kesalahan" Aplikasi tidak diinstal ". Saya menghadapi masalah yang sama terkait dengan Versi Os seperti yang saya sebutkan di atas, jadi untuk pemahaman yang lebih baik saya sebutkan itu. ada yang salah dalam jawaban saya?. Untuk versi android <= 5.0 Anda akan dapat menginstal apk yang sama tanpa menandai kedua kotak centang versi tanda tangan.
Amit raj
Jawaban Anda hanya menambahkan satu poin lagi ke jawaban asli jadi itu seharusnya menjadi komentar. Jika Anda memposting ini sebagai jawaban, Anda harus menambahkan semacam kutipan yang mendukung klaim Android 5.0 Anda. Bagaimana jika masalah Anda sebenarnya terkait dengan ide android dan bukan versi android?
sziraqui
Terima kasih, gambar di jawaban memberi saya ide untuk mencoba tanda tangan V1 dan V2 diaktifkan. Sebelumnya saya hanya pergi dengan V1
jasxir
6

Di sini saya menyelesaikan masalah ini

Alasan di balik masalah ini adalah, sudah ada aplikasi dengan nama paket yang sama di ponsel, tetapi Anda tidak dapat menemukannya di menu ponsel (U sudah melakukan un-instal tetapi sebenarnya masih ada di ponsel Anda).

Untuk melihat aplikasi pergi ke ponsel SETTINGS -> APPS . Di sana Anda dapat melihat aplikasi, tetapi di dalamnya tombol UNINSTALL mungkin dinonaktifkan. klik tombol menu overflow untuk melihat Uninstall untuk semua pengguna .

Setelah melakukan uninstall untuk semua pengguna saya telah berhasil menginstal apk saya yang ditandatangani. Anda juga dapat menggunakan adb untuk menghapus aplikasi dari ponsel.

adb uninstall package name

Selain itu, jika ponsel Anda mendukung banyak pengguna, periksa apakah aplikasi masing-masing tidak diinstal untuk pengguna lain. Jika itu dipasang untuk orang lain, pertama-tama hapus instalan aplikasi sebelumnya dan coba lagi

Alex Chengalan
sumber
4

Ini pertanyaan yang cukup lama, tetapi solusi saya adalah mengubah versionCode (peningkatan) di build.gradle

mateusz-dot
sumber
4

Pergi ke Build.Gradle (module: app)

gunakan ini - minifyEnabled false

Abhinav Pandey
sumber
4

minifyEnabled false

adalah satu-satunya yang berhasil untuk saya setelah 3 hari penelitian di semua forum!

Toto1
sumber
1
Ini tampaknya hanya pengulangan dari jawaban yang ada ini .
Pang
Dengan komentar tambahan.
robinCTS
Dengan kata lain, ini seharusnya diposting sebagai komentar atas jawaban itu , bukan sebagai jawaban itu sendiri.
robinCTS
3

Itu mungkin karena Anda menjalankan file APK dari penyimpanan kartu SD eksternal. Cukup salin file APK ke masalah penyimpanan internal akan terpecahkan

Vu Thai Duy
sumber
1

Ini bisa terjadi karena pilihan versi tanda tangan Anda. Pada beberapa telepon, kesalahan penginstalan terjadi jika versi tanda tangan dipilih sebagai V2. Jadi jika itu terjadi, coba pilih V1, itu pasti akan berhasil.

Prashant Paliwal
sumber
1

Saya menghadapi masalah yang sama hari ini, saya ingat bahwa saya menandatangani apk saya dengan penandatanganan Google Play "baru":


masukkan deskripsi gambar di sini


Pastikan jika Anda menandatangani aplikasi Anda dengan penandatanganan Google Play.

Jika Anda melakukannya:

  • Instal pembaruan dengan mengunggah apk Anda ke Konsol Google (seperti yang biasa Anda lakukan saat memperbarui aplikasi):

masukkan deskripsi gambar di sini


  • Setelah berhasil diunggah, buka Artifact librarydi menu.
  • Anda akan melihat apk yang baru saja Anda unggah.
  • Tekan tombol unduh dan pilih Download derived APK.

Sekarang Anda dapat menginstal apk.

HB.
sumber
0

jika Versi Android Studio Anda Lebih Besar dari 3.0

Sepertinya kita tidak bisa langsung menggunakan apk setelah berjalan di perangkat dari folder build -> output-> apk.

Setelah memutakhirkan ke android studio 3.0 Anda harus pergi ke Build -> Build Apk (s) lalu salin apk dari build -> output -> apk -> debug

masukkan deskripsi gambar di sini

Keshav Gera
sumber
Judul pertanyaan ini - "Cannot install signed apk". Anda mengacu pada debug apk.
KRK
0

File> Project Structure> Build Variants> Select release> Pastikan 'Signing Config' tidak kosong> jika dipilih dari drop window $signingConfigs.release

Saya melakukan ini dengan Android Studio 3.1.4 dan memungkinkan saya untuk membuat apk rilis setelah mengikuti semua langkah di atas untuk membuat apk rilis dan kunci rilis serta menambahkan info ke app gradle. Bersulang!

Treewallie
sumber
$signingConfigs.releasetidak tersedia, hanya $signingConfigs.debugtersedia.
KRK
Lalu pergi ke Build> Generate APK> Select APK dan ikuti instruksinya.
Treewallie
0

Saya menghadapi masalah yang sama di aplikasi android saya. Saya baru saja memperbarui beberapa perpustakaan dan kemudian membuat APK tanda. Sekarang kerjanya.

shailesh
sumber
0

Anda tidak perlu mencopot pemasangan versi Google Play jika Penandatanganan Aplikasi oleh Google Play diaktifkan untuk aplikasi Anda, ikuti langkah-langkah berikut:
1. Buat versi aplikasi yang ditandatangani dengan kunci rilis Anda
2. Buka konsol Pengembang Google Play
3. Buat rilis track tertutup (rilis alfa atau beta) dengan versi baru yang ditandatangani dari aplikasi
Anda 4. Sekarang Anda dapat mengunduh apk yang ditandatangani oleh App Signing oleh Google Play , pilih APK turunanmasukkan deskripsi gambar di sini

  1. Instal APK turunan yang diunduh

Alasannya adalah Penandatanganan Aplikasi oleh Google Play menandatangani aplikasi rilis dengan kunci yang berbeda, jika Anda memiliki aplikasi yang diinstal dari Play Store, dan Anda ingin menguji aplikasi versi rilis baru (dibuat dari Android Studio) di ponsel Anda, "Aplikasi tidak diinstal" terjadi sejak versi lama dan versi baru ditandatangani oleh dua kunci berbeda: satu dengan Penandatanganan Aplikasi oleh Google Play dan satu lagi dengan kunci Anda.

Abduaziz Kayumov
sumber
0

Penghapusan android:testOnly="true"atribut dari AndroidManifest.xml berhasil. tautan

Sachin K
sumber
0

Mohon hapus instalan aplikasi debug di perangkat atau cukup tingkatkan kode versi untuk mengatasi masalah ini

Jaaveeth
sumber
0

Dalam kasus saya, saya mencoba menguji penginstalan APK yang ditandatangani dan versi yang terinstal saat ini di perangkat saya tidak ditandatangani (membuat versi debug langsung dari studio Android)

policenauts
sumber
0

Sudah jelas tetapi masih sulit untuk mencari tahu bagi saya,

Harap periksa apakah perangkat seluler Anda memiliki cukup ruang untuk menginstal apk. dan itu tidak penuh.

Makarand
sumber