ML Kit Text Recognition Extension

Hi,
I am trying your extension for read text from image but it is not working

  1. Read the documentation in the first post again
  2. Check for availability of Google Play Services
  3. Check for availability of Modules
  4. If available then download the modules
  5. Understand the difference between a file path and uri
  6. Ensure that you are returning an image file path / uri to be processed
  7. You need to compile your app for it all to work

Use the filePicker then. You can set the filePicker to find/select only images with its blocks.

1 Like

Thank you so much! amazing extension!

1 Like

I tested the extension on companion and works fine, but when I try to install the compiled APK and open app, I get this message..

Any ideas? IĀ“m on galaxy s21+ Android 14, using the extension on Kodular

Complain to Kodular, I cannot do anything about it, nor I have intended this extension for other platforms except AppInventor itself.

Thanks, problem was due to Kodular premium subscription, seems like the platform takes it as a monetization extension and donĀ“t allow to use in free version.

I would like to create one extension for object detection with ML Kit, do you know where I can find the Jar libraries files requiered to import in Niotron IDE?

Thank you!

Their broken stupid system blacklists certain internal features this extension uses to classify it as a monetization extension. This causes issues when we use for genuine reasons, for e.g. this extension,


Creating an Object Detection ML Kit extension isnt so easy as adding few .jar files to an extension. All of the libraries developed to run on Android, including ML Kit libraries are targeted towards Android Studio environment. Which is completely parallel to what App Inventor offers, you would have to deal with a lot of things, editions, recompilation, with days of manual labor (only if the person has those skills) and the result often disappoints.

However if you want to use such an extension similar to ML Kit Object Detection, I remember @vknow360 had made such an extension ?

3 Likes

I see that you use the ML Kit by Google, does it support other languages?

No.

This does:

Any chance you're going to make a free version of it?

Definitely not.

Not at the moment.

Hey good extension

It work perfect in my android 9 phone
But when I tested same app in my android 10 phone it is not working when recognition text from camera. But it can recognise text from file picker

Can you please help me

Hi Kumaraswamy,
It seems this extension is not working with SDK34.
The project was working fine when compiled with SDK33. Now APK is crashing when compiled with SDK 34. Removing this extension from the project solved the problem.
Could you please check the extension with SDK34?
Thanks

post a logcat output to help @Kumaraswamy to see what exactly caused the error
.

Taifun

1 Like

Android 14 on OnePlus 11.
P.s. I'm using logcat extreme app

That log does not really help...
It looks like nothing has been reported, whjch is relevant for your app. .
You might want to follow the link provided earlier to get a helpful logcat output

Taifun

09-01 18:04:03.845 21993 21993 E AndroidRuntime: FATAL EXCEPTION: main
09-01 18:04:03.845 21993 21993 E AndroidRuntime: Process: appinventor.ai_aagorine.ReceiptArchive, PID: 21993
09-01 18:04:03.845 21993 21993 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{appinventor.ai_aagorine.ReceiptArchive/appinventor.ai_aagorine.ReceiptArchive.Screen1}: java.lang.SecurityException: Writable dex file '/data/user/0/appinventor.ai_aagorine.ReceiptArchive/files/text-recognition.dex' is not allowed.
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4093)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4243)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:114)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:144)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:101)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2705)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:255)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.os.Looper.loop(Looper.java:364)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8938)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:572)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1053)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: Caused by: java.lang.SecurityException: Writable dex file '/data/user/0/appinventor.ai_aagorine.ReceiptArchive/files/text-recognition.dex' is not allowed.
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at dalvik.system.DexFile.openDexFileNative(Native Method)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at dalvik.system.DexFile.openDexFile(DexFile.java:406)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at dalvik.system.DexFile.(DexFile.java:128)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at dalvik.system.DexFile.(DexFile.java:101)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at dalvik.system.DexPathList.loadDexFile(DexPathList.java:438)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at dalvik.system.DexPathList.makeDexElements(DexPathList.java:387)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at dalvik.system.DexPathList.(DexPathList.java:166)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.(BaseDexClassLoader.java:160)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.(BaseDexClassLoader.java:105)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at dalvik.system.DexClassLoader.(DexClassLoader.java:55)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at xyz.kumaraswamy.textrecognition.iopack.a.a(Unknown Source:26)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at xyz.kumaraswamy.textrecognition.TextRecognition.(Unknown Source:208)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at java.lang.reflect.Constructor.newInstance0(Native Method)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at gnu.expr.PrimProcedure.apply(PrimProcedure.java:272)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at gnu.mapping.CallContext.runUntilDone(CallContext.java:234)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at gnu.mapping.CallContext.runUntilValue(CallContext.java:298)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at gnu.kawa.reflect.Invoke.applyN(Invoke.java:209)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at gnu.mapping.ProcedureN.apply2(ProcedureN.java:39)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at appinventor.ai_aagorine.ReceiptArchive.Screen1.$define(Screen1.yail:10259)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at com.google.appinventor.components.runtime.Form.onCreateFinish(Form.java:395)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at com.google.appinventor.components.runtime.Form.onCreate(Form.java:340)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at appinventor.ai_aagorine.ReceiptArchive.Screen1.onCreate(Screen1.yail:10005)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8780)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8752)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1475)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4067)
09-01 18:04:03.845 21993 21993 E AndroidRuntime: ... 12 more
0

1 Like

Taifun

1 Like