Hata mesajı diyor - İmzalı apk oluştururken “Giriş adı 'res / layout / test_toolbar.xml' çarpıştı”


17

Ben benim android stüdyo güncelledik 3.5.x için 3.6 - aşağıdaki mesajı gösteren yapı varyantı için imzalanan apk üretirken bugün ve alma hatası Girdi adı 'res / düzeni / test_toolbar.xml' çarpıştı herhangi düzen böyle adlandırılmış sahip olmayan tüm projede bir tane. Ben " sahne " adlı özel inşa varyant var ve ne zaman imzalı bir apk oluşturmak için çalışıyorum, her zaman başarısız olur. Ben henüz herhangi bir çözüm bulmak sayılır. Lütfen bu konuda bana yardım et. Teşekkürler

Güncelleme: Aşağıdaki mesajlarda da aynı sorun oluşabilir ( AS - 3.6.1'de bulduğum gibi ). Yani bu tür bilinmeyen ve çözülemeyen mesajlar için endişelenmeyin. Şu ana kadar imzalı apk oluştururken iki yeni mesaj türü buldum:

  • Entry name 'kotlin/collections/MapWithDefault.kotlin_metadata' collided
  • Access Denied

Çözüm aynı. Bazen bunun Invalidate Cache and Restartiçin AS'nize ihtiyacınız olabilir . Bulgularınızı bana bildirin. Teşekkürler

Yanıtlar:


16

Aşağıdaki çözüm okumadan önce, 01.04.2020 benim güncelleştirme okuyunuz, sorun daha derin ve içinde bulunduğu senin kod.

Bu 3.6 güncellemesinden sonra aynı sorunu yaşadım.

* Hızlı çözüm: *

  1. projectFolder \ build öğesini sil
  2. projectFolder \ debug * öğesini sil
  3. projectFolder \ release * öğesini sil
  4. projectFolder \ app \ build öğesini sil
  5. projectFolder \ app \ build \ debug * öğesini sil
  6. projectFolder \ app \ build \ release * öğesini sil

Bu nedenle, tüm derleme, hata ayıklama ve sürüm dizinlerini silmeniz gerekir.

Tüm hata ayıklamayı silip dizinleri bırakamayabileceğinizi, ancak tüm içeriğini silebileceğinizi unutmayın.

UPD:

Sanırım bugün bu hatayı düzelttiler: resim açıklamasını buraya girin

UPD 03.03.2020: Maalesef hata düzeltilmedi.

UPD 01.04.2020: (1 Nisan şakası değil :))

Aydan beri Android Studio geliştiricileriyle çalıştım ve bugün jre kullanmak yerine jdk kullanmam söylendi, çünkü günlüklerdeki derin hatalardan biri It dedi.

Jre yerine jdk ( Dosya-> Proje Yapısı-> SDK Konumu-> JDK Konumu ) ayarladıktan sonra , "derleme çıktısı" nda gösterilmeyen bazı hatalar var, bu yüzden Analiz -> Kodu Denetle ve SEKİZ hataları aldım mizanpajlardaki yanlış görünüm kimliğine, yönlendirme ile ilgili hatalara (hi-to tools:ignore="MissingDefaultResource") ve yönlendirme ile de tezahür eden hatalara atıfta bulunmak gibi : Bunun 3.6.1'de yeni bir güncelleme olduğunu okudum - screenOrientationStudio ile hızlı bir şekilde sabitlenen yatay veya dikey hakkında : <activity tools:ignore="LockedOrientationActivity" />

Tüm hatalar Analiz -> Kodu Denetle ile giderildiğinde, jdk kullanarak ve sonra jre kullanarak (sadece test için) başarıyla imzalanmış APK oluşturdum.

Özetle, bu hata, sadece Inspect Codearaçla bulabileceğiniz derin hatalardan kaynaklandı .

Ben AS bu bir hata sanmıyorum düşünüyorum, onlar bu kodunuzu geliştirmek için yeni bir özellik olduğunu söyleyecek düşünüyorum. Ayrıca jre yerine jdk ayarlamadan bile kodunuzu incelemeye çalışmalısınız düşünüyorum.

AS desteğinden ek öneri:

BTW bir yapıyı dışa aktarırken , bazı ekstra kontroller yapan ve bazı hatalar olarak işaretlenmiş olanları releaseda çalıştırıyoruz . O olmaz bu yüzden bu onay pahalı yapýlarlintVitalfataldebug


1
Çok teşekkürler. Zaten çözdüm. Bunun kararlı bir sürüm olduğundan emin misiniz (gerçekten)?
Saadat

1
@Saadat hayır, şimdi kontrol ettim - hata hala orada.
danyapd

Çok teşekkür ederim. Düzeltme beklentisini tekrar güncelleyecektim. @danyapd
Saadat

Ben de silmem gerektiğini projectFolder\app\[all flavor folders]düşünüyorum.
drmrbrewer

1
Teşekkürler, Build > Rebuild ProjectAndroid Studio 3.6.2'de benim için düzeltildi.
gregn3

7

Apk oluştururken, output.json ve app-debug.apk hata ayıklama klasöründen silinecek hedef klasörü kontrol edin. Bundan sonra da aynı şeyi yapmayı deneyin. AFAIK, android stüdyosu için bir hata, yakında bunu düzeltebileceklerini umuyoruz :)


1
Yanıtınız için teşekkürler. Ben de aynısını yaptım ve sorunumu çözdüm. :)
Saadat

1
Çok teşekkürler!! 2.5 saat mücadeleden sonra buldum
Kishita Variya

Bunun için teşekkürler, bir cazibe gibi çalıştı
Brian

4

APK dosyası da dahil olmak üzere derleme varyantı için önceki derleme çıktılarını sildim. Bu bana yardımcı oldu


1
buildDizini bir bütün olarak silmeyi denedim , yine de aynı sorunu aldım. Yaptıklarınızı tam olarak açıklayabilir misiniz?
Pusparaj

Projenin ve uygulama / derleme dizininin kök dizinini de siliyor musunuz? Projemde apk çıktı yolu değişti ve sadece önceki apk dosyasını bulunduğu yerde sildim.
Vladislav Vatrushkin

1

Otomatik viewBinding, Kotlin kullanarak ciltleme veya 3.6'nın viewBinding özelliğini kullandığınızda olur.

Öğesi aynı kimlikleri paylaşan dosyalar ekliyorsanız, ViewBinding karıştırır ve böyle bir hata oluşturur.

Size örnek olarak iki düzen dosyası ayıran Bağdaştırıcı sınıfını örnek olarak göstereyim.

import kotlinx.android.synthetic.main.frag_subscription_recommend.view.*


override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
   return ViewHolder(
        LayoutInflater.from(parent.context).inflate(
            if (viewType == 1) {
                R.layout.frag_subscription_recommend
            } else
                R.layout.frag_subscription_common,
            parent,
            false
        )
    )
}

onBinding(){
  holder.itemView.id_button_submit.setOnClickListener {}
}

// hangi kaynağın veya mizanpajın tam olarak doldurulması gerektiğinde, bcoz gereksiniminin aynı düğme kimlikleri vardır. kullanmanız gerektiğinde:

 onBinding(){
  holder.itemView.findViewById<Button>(R.id.id_button_submit).setOnClickListener {}
}

eski uygulamayı mümkün kılar.

Bu yanınızda çalışıyorsa bana bildirin?


1
Maalesef sorun derleme, hata ayıklama ve sürüm dizinleriyle ilgiliydi. çıkış json dosyası dahil. Her neyse, cevabınız için teşekkürler
Saadat

1

Android stüdyosunu güncelledikten sonra aynı hatayla karşılaştım ve sorunu sadece projeyi temizleyerek düzelttim (Build> Clean Project)! :)

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.