Hata - Android kaynak bağlantısı başarısız oldu (AAPT2 27.0.3 Daemon # 0)


95

Bu hatayı aldım

Android stüdyosunu yeniden yüklemeyi ve .gradle klasörünü kaldırmayı deniyorum, lütfen herhangi bir çözüm var mı?

    Error:FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Android resource linking failed (AAPT2 27.0.3 Daemon #0)
  Command: C:\javasdk\build-tools\27.0.3\aapt2.exe link -I\
          C:\javasdk\platforms\android-26\android.jar\
          --manifest\



  C:\Users\Jalal D\.gradle\caches\transforms-1\files-1.1\fonticon-0.1.8.aar\2b09376fc14469ba65fc8e4d85c2eed1\res\values\values.xml:19:5-25:25: AAPT: error: resource android:attr/fontVariationSettings not found.

  C:\Users\Jalal D\.gradle\caches\transforms-1\files-1.1\fonticon-0.1.8.aar\2b09376fc14469ba65fc8e4d85c2eed1\res\values\values.xml:19:5-25:25: AAPT: error: resource android:attr/ttcIndex not found.

  error: failed linking references.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 3s

Yanıtlar:


50

Tam olarak aynı sorunu yaşadım. Aşağıdakileri yaparak sorunu çözdü : Platform / android dizininde com.android.support:support-v4:+ araması ve com.android.support:support-v4:27.1.0 ile değiştirilmesi .

Ayrıca aşağıdaki kodu aşağıdaki platformlar / android / app / build.gradle ve platformlar / android / build.gradle dosyalarına eklemem gerekiyordu:

configurations.all {
resolutionStrategy {
    force 'com.android.support:support-v4:27.1.0'
}}

"Bu com.android.support:support-v4:+ ayarı nerede?" Yanıtını verecek şekilde düzenlendi ...

Ayar muhtemelen (bu durumda) eklentinizin platform / android / dizinindeki .gradle dosyasında olacaktır, örneğin benim durumumda başlangıç-barkod tarayıcı eklentisiydi, bu nedenle tüm eklentilerinizi .gradle dosyalarınızı gözden geçirin:

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

Platformlar / android / build.gradle dosyasını iki kez kontrol edin.

Bu yardımcı olur umarım.


Teşekkürler bizi kurtardın!
Ramesh Murugesan


Çözümün bu kadar basit olduğuna inanamıyorum, tek gereken bu iki gradle dosyasına kopyala yapıştırmaktı! Alkışlar !!
Shyam

Bu sorunun nedenlerinden birini bulduk. Değerlerde (string.xml, style.xml, color.xml, vb.) Mevcut olmayan herhangi bir dize, stil, renk vb. .
Vishnu Magar

Bu düzeltme, Android stüdyosunda bağımlılıklar güncellendiğinde de işe yarar. IDE kendisi bu sürümler compiledSDK eşleşmesi gerektiğini dosyalarında işaret edecektir
Alfabravo

91

Başarısız bağlantı Android kaynak size XML kaynakların herhangi bir hata varsa hatayı da görünür. Benim durumumda, çekilebilir klasördeki XML çekilebilir öğelerimden birinde aşağıdaki satırı iki kez kullanıyordum:

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>

Yinelenen satırı kaldırdım ve hata ortadan kalktı. Hata biraz yanıltıcıydı:

Android kaynak bağlantısı başarısız oldu Çıktı: / Users / johndoe / Desktop / myapp / app / src / main / res / layout / activity_main .xml: 2: error: resource drawable / bg_main (aka com.example.myproject: drawable / bg_main) değil bulundu.

Yukarıdaki hataya göre, yapmanız gereken ilk şey, Activity_main'de erişilen tüm çekilebilir kaynakları okunduğunu kanıtlamaktır, çünkü hatayı bulma şansınız daha yüksektir. En kötü durumda, tüm kaynak dosyalarınızı kontrol edebilirsiniz.


4
Bu. Bu benim sorunumu çözdü. Bu hatanın IDE tarafından belirtilmemesi ve bağlantı hatası tamamen başka bir şeyden bahsediyor olması çok can sıkıcı.
ocramot

4
Tanrının annesi !
Mihir Patel

1
benimki aslında şöyleydi: <?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?> (aynı satırda: P tespit etmesi daha zor)
Alan Deep

1
Benimki, Manifest'te zaten silinmiş bir kaynak kullanıyordum <meta-data android:name="com.google.android.actions" android:resource="@xml/my_event_session_menu" />
Gpak

2
Bana biraz zaman kazandırdığı için +1. En can sıkıcı olan şey, Android Studio'nun yanlış dosyaya işaret etmesidir, bu da bağlantı kuramadığını söylediği dosya iyi olduğu için kafamı kaşımama neden oldu.
Machine Tribe

46

Not: Destek kitaplıklarını 28'e yükseltirseniz 28.0.0ve sizin compileSdkVersionde 28 değilseniz , Android Studio bunun gibi bir sürü çılgın hata ortaya çıkarır .


14
Zaten de vardı compileSdkVersion 28ve support-v4:28.0.0ben aynı hatayı :( alıyorum
ocramot

1
@ocramot compileSdkVersion'ı 27'ye düşürerek sorunu çözdüm
suvojit_007

1
+1. Projemin iki modülü var ve farklı versiyonlarım vardı (biri 29, diğeri 27 idi). Hepsini 29 olarak ayarladığımda hata gitmişti
voghDev

Teşekkürler! Benim durumumda, 'minSdkVersion'ı' compileSdkVersion 'ile aynı şekilde ayarlamak zorunda kaldım. Aksi takdirde, yalnızca ilk yapı çalışır ve sonraki tüm yeniden çalıştırmalar,
Jim B'ye

7

Windows 10 ve Android Studio 3.2 kullanıyorsanız, uygulamanın build.gradle bölümüne gidip sürümü değiştirebilirsiniz.

Bağımlılıklar altında, sürümü değiştirin ve derleme / eşitleme


Modül Gradle'dır. Ekran görüntüsünü görmek için yukarıdaki bağlantıya tıklayın.
Syed Raza

3
Windows 10 bir gereklilik mi?
IgorGanapolsky

7

Sorun değiştirerek benim için sabit compileSdkVersion 23ile compileSdkVersion 28de build.gradle (Project: build).


Benim için çalıştı, teşekkürler! Hala sahibimminSdkVersion 23
Stephen Hosking

@StephenHosking ' compileSdkVersionden' 23e yükseltmeden sizin için işe yaradı mı 28? Bu durumda, başlangıçta yaşadığınız sorun neydi?
Jaime Montoya

Daha net olmalıydım. Sizin çözümünüz, yani. yerine compileSdkVersion 23birlikte compileSdkVersion 28benim için çalıştı, ama sadece bırakmak mümkün olduğunu belirtti minSdkVersion 23doğru bir çözüm üzerinde ekstra bilgi olarak. İlk sorunum "Hata - Android kaynak bağlantısı başarısız oldu"
Stephen Hosking

@StephenHosking Güzel. Güzel, şimdi sizin için çalışıyor.
Jaime Montoya

4

Projeme yeni renkler aktardım ve aynı sorunu yaşadım. Bu yüzden styles.xmlyeni renk isimleri kullanarak öğeleri açtım ve renklere yeniden atadım.


4

@+id/ Tüm kimliklerimin önüne ekleyerek çözdüm.

yani @+id/your_item_id


Bu soruya doğru cevap vermiyor. doğru bir cevap verin ve bunu nasıl yaptınız ve bunun sorunu nedir? \
Yohan Malshika

4

çok aptal hissediyorum - (her ne sebeple olursa olsun) çekilebilir klasörde bir boş xml vardı. ve AS düzinelerce ilgisiz hata üretti> <

bu nedenle, genel tavsiyem aynı olacaktır - her kaynak dosyasını kısaca kontrol edin.


3

com.android.support:support-v4 kısa süre önce güncelleme aldı ve bağımlılıklarında güncellenmiş sürümü kullanan eklentiyi etkileyebilir. Ancak bağımlılıklarda bulamazsanız (örneğin, yaya geçidi eklentisi kullanıyorsanız), bu kodu kod gradle eklentinizin üstüne koyun (build.gradle üzerine eklemenize gerek yoktur).

configurations.all {
resolutionStrategy.force 'com.android.support:support-v4:24.0.0'
}

Örnek konumu yaya geçidi eklentisi kod koymak burada

Com.android.support sürümünü düzenlemekten çekinmeyin (28.0.0'I KULLANMAYIN) çünkü sorun budur


2
Çok teşekkürler. 27.1.0@RFourie'nin bahsettiği gibi kullanıyorum .
Ramesh Murugesan

2

Kaynak dosyalarında bazı hatalar olmalı. Bu, özniteliklerin yazılmamış değeri olabileceği anlamına gelir. Kaynak dosyalarına göz atın ve bu değerleri düzeltin ve çalışmanın tadını çıkarın.


2

Bu sorunun birden çok nedeni olabilir ve bu nedenler esas olarak kaynak veya uygulama düzeyinde build.gradle dosyasındadır.

Benim durumumda, kaynak dosyasındaki bir görünüm build.gradle dosyasında gerekli bağımlılığa sahip değildi.

Bu nedenle, build.gradle dosyasına gerekli tüm bağımlılıkları eklediğinizden emin olun.


2

Gradle eklenti sürümünüzü kontrol edin . Bu sorun ortaya çıkmadan hemen önce daha yeni bir sürüme güncellediyseniz, eski sürüme geçmeyi deneyin. Git Dosya -> Proje Yapısı . Önceki sürüme geçin.


1

En son derleme sürümünü, hedef ve derleme sürümünü güncellemeyi deneyin ve ayrıca bağımlılıkları güncelleyin, ancak benim için çalışmıyor

Benim durumda değişim <meta-items/>için <meta-data/>benim için apaçık çalışmalarında ...

Umarım birisi için yararlıdır ...


1

Aynı sorunu yaşadım, ancak bunun nedeni, düğmelerimde layout_width / height dp'yi düzenlerken sonuna dp koymayı unutmuş olmamdı. DP eklendi ve sorun düzeltildi: /


1

Benim durumumda yanlışlıkla şunu yazdım:

app:displayViewTitle="@string/instructions_defineExtract_confirm_email"

İlginç bir şekilde, Android Studio, CTRL + tıklama yoluyla dizede gezinmeyi başardı. Sadece Derleme Süresi hatası veriyordu. Standart "nokta ayırmaya" geçmek işe yaradı

app:displayViewTitle="@string/instructions.defineExtract.confirm.email"

1

Bu soruna neden olan nedenlerden birini buldum

Herhangi birini kullanmaya çalıştığımızda

dize, stil, renk vb.

olduğu manifest dosyasında değil değerlerde mevcut (string.xml,style.xml,color.xml,etc,)sonra hata bu tür oluştuğunda


1

Aynı hatayı aldım ve AndroidStudio'yu kapattığımda ve C:\Users\Jalal D\.gradle\caches\transforms-1\derleme hatası bilgisindeki gibi dizini sildiğimde düzeltdim .


1

Aynı sorunu yaşadım ve Dosya -> Proje Yapısı ... -> Öneriler'e ve ardından Tümünü Uygula'ya giderek çözdüm. @ JeffinJ tarafından önerildiği gibi, sorunun Gradle eklenti güncellemesinden kaynaklandığını düşünüyorum.


0

Ben de benzer bir sorun yaşıyordum ama çözümden çıktım, sorun bağımlılıkta aynı etki alanına karşılık gelen herhangi bir şeyi kullanıyor olmanızdı, ancak farklı sürümlerle bunların hepsinin aynı olduğundan emin olun


Dün gece Android Studio 3.3.2'yi kurdum. Ben tam bir acemiyim. Bir "Flutter" uygulaması oluşturdum ve çalıştırmayı denedim. Aşağıdaki çıktı ve bağlantı hatası mesajını alıyorum:
Elliot

0

Aynı sorunla karşı karşıyaydım ve değerler klasöründeki stil, renk dosyaları gibi kaynak dosyalarından hatayı kaldırarak çözüldü. Benim durumumda, aşağıdaki gibi stil renklerinde hata:

 <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:textColorPrimary">**@color/colorPrimary**</item>
    <item name="android:textColorSecondary">**@color/colorPrimaryDark**</item>
</style>

0

Değişen sonuncusu destek kütüphanesinin sürümünü etkin tarafından (28.0.0) önceki (27.1.0) , hata Android Resource Linking Failedkayboldu.

27.1.0 sürümünün uygulamalarımızda izin verilen maksimum sürüm olduğu unutulmamalıdır, bu da çalışır, ancak isterseniz daha eski bir sürümü kullanabilirsiniz. Ve bu, dizeyle başlayan tüm bağımlılıklarda kullanılmalıdır.com.android.support:

proje / uygulama / build.gradle

implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion"

project / build.gradle

ext {
    supportLibraryVersion= '27.1.0'
}

Ardından, Projeyi Gradle Dosyaları ile Eşitle

GL


0

Aynı sorun benim için de meydana geldi, ancak bu hatayı almadan önce uygulamam çalışıyordu. Bu yüzden 2/3 kez geri aldım. Ve yine değişiklikler yaptı. Ve app.app derleme başarıyla çalıştırıldı.


0

Aşağıdaki bağımlılığı ekledikten sonra aynı sorunla karşılaştım:

implementation 'com.evernote:android-state:1.4.1'
annotationProcessor 'com.evernote:android-state-processor:1.4.1'

Bunun nedeni, projemde destek kitaplığı sürüm 27.1.1 varken, evernote'un en son sürümünün AndroidX'e bağımlılıklar kullanmasıydı. Dolayısıyla, diğer yanıtların önerdiği gibi, destek kitaplıklarını 28.0.0'a yükseltme seçeneği vardı, ancak bu, çok sayıda özel görünüme sahip büyük bir proje için biraz zordu. Bu nedenle, evernote sürümünü 1.3.1'e düşürerek sorunu çözdüm.


0

Kulağa banal gelebilir, ancak benim için Build > Clean Projectbu hatayı başka bir değişiklik yapmadan düzelttim.


0

Benim için, Asset Studio kullanarak başlatıcı simgemi değiştirdikten sonra hata ortaya çıktı. Çıkıyor o ic_launcher_foreground.xmldosyanın başına aşağıdaki satırı eksikti üretilmiştir dosyası: <?xml version="1.0" encoding="utf-8"?>


Benimki benzerdi. Yeni bir Yapı Değişkeni ekledim ve bu hatalardan iki tanesini aldım. İlki bir anlam ifade etmiyordu, ancak ikinci hataya girdim ve bu yapının ic_launcher.png eksik olduğunu buldum
ja928

0

28 Ocak'tan itibaren Studio 3.3.1 Build kullanıyorum.

Benim için, uygulama düzeyindeki gradle dosyamdaki tek değişikliğin sürümlerini güncellemek olduğu zamana kadar doğru çalışan ConstraintLayout kullanan bir düzen dosyasındaki bir satıra işaret eden "android kaynak bağlama hatası" hatası alıyordum:

android.arch.navigation:navigation-fragment
android.arch.navigation:navigation-ui

dan 1.0.0-rc01için 1.0.0-rc02.

Hata mesajı, layout_constraintTop_toTopOfaylardır mutlu bir şekilde derlendiği için hangisinin aptalca olduğunu anlamamakla ilgili bir şey söyledi .

Zaten 28.0.3 derleme araçlarını ve compileSdkVersion28'i kullanıyorum androidx.appcompat. Bir süredir her yerde kullanıyorum (bu projeyi aylar sonra androidx'e dönüştürdüm).

İlk önce temiz bir proje (yardım yok) ve önbelleği geçersiz kılma / yeniden başlatma (yardım yok) yaptım. Söz konusu düzen, başlangıçta kullanılarak tanımlanmıştır

<TextView>, <EditText>Ve <ImageView>(bugüne kadar iyi çalışıyor olmuştu) bileşenler.

Ancak yukarıdaki cevapları okuduktan sonra, burada bir şekilde karışıklığa neden olabileceğini düşündüm, bu yüzden kullanılacak düzeni değiştirdim:

<androidx.appcompat.widget

tüm çeşitli bileşenlerin sürümleri. Değişiklik yok - hala hata var.

Daha sonra <androidx.appcompat.widget.AppCompatTextViewderleme hatasına neden olan bloğu sildim . Diğer widget'lardaki tüm referansları bunun yerine "üst öğe" olarak değiştirdim. Yaptı. Bu sefer derleme hatasız tamamlandı .

Yani düşündüğüm o widget tanımında garip bir şey .... işte şuydu:

<androidx.appcompat.widget.AppCompatTextView
    android:id="@+id/contact_firstname_label"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="@string/contact_fname_label"
    android:gravity="end"
    android:textAppearance="@android:style/TextAppearance.Material.Small"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toLeftOf="@+id/contact_detail_fname"
    app:layout_constraintBaseline_toBaselineOf="@+id/contact_detail_fname"/>

Daha sonra daha önce Ctrl-V kestiğim bloğu tekrar yapıştırdım ve referansları mizanpajda referans veren diğer bileşenlerde bu ID'ye geri değiştirdim. Derleme başarısız oldu .

Bloğu tekrar kestim ve WordPad'e yapıştırdım. Sonra WordPad yapıştırmasından okudum, aslında onu tekrar yazdım (yani bu sefer kopyalamadım / yapıştırmadım) - satır satır, minimal tanımı yazdıktan sonra proje üzerinde bir makyaj yaptım ve daha sonra tekrar her yeni satıra koyun. Proje her seferinde temiz bir şekilde derlendi!

Bundan ne çıkaracağımı bilmiyorum. Belki de başlangıçta dosyada bazı sahte görünmez karakterler vardı?


0

Benim durumumda, yanlışlıkla yalnızca düğmelerde bulunan bir özelliği biçimlendirdim ve bir TextView için bu stili ekledim.

<!-- applied to TextViews -->
<style name="rowStyle"> 
    <item name="android:padding">3dp</item>
    <item name="android:borderlessButtonStyle">false</item> <!-- this caused the error -->
    <item name="android:background">@drawable/textview_border</item>
</style>

Sırayı kaldırmak android:borderlessButtonStylesorunu çözdü.


0
  • Çekilebilir klasöre sağ tıklayın ve "Explorer'da Göster" i seçin .
  • Açılan dosya sisteminde arızalı dosyayı bulun, seçin (veya tüm çekilebilir dosyadaki dosyaları seçin), ardından bunları çekilebilir-v24 dosyasına kopyalayın (çekilebilir dosyayı silmeyin ve çizilebilir-v24 dosyası yoksa oluşturun ).
  • Ardından Dosya -> Önbellekleri Geçersiz Kıl / Yeniden Başlat'ı seçin ve
  • Android Studio'yu yeniden başlatın.

Nokta 1 ve 2 Benim İçin Çalışıyor. Ama şimdi arızalı dosyaları biri çekilebilir, diğeri çekilebilir v24'te iki yere yerleştirmem gerekiyor.
Aman Goyal

0

Bununla karşılaşmanız durumunda: benim durumumda çevrilmiş bir dizem vardı, ancak dize henüz varsayılan strings.xml'de görünmedi. Eksik dizge strings.xml dosyasına eklendi ve çözüldü.


0

Benim durumumda, hata AndroidManifest.xml dosyasına işaret ediyordu. Bu satır bende vardı:

<meta-data
            android:name="com.google.android.actions"
            android:resource="@xml/popup_info.xml" />

Hangi, Android Studio'nun bunu oraya neden koyduğundan emin değilim. Manifest dosyamı değiştirmedim ve 3.5.3 sürümüne yükseltme yapana kadar bu asla gerçekleşmedi - bu yüzden AS bunu benim için yapmış olmalı. Her neyse, satır şöyle görünmeliydi:

<meta-data
            android:name="com.google.android.actions"
            android:resource="@layout/popup" />

Bunu değiştirdikten sonra her şey iyiydi.

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.