Menjalankan "cordova build android" - tidak dapat menemukan atribut android: fontVariationSettings dan android: ttcIndex

103

Ketika saya menjalankan cordova build android --buildConfig xxxx --release, saya mendapatkan kesalahan berikut:

ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:fontVariationSettings
ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:ttcIndex

Yang aneh adalah saya menggunakan dua mesin macOS untuk kompilasi, dan saya mendapatkan kesalahan ini hanya pada salah satunya untuk kode yang sama.

Berikut adalah output yang ./gradlew cdvPrintPropssaya dapatkan dari dua mesin:

:cdvPrintProps
cdvCompileSdkVersion=26
cdvBuildToolsVersion=27.0.3
cdvVersionCode=null
cdvMinSdkVersion=21
cdvBuildMultipleApks=true
cdvReleaseSigningPropertiesFile=release-signing.properties
cdvDebugSigningPropertiesFile=null
cdvBuildArch=null
computedVersionCode=152045989
computedArmv7VersionCode=1520459892
computedX86VersionCode=1520459894

Di bawah ini adalah daftar plugin yang digunakan:

$ cordova plugins list
cordova-custom-config 5.0.2 "cordova-custom-config"
cordova-fabric-plugin 1.1.10 "cordova-fabric-plugin"
cordova-open-native-settings 1.5.0 "Native settings"
cordova-plugin-app-event 1.2.1 "Application Events"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-camera 2.4.1 "Camera"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-console 1.1.0 "Console"
cordova-plugin-crosswalk-webview 2.4.0 "Crosswalk WebView Engine"
cordova-plugin-datepicker 0.9.2 "DatePicker"
cordova-plugin-device 2.0.1 "Device"
cordova-plugin-email 1.2.7 "EmailComposer"
cordova-plugin-file 4.3.3 "File"
cordova-plugin-file-transfer 1.6.3 "File Transfer"
cordova-plugin-inappbrowser 1.7.2 "InAppBrowser"
cordova-plugin-network-information 1.3.4 "Network Information"
cordova-plugin-secure-storage 2.6.8 "SecureStorage"
cordova-plugin-splashscreen 4.1.0 "Splashscreen"
cordova-plugin-statusbar 2.4.1 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova.plugins.diagnostic 3.9.2 "Diagnostic"
de.appplant.cordova.plugin.local-notification 0.8.5 "LocalNotification"
ionic-plugin-keyboard 2.2.1 "Keyboard"

Bagaimana cara memperbaiki masalah ini?

Stéphane Padovani
sumber
Masalah ini telah terjadi pada saya sepanjang hari juga. Saya telah mempersempitnya menjadi plugin yang saya gunakan. Namun saya memerlukan plugin ini untuk aplikasi saya. Plugin apa yang Anda gunakan?
Chris R
@ChrisRitten Hai, saya telah menyelesaikan posting di atas dengan daftar plugin. Salam.
Stéphane Padovani
1
tidak ada jawaban yang membantu, berjuang dengan ini selama sehari sekarang.
khusrav
Jika ini dapat membantu freakyjolly.com/…
Spy Kode

Jawaban:

106

Masukkan saja berikut di build-extras.gradle

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}
helmson helmson
sumber
Terima kasih! Ini adalah pendekatan yang masuk akal bagi Cordova untuk menyematkan ke versi.
Hozuki
10
Saya menyimpan folder platform saya di luar kendali sumber sehingga untuk mencapai ini, saya membuat build-extras.gradlekode tambahan root proyek saya untuk menyalinnya di hooks\after_platform_add gist.github.com/charlesbedrosian/…
cbedrosian
8
saya tidak memiliki file seperti itu: "build-extras.gradle"
Joe Sleiman
3
Untuk pengguna phonegap-build lainnya. Jawabannya adalah cordova-android-support-gradle-release forums.adobe.com/thread/2462835
catu
7
Selain komentar @ StéphanePadovani, perhatikan bahwa itu harus dibuat di folder / platforms / android / app dari Cordova Android 7.0.0
Will Kru
83

Google merilis versi baru 28.0.0-alpha1 dari com.android.support:support-v4 yang menambahkan 2 atribut baru (android: fontVariationSettings dan android: ttcIndex). Beberapa plugin menggunakan pustaka dukungan android terbaru yang menghasilkan inkompatibilitas yang tidak diinginkan.

Opsi 1: Instal plugin cordova-android-support-gradle-release .

Plugin yang terdokumentasi dengan baik yang "menyelaraskan berbagai versi pustaka Dukungan Android yang ditentukan oleh plugin lain ke versi tertentu". Diuji tanpa perilaku yang merusak.

cordova plugin add cordova-android-support-gradle-release --fetch

Baca dokumentasi untuk opsi lengkap: Readme

Opsi 2 : Tambahkan cuplikan kode berikutnya di build.gradle di bawah platforms / android

/** 
IMPORTANT - Manually added
Problem: 8 March 2018 - Google released version support-v4:28.0.0-alpha1 
which breaks the project with following error: unable to find attribute 
android:fontVariationSettings and android:ttcIndex

Effect: Force a specific version of the library
*/

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

Peringatan: kode dalam build.gradle akan ditimpa jika Anda menghapus / menambahkan platform Android. Jika Anda tidak ingin menggunakan plugin karena alasan tertentu atau entah bagaimana tidak berfungsi untuk Anda, buatlah pengait dan timpa file setiap saat. Periksa komentar kedua di sini .

Jika masalah terus berlanjut, Anda dapat mencoba:

cordova platform rm android
cordova platform add android

ATAU

Pastikan Anda tidak memiliki versi aplikasi sebelumnya yang terpasang di perangkat yang Anda uji karena Anda akan menerima kesalahan yang tidak jelas saat mencoba menurunkan versi yang ada: "INSTALL_FAILED_VERSION_DOWNGRADE" dan "UnhandledPromiseRejectionWarning: Unhandled promise rejection"

Andrew Radulescu
sumber
2
Jawaban Terbaik. Menginstal plugin adalah solusi terbaik dan mudah untuk ini. Ini secara otomatis menyelesaikan kesalahan setelah plugin ditambahkan. Sederhana. Tidak perlu bermain-main membuat file di folder platform yang perlu dilacak secara manual jika terjadi penghapusan dan penambahan platform.
Neel
Opsi 1 berhasil untuk saya. Sangat menyebalkan bahwa Cordova mendefinisikan dependensi mereka dengan cara yang tidak ketat. Saya tidak tahu mengapa mereka melakukannya. Meninggalkan proyek saya dalam keadaan kerja beberapa minggu yang lalu, kembali ke sana untuk mengkompilasi ulang versi debug dan tiba-tiba terjadi kesalahan.
Norman Breau
Gagal mengambil plugin cordova-android-support-gradle-release melalui registri
netshark1000
@ netshark1000 Masalah ini tidak terkait dengan plugin tetapi dengan package.json Anda atau beberapa konfigurasi proyek. Lihat di package.json dan pastikan plugin belum diinstal. Jika ada, panggil saja ionic cordova, siapkan untuk diisi ulang. Jika masalah terus berlanjut, hapus platform, folder plugin, dan tambahkan kembali platform. Ini seharusnya berhasil.
Andrew Radulescu
1
Sempurna, # 1 menyelamatkan saya
GBarroso
31

Kesalahan yang sama terjadi pada saya. Rupanya, versi baru com.android.support:support-v4pustaka telah dirilis, dan plugin yang saya gunakan didefinisikan com.android.support:support-v4:+sebagai ketergantungan di plugin.xml. The +tanda berarti bahwa itu akan mendapatkan versi terbaru (28.0.0), yang tampaknya tampaknya tidak sesuai dengan plugin lainnya.

Saya dapat membuat versi pengembangan dengan mengubah semua dependensi plugin dari com.android.support:support-v4:+menjadi com.android.support:support-v4:27.1.0. Juga, saya mengeksekusi ionic cordova platform remove androiddan ionic cordova platform add android. Semoga bisa membantu, setidaknya untuk pembangunan.

avmatte
sumber
Terima kasih banyak, Di sisi saya, saya mengubah satu hal file gradle plugin di dalam direktori platform android. silakan checkout jika tidak berfungsi dari solusi @avmatte.
Sandun Priyanka
tidak berfungsi untuk saya, saya melakukan hal yang sama tetapi ketika saya menambahkan kembali platform android versinya kembali ke v4: 24.1.1+ bahkan ketika saya menghapusnya ke 27.1.0
Joe Sleiman
Saya mengalami kesalahan ini: Tidak dapat menemukan com.android.support:support-v4:27.1.0.
Joe Sleiman
28

Saya baru saja memperbaiki masalah ini dengan membuka folder platform / android dan mengedit project.propertiesfile) dan menggantinya com.android.support:support-v4:+dengan com.android.support:support-v4:27.1.0.

Ahmed
sumber
21

Jika Anda benar-benar hanya membutuhkan perbaikan cepat pada masalah itu agar build Anda berjalan, Anda dapat mencoba menambahkan baris berikut ke file platforms / android / build.gradle Anda:

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

Bagaimanapun, menyetel versi di sini bukanlah perbaikan yang berkelanjutan.

stu
sumber
bagus. ini berhasil untuk saya tapi ya saya rasa ini akan hilang jika saya menghapus dan menambahkan platform atau menginstal di mesin baru.
Gurnard
Harus meletakkan ini di / platforms / android / app; seperti yang Anda katakan itu tidak berkelanjutan
pengguna542319
@stu Anda belum memberi tahu dalam jawaban Anda di mana saya harus meletakkan kode ini di bagian bawah?
Sayed Mohd Ali
15

Aneh, tetapi berhasil ketika saya menambahkan baris di bawah ini dengan versi yang sama.

Ini adalah baris terkait saya di platforms/android/build.gradlefile:

dependencies {
  compile fileTree(dir: 'libs', include: '*.jar')
  // SUB-PROJECT DEPENDENCIES START
  debugCompile(project(path: "CordovaLib", configuration: "debug"))
  releaseCompile(project(path: "CordovaLib", configuration: "release"))
  compile "com.android.support:support-v4:26.+"
  compile "com.android.support:appcompat-v7:26.+"
  // SUB-PROJECT DEPENDENCIES END
}

// ADDED THESE LINES
configurations.all {
  resolutionStrategy.force 'com.android.support:support-v4:26+'
}

Dalam proyek saya, masalah terjadi karena plugin 'cordova-plugin-crosswalk-webview'.

Muhammed Tanrıverdi
sumber
Terima kasih, ini sangat membantu dengan mengunduh ulang dependensi yang sebelumnya ditimpa oleh pembaruan. Meskipun mengedit build.gradle Anda tidak disarankan, saya mencoba solusi sebelumnya tetapi tidak berhasil
Nico
8

Saya memiliki kesalahan yang sama tetapi tidak di cordova build. Versi baru com.android.support:appcompat-v7dan dependensi. Tetapi versi yang tidak kompatibel ada di paket ketiga yang bergantung pada com.android.support:appcompat-v7. Jadi saya tidak dapat memperbaiki paket ketiga dengan solusi @avmatte .

Gunakan solusi @ Sai Teja untuk menemukan paket yang tidak kompatibel:

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

Kemudian perbaiki dengan:

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-compat:{the_same_version}'
        force 'com.android.support:appcompat-v7:{the_same_version}'
        force 'com.android.support:support-core-utils:{the_same_version}'
        force 'com.android.support:support-core-ui:{the_same_version}'
        force 'com.android.support:support-fragment:{the_same_version}'
        force 'com.android.support:support-annotations:{the_same_version}'
        ...
    }
}

Kode di atas memaksa versi dependensi.

lakukan
sumber
8

Saya menghadapi kesalahan yang sama. Lakukan penelitian lengkap di direktori plugin untuk com.android.support:support-v4:+ dan menggantinya dengan kode versi statis.

Bagi saya, com.android.support:support-v4:23.4.0 bekerja dengan baik. Tidak perlu menghapus dan menambahkan kembali platform android.

cpro90
sumber
8

Berikut cara mudah untuk memperbaikinya yang akan tetap ada ketika direktori platform dibangun kembali dan tidak perlu memeriksa semua plugin Anda untuk mencoba dan menemukan pelakunya. Buat file build-extras.gradledengan konten ini:

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

Kemudian buat file after_platform_add/010_copy_build_extras.jsdengan konten berikut:

#!/usr/bin/env node

var fs = require('fs');

var rootdir = process.argv[2];
var android_dir = `${rootdir}/platforms/android`;
var gradle_filename = 'build-extras.gradle';
var gradle_file = `${rootdir}/${gradle_filename}`;
if (fs.existsSync(android_dir) && fs.existsSync(gradle_file)) {
  fs.createReadStream(gradle_file)
    .pipe(fs.createWriteStream(`${android_dir}/${gradle_filename}`));
}

Sekarang buat ulang platform android dan itu akan menggunakan pustaka dukungan yang disematkan.

Brad Pitcher
sumber
kait sub direktori sudah tidak digunakan lagi gunakan config.xml<platform name="android"> <hook src="hooks/copy_build_extras.js" type="before_build" /> </platform>
Exlord
ok diuji dan kode Anda tampaknya tidak valid process.argv[2]adalah buildbagi saya!
Exlord
Maaf @Exlord Saya rasa ini akan membutuhkan beberapa penyesuaian untuk bekerja dengan hook gaya baru, tapi saya menggunakan kode yang tepat ini dengan hook sub direktori saat ini dan bekerja dengan baik.
Brad Pitcher
8

Saya menemukan solusi di Ionic Forum, yang merupakan satu-satunya solusi yang berhasil untuk saya:

Lari:

platform ionic cordova rm android

Lari:

Platform ionic cordova tambahkan [email protected]

Lari:

plugin ionic cordova tambahkan cordova-plugin-androidx

Lari:

plugin ionic cordova tambahkan cordova-plugin-androidx-adapter

Pastikan gradle.properties Anda memiliki:

cdvMinSdkVersion = 19

Pastikan build.gradle Anda memiliki:

project.ext { defaultBuildToolsVersion="28.0.3" //String 

defaultMinSdkVersion=19 //Integer - Minimum requirement is Android 4.4 

defaultTargetSdkVersion=28 //Integer - We ALWAYS target the latest by default 

defaultCompileSdkVersion=28 //Integer - We ALWAYS compile with the latest by default }

Pastikan config.xml Anda memiliki:

<preference name="android-minSdkVersion" value="19" />

dari: https://forum.ionicframework.com/t/firebase-app-unable-to-compile-on-android-with-aapt-error/166564/7

yang juga ditangani dalam jawaban stackoverflow: https://stackoverflow.com/a/56656680/839691

alpere
sumber
Ini adalah satu-satunya solusi yang berfungsi di Ionic 3aplikasi lama saya . Terima kasih!
Sampath
menggunakan ionic 3: Ini membantu saya menyelesaikan masalah ini, tetapi mendapat masalah lain sekarang * Apa yang salah: Eksekusi gagal untuk tugas ': app: compileDebugJavaWithJavac'. > Kompilasi gagal; lihat output kesalahan kompilator untuk mengetahui detailnya.
Prem Sanil
1
@PremSanil Tidak yakin ini yang menyebabkan masalah Anda, tetapi pastikan Anda telah mendownload alat build 28.0.3 di SDK Manager Android Studio.
alpere
@alpere Saya harus memperbarui versi Node ke v10.17.0 dan menghapus Plugin yang tidak digunakan mulai bekerja (Menggunakan tema biru Ionic 3)
Prem Sanil
5

Beberapa perpustakaan Anda harus menggunakan

com.android.support:support-v4:+

Temukan yang mana, dengan

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

Dan tambahkan pustaka itu sebagai modul jika tidak menggunakan versi tertentu di pembaruan terbarunya (Juga angkat masalah di pustaka itu!;))

Terima kasih untuk @avmatte!

EDIT: Anda juga dapat meminta gradle untuk memaksa versi perpustakaan

ext {
    supportVersion {latest_version_here}
} // In root project.gradle

configurations.all {
    resolutionStrategy {
        force "com.android.support:support-v4:$supportVersion"
    }
}
Teja Konjeti
sumber
4

Saya mengalami masalah yang sama tiba-tiba kemarin. Ini dimulai secara acak, tetapi dari membaca, sepertinya ini ada hubungannya dengan pembaruan seperti yang disebutkan di atas oleh @ cpro90. Namun, saya mencoba dan tidak dapat menemukan tempat untuk melakukan perubahan manual yang diperlukan.

Akhirnya saya mengidentifikasi bahwa masalahnya disebabkan oleh plugin cordova-plugin-crosswalk-webview saya. Di GitHub, saya menemukan masalah di repro plugin pagi ini, dan ada lebih dari 520 tampilan saat makan siang.

@UNUMObile menyarankan hal berikut dalam build.gradlefile untuk memaksa versi sebelumnya secara global:

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

Ini langsung bekerja untuk saya dan dapat membantu orang lain dengan plugin lain yang juga memiliki ketergantungan pada 'com.android.support:support-4:<28. Versi baru 28 tampaknya menjadi masalahnya.

Saya harap ini membantu seseorang bergerak maju.

Chris Scutt
sumber
4

Hanya beberapa tip untuk pengembang Kotlin:

Jika Anda mengikuti jawaban ini di sini, Anda yakin tidak memiliki support-v4perpustakaan di proyek Anda tetapi Anda masih melihat kesalahan ini, silakan lihat ktxperpustakaan.

Saya baru tahu bahwa saya menggunakan 1.0.0-alpha1versi terbaru untuk perpustakaan ktx dan kesalahan ini muncul; setelah saya ubah kembali ke versi 0.3, semuanya kembali normal sekarang.

Anthonyeef
sumber
Gagal menyelesaikan: androidx.fragment: fragment-ktx: 0.3, ketika saya mengubah ke '1.0.0-alpha1', masalah yang sama terjadi.
Mahmood Ali
@MahmoodAli lihat dependensi lainnya? Saya hanya memposting situasi saya, dan Google mungkin juga memiliki paket lain yang membuat kesalahan yang sama.
Anthonyeef
@MahmoodAli terima kasih atas tautannya, tetapi saya pikir sebagian besar proyek mulai menggunakan ktx lib sebelum androidx diumumkan di Google IO tahun ini. Sulit untuk menghindari pencampuran ktx dengan pustaka dukungan ... mungkin migrasi ke androidx harus menjadi solusi terakhir untuk jenis pengecualian ini.
Anthonyeef
4

Tambahkan baris berikut ke platform / android / build.gradle Anda

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

jika masih mengalami masalah coba jalankan perintah ini:

cordova plugin add cordova-android-support-gradle-release --fetch
karan bhatia
sumber
3

Di build.gradlefile Anda, tambahkan

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

Dan dalam project.propertiesfile Anda berubah cordova.system.library.3menjadi cordova.system.library.3=com.android.support:support-v13:27.+.

seorang pria
sumber
2

Untuk pengguna Phonegap Build , seperti yang disebutkan @catu dalam komentar, Anda dapat mencoba plugin ini yang bertujuan untuk mencegah kegagalan build yang disebabkan oleh versi berbeda dari pustaka dukungan .

pengguna276648
sumber
1

Perbaiki saja masalah ini dengan meletakkan baris kode berikut dalam file platforms / android / app / build.gradle, tepat setelah blok {} buildscript:

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

Saya mengalami masalah yang sama setelah menginstal plugin cordova-plugin-file-opener2. Itu disimpan kembali setelah melakukan: Opsi 1: Instal plugin cordova-android-support-gradle-release. plugin cordova menambahkan cordova-android-support-gradle-release --fetch

DineshS
sumber
0

Pendekatan lain dengan solusi yang sama adalah membuat kail. Ini persisten (setelah platform diinstal ulang), Anda dapat melakukannya dan tidak perlu menambahkan ulang platform.

% project% \ scripts \ android \ android-support-version.js

#!/usr/bin/env node

var fs = require('fs');

function replace_strings_in_file(filename, replacementsObject) {
  if (fs.existsSync(filename)) {
    var data = fs.readFileSync(filename, 'utf8');
    Object.keys(replacementsObject).forEach(function (to_replace) {
      var replace_with = replacementsObject[to_replace];
      data = data.replace(to_replace, replace_with);
    });
    console.log(data);
    fs.writeFileSync(filename, data, 'utf8');
  } else {
    console.log('file not found');
  }
}

module.exports = function (context) {
  var rootdir = process.argv[2];
  if (rootdir) {
    replace_strings_in_file("platforms/android/project.properties", {'com.android.support:support-v4:+': 'com.android.support:support-v4:27.1.0'});
    console.log('com.android.support version fix');
  }
};

Init hook di config

% project% \ config.xml

...
<platform name="android">
  <hook src="scripts/android/android-support-version.js" type="before_build" />
  ...

Instal dependensi fs ke proyek Anda:

npm i fs --save-dev

Jalankan build:

cordova membangun android

kerikil
sumber
0

CARA SUPER SEDERHANA DAN BENAR UNTUK MEMECAHKANNYA!

Cukup perbarui sdk dan tambahkan 2 versi terbaru android ... dan restart komputer! Selesai ...

Sekarang kita punya waktu untuk membicarakan mobil dan olahraga ...

Ari Waisberg
sumber
0

Saya memiliki masalah yang sama, dan tidak ada solusi yang berhasil untuk saya. Menginstal versi terbaru Android SDK Build-tools (27.0.3) menyelesaikan masalah saya.

Daniel W.
sumber
0

Tautan solusi

Ini karena plugin compat. Hapus plugin itu jika Anda memiliki versi yang lebih lama (kurang dari 1.2.0 ) dan setel [email protected]

plugin cordova rm cordova-plugin-compat --force

plugin cordova menambahkan [email protected]

platform cordova rm android

Platform ionic cordova tambahkan [email protected]

Bekerja pada kasus saya. Terima kasih :)

Pranay Kumar
sumber
0

pembaruan untuk jawaban @Brad Pitcher:

hooks/copy_build_extras.js

#!/usr/bin/env node

var fs = require('fs');

module.exports = function (context) {
  var rootdir         = context.opts.projectRoot;
  var android_dir     = `${rootdir}/platforms/android`;
  var gradle_filename = 'build-extras.gradle';
  var gradle_file     = `${rootdir}/${gradle_filename}`;
  if (fs.existsSync(android_dir) && fs.existsSync(gradle_file)) {
    fs.createReadStream(gradle_file)
      .pipe(fs.createWriteStream(`${android_dir}/${gradle_filename}`));
  }
};

config.xml

<platform name="android">
    <allow-intent href="market:*" />
    <hook src="hooks/copy_build_extras.js" type="before_build" />
</platform>

build-extras.gradle di direktori root

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

Saya mengalami masalah ini dengan react native dan itu disebabkan oleh baris berikut di saya android/app/build.gradle:

implementation ("com.google.android.gms:play-services-base:+") {
  force = true;
}
implementation ("com.google.android.gms:play-services-maps:+") {
  force = true;
}

dll ...

Rupanya ini + diselesaikan ke versi 17.0.0 baru yang merusak build saya.
Mengubah + menjadi 16.0.0 (atau 16.0.1 untuk play-services-base) memecahkan masalah saya

Uri Klar
sumber
0

Masalah ini telah membunuh saya selama seminggu.

Akhirnya saya berakhir di [email protected]

Saya berubah android/project.propertiesdengan mengubah

#cordova.system.library.3=com.google.android.gms:play-services-analytics:+
cordova.system.library.3=com.google.android.gms:play-services-analytics:15+

Perubahan itu akhirnya membuat saya keluar dari lubang pesan kesalahan ttcIndex.

Lalu saya mendapat kesalahan ini

com.android.builder.dexing.DexArchiveBuilderException: 
  com.android.builder.dexing.DexArchiveBuilderException

Kesalahan tersebut tampaknya karena masalah versi Java. Saya kemudian mengubahnya android/build.gradledengan perubahan berikut

compileOptions {
  #sourceCompatibility JavaVersion.VERSION_1_6
  #targetCompatibility JavaVersion.VERSION_1_6
  sourceCompatibility JavaVersion.VERSION_1_8
  targetCompatibility JavaVersion.VERSION_1_8
}

Perhatikan juga saya memiliki cordova-android-support-gradle-releaseplugin yang diinstal, tetapi tidak tahu apakah saya membutuhkannya.

Austin Hutchison
sumber
-1

Ini adalah entri duplikat di values.xml dalam folder bernama support-compat-28.0.0-alpha1.aar.

Anda akan menemukan file ini di Windows di \users\YOURUSERID\.gradle\caches\transforms-1\files-1.1

Begitu berada di dalam folder itu, Anda harus masuk lebih dalam ke values.xml .

Di file itu, cari elemen <declare-styleable name="FontFamilyFont>.

Di elemen tersebut, hapus EMPAT baris yang ada android:di dalamnya.

Setelah saya melakukan perubahan itu, saya dapat membangun lagi tanpa kesalahan.

Henk Kelder
sumber