Execution failed for task ':flutter_blue:generateDebugProto'. > Could not resolve all files for configuration ':flutter_blue:protobufToolsLocator_protoc'.
Hatanın tamamı:
FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':flutter_blue:generateDebugProto'. > Could not resolve all files for configuration ':flutter_blue:protobufToolsLocator_protoc'. > Could not find protoc-3.11.4-osx-aarch_64.exe (com.google.protobuf:protoc:3.11.4). Searched in the following locations: https://jcenter.bintray.com/com/google/protobuf/protoc/3.11.4/protoc-3.11.4-osx-aarch_64.exe
Flutter' da bluetooth işlemleri için kullanılan flutter_blue paketi özellikle M1 çipli macbooklarda hata vermektedir. Bu hatayı çözmek için flutter_blue paketinin içerisindeki build.gradle dosyasında bir değişiklik yapmamız gerekmektedir.
Bunun için iki türlü yöntem izleyebiliriz. Biri android studio üzerinden 'External Libraries' kısmından flutter_blue paketini bulup değişiklikleri yapmak. Diğeri de paketin diskteki konumuna terminal üzerinden gidip içerisinde değişiklikleri yapmak.
1) Android Studio ile
İlk yöntem için Android Studio'yu açıyoruz. Sol tarafta proje dosyalarının en altında 'External Libraries' kısmına geliyoruz.
Ardından alt tarafta 'flutter_blue' paketini buluyoruz.
build.gradle dosyası içerisinde aşağıdaki fotoğrafta da gösterilmiş şekilde düzenlemeleri yapıyoruz.
protobuf { protoc { // artifact = 'com.google.protobuf:protoc:3.11.4' artifact = 'com.google.protobuf:protoc:3.17.3' } generateProtoTasks { all().each { task -> task.builtins { java { option "lite" } } } } } dependencies { // implementation 'com.google.protobuf:protobuf-javalite:3.11.4' implementation 'com.google.protobuf:protobuf-javalite:3.17.3' }
Bu şekilde sorun çözülmüş oluyor :)
2) Dosya yoluna erişerek
Flutter kütüphaneleri flutter sdk'sının altındaki .pub-cache klasöründe konumlandırılıyor. Örnek vermek gerekirse flutter sdk dosyalarım cd ~/development/flutter altında bulunuyor. Buraya gelip gizli dosyaları incelersek '.pub-cache' diye bir klasör olduğunu göreceğiz.
Ardından verilen dizine gidiyoruz.
selimdogan@Selims-MBP flutter % cd .pub-cache/hosted/pub.dartlang.org
flutter_blue paketini artık burada bulabiliriz
selimdogan@Selims-MBP pub.dartlang.org % cd flutter_blue-0.8.0/
flutter_blue: ^0.8.0 için yukarıda verilen dizini girmemiz gerekiyor. Klasöre girdikten sonra 'open .' veya 'code .' diyerek kodların içerisine girebiliriz. Veya
selimdogan@Selims-MBP flutter_blue-0.8.0 % nano android/build.gradle
diyerek kodu burada direkt güncelleyebiliriz.
Kaynakça:





Teşekkürler çok faydalı oldu
YanıtlaSilteşekkür ederim işime yaradı
YanıtlaSiladamsın
YanıtlaSil