İmzalı apk cihaza manuel olarak yüklenemiyor, "Uygulama yüklenmedi" hatası aldı


107

Uygulamamı GooglePlay'de yayınlamak istiyorum, ancak önce kullanılan tüm API anahtarlarının yayın sürümüyle (GMaps, Facebook vb.) Doğru şekilde çalıştığından emin olmak için imzalı apk ile son bir test yapmak istiyorum.

Bu yüzden sürüm anahtarımızla uygulamamın imzalı bir sürümünü yaptım ve uygulamayı cihaza yüklemeye çalıştığımda bir hata aldım:

görüntü açıklamasını buraya girin

Apk'yi cihaza kopyalayıp bir apk yükleyici uygulamasıyla yüklemeyi denedim .

Garip olan şey, aynı işlemi hata ayıklama imzalama anahtarı ile yaptığımda , her şey yolunda, uygulamayı yükleyip çalıştırabilirim.

İşte prosedürün adımları:

Serbest bırakma anahtarını seçiyorum, şifreyi yazıyorum .

İşte prosedürün adımları:

Yapmam seçme Sürüm oluşturma türü yerine hata ayıklama

Hata ayıklama yerine sürüm derleme türünü seçiyorum

Sadece gradle dosyasında imza anahtarlarını da tanımlamam durumunda , ancak itiraf etmeliyim ki gerekli olup olmadığını bilmiyorum.

Sadece gradle dosyasında imza anahtarlarını da tanımlamam durumunda, ancak itiraf etmeliyim ki gerekli olup olmadığını bilmiyorum.

Şimdi 7'yi yedi kez denedim, bu yüzden bu sorunun sadece yanlış yazılmış bir şifre olmadığını varsayıyorum , ayrıca bu işi standart hata ayıklama android imzalama anahtarı ile yapabilirim.

Lütfen yapabilirseniz yardım edin.


1
Salam. Bu cevap sorununuzu çözebilir: http://stackoverflow.com/a/42745459/1676736
Abolfazl Fatemi Sayed

Ben de aynı problemle karşı karşıyayım. Gerçek sebep neydi? Buldun mu @Adam Varhegyi
Rohit Singh

@RohitSingh Aşağıdaki cevap, lol.
Adam Varhegyi

Demek istediğim, uygulama tamamen kaldırılmamış olsa bile? Veya sadece Android 5.0 (veya hatta üstü) bir şey.
Rohit Singh

1
@RohitSingh Benim sorunum tam da yanıtın açıkladığı gibiydi. Uygulama telefondaki başka bir kullanıcı için yüklendi ve onu farklı bir kullanıcıyla görmedim. Bu yüzden onu "Tüm kullanıcılar" için kaldırmak zorunda kaldım
Adam Varhegyi

Yanıtlar:


81

Android 5.0 veya üzeri bir cihazı kullanıyor olabilirsiniz.

Ayarlar -> Uygulamalar -> Uygulamanıza tıklayın. ---> İşlem çubuğu menüsünde Uygulama İçi bilgi sayfasında "Tüm Kullanıcılar için Kaldır" adlı bir seçenek bulunacaktır. Uygulamanız tamamen kaldırılacak ve artık yeni sürümü sorunsuz bir şekilde yüklemeyi deneyebilirsiniz. Umarım bu sana yardımcı olur

Çözümümü aşağıdaki bağlantıdan kontrol edin.

Bağlantı 1

Umarım size yardımcı olur.


Bunu bu şekilde nasıl yapabilirler? Btw çalışıyoruz teşekkürler.
Adam Varhegyi

2
Bu bağlantı soruyu cevaplayabilirken, cevabın temel kısımlarını buraya eklemek ve referans için bağlantıyı sağlamak daha iyidir. Bağlantılı sayfa değişirse, yalnızca bağlantı yanıtları geçersiz hale gelebilir.
SOFe

Adamım çok teşekkür ederim, bu hatayı
Diego Vinícius

Sevindim, sana yardım ettim !! @ DiegoVinícius
Ragu Swaminathan

66

Akım için Updated Android Studio 2.3 kullanıcılar için bu cevap tam size göre, çünkü günümüzde Android stüdyosunda çok büyük gelişmeler olduğu için insanlar eclipse'i neredeyse hiç kullanmıyor.

Öyleyse, Signed apkdosyanızı oluşturmak için bu yolu izleyin .

  1. Build > Oluştur Signed apk .
  2. Oluşturmak Keystore path .
  3. Koy Password, alias, key password.
  4. Build typeuygun şekilde seçin (örneğin, oyun mağazasında kullanım yayınlamak için release).
  5. Signature Versionhem seçmek V1ve V2onay kutularını.
  6. Finsih.
  7. explorerAPK'nin saklanması için seçtiğiniz yere gidin ve .apkdosya adınızı app-release.apkonu kullanırken göreceksiniz .

14
İmza
V1'i

çok zamanımı kurtardın
wonderMind

Benim için çalış. Zamandan tasarruf . Teşekkürler
YeeKhin

6
İkisini de kontrol etmek V1& V2çözümdü!
Alex Jolig

1
V1'i kontrol etmek sorunu benim için çözdü. Önceden, yalnızca V2 kontrol ediliyordu.
BluJ IT

52

İmza Sürümü v1 ve v2'yi seçmek sorunu benim için çözdü .... deneyingörüntü açıklamasını buraya girin


4
Bu benim sorunumdu. soru kalır neden V1'i (jar imzası) da işaretlemeliyiz? ve google bunu bilmemizi nasıl bekliyor?
A.Alqadomi

Zorunlu değildir. Mümkünse bu onay kutularının İKİSİNİ de işaretlemelisiniz, ancak yeni V2 imzalama mekanizması size sorun çıkarsa, sorunla karşılaşırsanız her ikisini de kontrol edebilirsiniz.
Shubhamhackz

43

APK'mı Build> Build APK'dan oluşturduğum sürece aynı şey bana oldu. APK'yi sorunsuz bir şekilde yükleyip kaldırabilirdim, ancak bunun yerine Build> Create Signed APK'yi oluşturursam, apk'yi telefona iletip yüklemeyi denediğimde bana sadece bir tane izin verdi vesilesiyle, aşağıdaki mesajdan çıkanla aynı:

görüntü açıklamasını buraya girin

o zamana kadar "HERHANGİ BİR ŞEKİLDE YÜKLE" yi seçersem her şey yolundaydı, ancak uygulamayı kaldırıp yeniden yüklemek istersem ne oldu (olası bir senaryo), aşağıdakiler oldu:

görüntü açıklamasını buraya girin

bu yüzden (Google Play içinde)> Menü> Play Protect> Güvenlik tehditlerini ara (devre dışı bırak) olan oyun korumasını devre dışı bırakarak sorunu çözdüm.

görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin


Bu çözüm benim için çalışıyor. Google +
Hazır Android

Hayatımı kurtardın!
akcoban

Lütfen bize bunun neden olduğunu söyler misiniz? Bunun düzeltilmesine neden olan neyi yanlış yapıyorum?
sparkhead95

16

"Uygulama yüklenmedi", aynı pakete sahip bir uygulamanın aynı cihazda zaten yüklü olduğunu gösterir. İmzalı apk'ye yapmadan önce test amacıyla kullandığınız ilk uygulamanızı silin. Bu çalışacak. şerefe!


8
Evet biliyorum ama önceden yüklenmemiş.
Adam Varhegyi

6
Mevcut uygulamayı silmeden daha yüksek sürümlü apk'yi nasıl kurabilirim?
user7856586

12

Hem İmza Sürümü v1'i hem de v2'yi seçin sorunu çözecektir

görüntü açıklamasını buraya girin

v1 şeması

Bir JAR dosyası, jarsigner komut satırı aracı kullanılarak veya doğrudan java.security API'si aracılığıyla imzalanabilir. JAR dosyası jarsigner aracı tarafından imzalanmışsa, META-INF dizinindeki imza ile ilgili olmayan dosyalar dahil her dosya girişi imzalanır. İmzalı JAR dosyasında imzalanan her dosya girişi için, bildirimde halihazırda mevcut olmadığı sürece kendisi için ayrı bir bildirim girişi oluşturulur.

V2 şeması

v1 imzaları, APK'nın ZIP meta verileri gibi bazı kısımlarını korumaz. APK doğrulayıcısının çok sayıda güvenilmeyen (henüz doğrulanmamış) veri yapısını işlemesi ve ardından imzaların kapsamadığı verileri atması gerekir. Bu, oldukça büyük bir saldırı yüzeyi sunar. Dahası, APK doğrulayıcının sıkıştırılmış tüm girişleri açması gerekir, bu da daha fazla zaman ve bellek tüketir. Bu sorunları gidermek için Android 7.0, APK Signature Scheme v2'yi kullanıma sundu

Varsayılan olarak, Android Studio 2.2 ve Gradle 2.2 için Android Eklentisi, uygulamanızı hem APK Signature Scheme v2 hem de JAR imzalamayı kullanan geleneksel imzalama şemasını kullanarak imzalar.

APK Signature Scheme v2 kullanılması önerilir ancak zorunlu değildir. lütfen ayrıntılara bakın


10

Android Studio 3.0 ve Üstünde

Olarak tarif burada

Not: Çalıştır düğmesi, testOnly = "true" ile bir APK oluşturur; bu, APK'nin yalnızca adb (Android Studio'nun kullandığı) aracılığıyla yüklenebileceği anlamına gelir. İnsanların adb olmadan yükleyebileceği hata ayıklanabilir bir APK istiyorsanız, hata ayıklama varyantınızı seçin ve Paketler / APK'lar Oluştur> APK'lar Oluştur'u tıklayın.

AndroidManifest.xml'de Uygulama etiketininandroid:testOnly="false" içine ekleyin

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


7

Shubham'ın üstünde soni cevabı benim için çalışıyor, aslında android sürümü> = 5.0'da oluyor görüntü açıklamasını buraya girin.


1
neden bu yinelenen cevap?
sziraqui

@sziraqui: Subhankar soni neden "İmzalı apk cihaza manuel olarak yüklenemiyor," Uygulama yüklenmedi "hatası oluştuğundan bahsetmedi. Yukarıda bahsettiğim gibi Os Sürümü ile ilgili aynı sorunla karşılaştım, bu yüzden daha iyi anlamak için bundan bahsetmiştim. cevabımda yanlış bir şey var mı?. Android sürümü <= 5.0 için, her iki imza sürümü onay kutusunu işaretlemeden aynı apk'yi yükleyebileceksiniz.
Amit raj

Cevabınız, orijinal cevaba sadece bir puan daha ekliyor, bu yüzden bir yorum olmalıydı. Bunu bir cevap olarak gönderiyorsanız, android 5.0 iddianızı destekleyen bir tür alıntı eklemelisiniz. Ya sorununuz aslında android ide ile ilgiliyse, android sürümüyle ilgiliyse?
sziraqui

Teşekkürler, yanıttaki resim bana hem V1 hem de V2 imzalarını etkinleştirme fikrini verdi. Daha önce sadece V1
jasxir

6

İşte bu sorunu çözdüm

Bu sorunun arkasındaki neden, telefonda zaten aynı paket adına sahip bir uygulama var, ancak bunu telefon menüsünde bulamıyorsunuz (U, yüklemeyi kaldırmayı zaten yaptı ama aslında hala telefonunuzda).

Uygulamayı görmek için SETTINGS -> APPS telefonlarına gidin . Orada uygulamayı görebilirsiniz, ancak bunun içinde KALDIR düğmesi devre dışı bırakılmış olabilir. Tüm kullanıcılar için Kaldır'ı görmek için menü taşma düğmesine tıklayın .

Tüm kullanıcılar için kaldırıldıktan sonra imzalı apk'mi başarıyla yükledim. Uygulamayı telefondan kaldırmak için adb'yi de kullanabilirsiniz.

adb uninstall package name

Buna ek olarak, mobil cihazınız birden fazla kullanıcıyı destekliyorsa , ilgili uygulamanın diğer kullanıcılar için yüklenip yüklenmediğini kontrol edin. Başkaları için yüklüyse, önce önceki uygulamayı kaldırın ve tekrar deneyin.


4

Oldukça eski bir soru ama benim çözüm değiştirmek oldu versionCode (artış) build.gradle



4

minifyEnabled false

Tüm forumlarda 3 günlük araştırma yaptıktan sonra benim için çalışan tek kişi oldu!


1
Bu, mevcut cevabın yalnızca bir tekrarı gibi görünüyor .
Pang

Eklenen yorumlarla.
robinCTS

Başka bir deyişle, bu , kendi başına bir cevap olarak değil , o cevaba bir yorum olarak gönderilmiş olmalıdır .
robinCTS

3

Bunun nedeni, APK dosyasını harici SD kart depolama alanından çalıştırmanız olabilir. Sadece APK dosyasını dahili depolama alanına kopyalayın sorunu çözülecektir


1

Bu, imza sürümü seçiminiz nedeniyle olabilir. Bazı telefonlarda, imza sürümü V2 olarak seçildiyse kurulum hataları meydana gelir. Bu olursa, V1'i seçmeyi deneyin, kesinlikle işe yarayacaktır.


1

Bugün de aynı sorunla karşılaştım, apk'mi "yeni" Google Play imzasıyla imzaladığımı hatırladım:


görüntü açıklamasını buraya girin


Uygulamanızı Google Play imzasıyla imzaladığınızdan emin olun.

Yaptıysanız:

  • APK'nızı Google Konsoluna yükleyerek bir güncelleme yükleyin (genellikle uygulamanızı güncellerken yaptığınız gibi):

görüntü açıklamasını buraya girin


  • Başarıyla yüklendikten sonra, Artifact library , menüdeki öğesini açın.
  • Yeni yüklediğiniz apk'yi göreceksiniz.
  • İndir düğmesine basın ve seçin Download derived APK.

Artık apk'yi yükleyebileceksiniz.


0

Android Studio Sürümünüz 3.0'dan Büyükse

Görünüşe göre build -> output-> apk klasöründen cihaz üzerinde çalıştırdıktan sonra apk'yi doğrudan kullanamayız.

Android studio 3.0'a yükselttikten sonra Build -> Build Apk (s) 'a gitmeniz ve ardından build -> output -> apk -> debug'dan apk'yi kopyalamanız gerekir.

görüntü açıklamasını buraya girin


Bu sorunun başlığı - "Cannot install signed apk". Hata ayıklama apk'sinden bahsediyorsunuz.
KRK

0

Dosya> Proje Yapısı> Varyantları Oluştur> Sürümü seçin> 'İmzalama Yapılandırması'nın boş olmadığından emin olun> açılır pencereden seçilirse $signingConfigs.release

Bunu Android Studio 3.1.4 ile yaptım ve sürüm apk ve sürüm anahtarı oluşturma ve uygulama gradle'a bilgi eklemenin yukarıdaki tüm adımlarını uyguladıktan sonra bir sürüm apk oluşturmama izin verdi. Şerefe!


$signingConfigs.releasemevcut değil, sadece $signingConfigs.debugmevcut.
KRK

Ardından Oluştur> APK Oluştur> APK Seç'e gidin ve talimatları izleyin.
Treewallie

0

Android uygulamamda da aynı sorunla karşılaştım. Sadece bazı kitaplıkları güncelledim ve ardından APK imzası oluşturdum. Şimdi onun işi.


0

Uygulamanız için Google Play'den Uygulama İmzalama etkinleştirilmişse , Google Play sürümünü kaldırmanız gerekmez , şu adımları izleyin:
1. Sürüm anahtarınızla uygulamanızın imzalı bir sürümünü oluşturun
2. Google Play Geliştirici konsoluna gidin
3. Uygulamanızın yeni imzalanmış sürümüyle kapalı bir kanal sürümü (alfa veya beta sürümü) oluşturun
4. Artık Google Play tarafından Uygulama İmzalama tarafından imzalanan apk'yi indirebilir, türetilmiş APK'yi seçebilirsinizgörüntü açıklamasını buraya girin

  1. İndirilen türetilmiş APK'yi yükleyin

Bunun nedeni, Google Play'den Uygulama İmzalama imzaları, Play Store'dan yüklenmiş bir uygulamanız varsa ve telefonunuzdaki yeni sürüm uygulamasını (Android Studio'dan oluşturulmuş) test etmek istiyorsanız, farklı anahtarlara sahip uygulamaları yayınlıyor. eski sürüm ve yeni sürüm iki farklı anahtarla imzalandığından beri gerçekleşir: biri Google Play'den Uygulama İmzalama ile ve diğeri sizin anahtarınızla.



0

Bu sorunların üstesinden gelmek için lütfen cihazdaki hata ayıklama uygulamasını kaldırın veya yalnızca sürüm kodunu artırın.


0

Benim durumumda imzalı bir APK yüklemeyi test etmeye çalışıyordum ve cihazımda mevcut yüklü sürüm imzasızdı (doğrudan Android stüdyosundan bir hata ayıklama sürümü oluşturma)


0

Açıkça anlaşılıyor ama yine de benim için anlamak zordu

Lütfen mobil cihazınızda apk'yi yüklemek için yeterli alan olup olmadığını kontrol edin. ve dolu değil.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.