13-11-2025, Saat: 10:51
Herkese kolay gelsin diyerek bir sorumu ileteyim.
- Android yakasında yapay zeka ile uygulamaları biraz da akıllandırma işlemlerine eğilmek için kolları sıvadım.
- "Text Recognition" işlemini google makine öğrenmesi apileri ile yapmayı deneyerek başlamaya karar verdim.
- Bilgi sahibi olmayanlar için ML Kit, Google'ın cihaz üzerinde makine öğrenimi uzmanlığını Android ve iOS uygulamalarına taşıyan bir mobil SDK'dır.
- Biraz ilkel olacak ama elimdeki lisans Delphi 10.3 üzerine upgrade edilmiş Delphi 10.4.2 olunca son sürümlerin JAVA eklemleme nimetlerinden faydalanamıyorum. API için ihtiyaç duyulan JAR kütüphaneleri ve bu kütüphaneden faydalanacak helper sınıfları harici olarak classes.dex içine monte etmek ve ondan sonra üretilen yeni birleşik classes.dex'i Delphi'nin varsayılan dex dosyasını deployment içinden yerine koymak için üç gün mesai harcadım. ( Önce android stdudio ile başaramayınca javac, dx.bat ile elle manuel yapmak zorunda kaldım, benim beceriksizliğim )
- Şimdi soruma geleyim.
- Bu işlemleri yaptım yapmasına ama; kukla işlemler ile sınıftan sahte cevaplar döndüren test / sandbox java dosyasından sonuç alabiliyorum.
- Gerçek SDK için sınıf olarak aşağıdaki kodu uyguluyorum. Yapay Zeka başvurularım (Claude, ChatGPT, CoPilot) sonuç vermediler. Üçü de yeni sürüm Delphi'deki GRADLE kullanımını destekliyor, eski sürümler için çözüm üretemediler. Ben de ısrarla DEX yakasında daha önce NFC vb TCKimlik kartı okuma resim alma vs. işlemlerimi yaptmışken bunu neden yapamayayım diye bir meydan okuma olarak gördüm. PES edene kadar çalışmaya devam.
bu kodu içerisinden sonuç alamıyor henüz INIT aşamasında Invoke error: method not found hatasıyla karşı karşıya kalıyorum.
Bilgi :
JAR kütüphanelerim aşağıda. Bunların içindeki .class dosyalarını klasör bazında extract edip kendiminkileri dahil ederek yeniden birleşik tek bir JAR dosyası ve ondan türetilen DEX dosyasını Delphi'ninki ile birleştirdim. Zaten yeni sürüm Delphi'lerin yaptığı da bu.
JAVA tarafından manuel olarak eklediğim CLASS_LIST ve ürettiğim ortak kütüphane dexmerged-mlkit.jar bu mesaj ekindeki zip içerisinde
Sözün özü : Bu ML Kit erişimini herhangi bir delphi sürümünde yapan oldu mu daha önce ? INIT aşamasında bu Invoke error: method not found error kaynağı ne olabilir, eksik olan ne olabilir.
İlave olarak eğer JAVA bilgisine güvenenlerden bu kütüphanede eksik olan ilave edilmesi gerek meta vb. şu eksik diyeceğiniz varsa onun ilave edilmiş halini paylaşırsanız sevinirim.
- Android yakasında yapay zeka ile uygulamaları biraz da akıllandırma işlemlerine eğilmek için kolları sıvadım.
- "Text Recognition" işlemini google makine öğrenmesi apileri ile yapmayı deneyerek başlamaya karar verdim.
- Bilgi sahibi olmayanlar için ML Kit, Google'ın cihaz üzerinde makine öğrenimi uzmanlığını Android ve iOS uygulamalarına taşıyan bir mobil SDK'dır.
- Biraz ilkel olacak ama elimdeki lisans Delphi 10.3 üzerine upgrade edilmiş Delphi 10.4.2 olunca son sürümlerin JAVA eklemleme nimetlerinden faydalanamıyorum. API için ihtiyaç duyulan JAR kütüphaneleri ve bu kütüphaneden faydalanacak helper sınıfları harici olarak classes.dex içine monte etmek ve ondan sonra üretilen yeni birleşik classes.dex'i Delphi'nin varsayılan dex dosyasını deployment içinden yerine koymak için üç gün mesai harcadım. ( Önce android stdudio ile başaramayınca javac, dx.bat ile elle manuel yapmak zorunda kaldım, benim beceriksizliğim )
- Şimdi soruma geleyim.
- Bu işlemleri yaptım yapmasına ama; kukla işlemler ile sınıftan sahte cevaplar döndüren test / sandbox java dosyasından sonuç alabiliyorum.
Kod: (Select All)
package com.arman.firebaseocr;
import android.graphics.Bitmap;
public class MLKitHelper {
public MLKitHelper() {
// Boş constructor
}
public void recognizeText(Bitmap bitmap, MLKitCallback callback) {
// Dummy response
callback.onSuccess("Test başarılı - ML Kit olmadan çalışıyor!");
}
public void recognizeTextWithRotation(Bitmap bitmap, int rotation, MLKitCallback callback) {
callback.onSuccess("Test (rotation: " + rotation + ") - Çalışıyor!");
}
public void close() {
// Boş
}
}- Gerçek SDK için sınıf olarak aşağıdaki kodu uyguluyorum. Yapay Zeka başvurularım (Claude, ChatGPT, CoPilot) sonuç vermediler. Üçü de yeni sürüm Delphi'deki GRADLE kullanımını destekliyor, eski sürümler için çözüm üretemediler. Ben de ısrarla DEX yakasında daha önce NFC vb TCKimlik kartı okuma resim alma vs. işlemlerimi yaptmışken bunu neden yapamayayım diye bir meydan okuma olarak gördüm. PES edene kadar çalışmaya devam.
Kod: (Select All)
public MLKitHelper() {
try {
Class<?> textRecognitionClass = Class.forName("com.google.mlkit.vision.text.TextRecognition");
Class<?> optionsClass = Class.forName("com.google.mlkit.vision.text.TextRecognizerOptions");
Class<?> builderClass = Class.forName("com.google.mlkit.vision.text.TextRecognizerOptions$Builder");
Object builder = builderClass.getConstructor().newInstance();
Object options = builder.getClass().getMethod("build").invoke(builder);
recognizer = textRecognitionClass.getMethod("getClient", optionsClass).invoke(null, options);
isMLKitAvailable = true;
Log.d(TAG, "ML Kit initialized");
} catch (Exception e) {
Log.e(TAG, "ML Kit init failed: " + e.getMessage());
isMLKitAvailable = false;
}
}bu kodu içerisinden sonuç alamıyor henüz INIT aşamasında Invoke error: method not found hatasıyla karşı karşıya kalıyorum.
Bilgi :
JAR kütüphanelerim aşağıda. Bunların içindeki .class dosyalarını klasör bazında extract edip kendiminkileri dahil ederek yeniden birleşik tek bir JAR dosyası ve ondan türetilen DEX dosyasını Delphi'ninki ile birleştirdim. Zaten yeni sürüm Delphi'lerin yaptığı da bu.
Kod: (Select All)
text-recognition-16.0.0.aar
play-services-mlkit-text-recognition-common-19.0.0.aar
vision-common-17.3.0.aarJAVA tarafından manuel olarak eklediğim CLASS_LIST ve ürettiğim ortak kütüphane dexmerged-mlkit.jar bu mesaj ekindeki zip içerisinde
Sözün özü : Bu ML Kit erişimini herhangi bir delphi sürümünde yapan oldu mu daha önce ? INIT aşamasında bu Invoke error: method not found error kaynağı ne olabilir, eksik olan ne olabilir.
İlave olarak eğer JAVA bilgisine güvenenlerden bu kütüphanede eksik olan ilave edilmesi gerek meta vb. şu eksik diyeceğiniz varsa onun ilave edilmiş halini paylaşırsanız sevinirim.
Saygılarımla
Muharrem ARMAN

Muharrem ARMAN


