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.



Kütüphane dosyalarının içerisinden app/build.gradle dosyasını bulup açıyoruz


build.gradle dosyası içerisinde aşağıdaki fotoğrafta da gösterilmiş şekilde düzenlemeleri yapıyoruz.


build.gradle


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:


Yorumlar

Yorum Gönder

Bu blogdaki popüler yayınlar

Program Karmaşıklığı Nedir ? Nasıl Ölçülür ? McCabe Karmaşıklık Ölçütü Nedir ?

Algoritma Karmaşıklığı Nedir ? Zaman ve Hafıza Karmaşıklığı Nedir ? Nasıl Hesaplanır ?