[FREE] Voice Recognition extension without Google Dialogue Android 11 Problem Solution

Refer the awesome extension

This is an excellent extension refered by @ScorpioNormal

Problem
This extension does not work in Android 11 without Google Dialog.

Possible reason
For apps targeting Android 11 (API level 30) interaction with a speech recognition service requires element to be added to the manifest file:

<queries>
   <intent>
     <action
        android:name="android.speech.RecognitionService" />
   </intent>
 </queries>

Note- Kodular do not provide any mechanism to edit AndroidManifest.xml.

First Solution
Just create .apk with kodular edit with APK Editor Studio or similar program and add the (in AndroidManifest.xml) above after . Recompile .apk and game over.
Your .apk will work without google dialog.

But
Now a days .aab(Android App Bundle) is required to upload in Google Play store if you wish to publish or upgrade your App.

There is no editor available to edit compiled .aab.
And if you try to do manually its not possible, because AndroidManifest.xml is encrypted (protobuf).

If you follow this solution it will also not work(unless you are an experienced developer) as the output file is of very different format than conventional Androidmanifest,xml. See below link.

But there is a way to generate .aab file with required AndroidManifest.xml

Step 1
Get your .apk from Kodular using usual method say YourApp.apk.

Step 2
Open with APK Editor Studio unpack the YourApp.apk and edit AndroidManifest.xml by adding above mentioned requirement.

Step 3
Recompile the YourApp.apk by saving as NewYourApp.apk
Note this App will work without google dialog.

Step 4
Convert NewYourApp.apk to YourAAB.aab.
Simply download this program.

Note you would be required- Python , java 8 & .net framework.

Use your NewYourApp.apk to convert into YourAAB.aab as it contains edited AndroidManifest.xml

At the end you will get YourAAB.aab file as output.This you can submit to Google Play Store after singning with your own keystores.

Step 5
Its always better to verify the generated YourAAB.aab before summitting.
To do so follow the following steps-

  1. Download bundletools.jar by below link.
    https://github.com/google/bundletool/releases

  2. Create a aab directory inside your bundletool directory ex. d:\aab.

  3. Open terminal and paste the following command.
    java -jar “bundletool-all-1.8.1.jar” build-apks --bundle=d:/aab/YourAAB.aab --output=d:/aab/my_app.apks --mode=universal
    (Note- 1.8.1 is my .jar version but you type yours if different or revove version for simplicity)

    After this you will get the my_app.apks as output. Extract the contents with 7Zip or WinRar etc.

Just open the folder my_app and install the file universal.apk to your device or emulator to
confirm the App is working or not.


I hope kodular would take care the problem at the earliest and bring update so that one could get the .aab working directly from Kodular.**

Please write if you find any difficuly in above stuff. Thanks.

9 Likes


Target .Net core framework is 3.1 but it will more better if we use .Net core framework 4.5+ click here to download

Why .Net core is required because i build the tool in C# and Python and for running C# dll file Net core is required on user system.

most of peoples are facing problem with command line so i decided to add GUI interface which automatically install the requirements and more easy to use :slightly_smiling_face:

Thanks for making guide

1 Like

Definitely its nice tool, but requirements are mentioned there.

I did’t face installation during my use as, I had already, Java, python, .net installed. :slightly_smiling_face:

Ok, so first of all if I have internet it seems to work without the manifest fix. But unfortunatley if the device is offline it doesn (Just gives error instantly after click). Secon of all for anyone doesnt want to decompile and compile everytime you can just add the stock speach regonition component to any screen and uncheck the legacy option that will automatically add speach recognition to manifest. if you check the legacy it wont add the intent to manifest.

Not: I did also edit the manifest manually as shown above just to be sure but it didnt work in offline mode for me :confused:

image
image