Helper block problem in companion

Hi, i added helper block to my extension and pass it to public function argument with @Options
No problem in extension creation to aix file.
Also no problem when i loaded the extension to my ai2 project, i can see my helper block in my extension blocks.
The problem when i run the companion, error appeared (argument is neither class nor type)

I tried every thing but error is still appearing.
Can anyone help me.

Can you provide an exact copy of the error message? There's also likely a stack trace in adb logcat that might help us pinpoint the issue.

The upper image error when i start ai2 companion emulator mobile

The upper image error when i refreshed companion

The upper image when i used function inside my extension that use helper block in its argument

That helper type isn't part of the base App Inventor system AFAIK. I assume this is something you've defined yourself. Please reference this document, particularly the notes about placement of the helper blocks for extensions (i.e., they should be in a helpers package beneath your extension's package):

I placed my extension MinoComponent.java in runtime folder and helper block CmpTyp.java in common folder and in second time i placed CmpTyp.java in runtime/helpers folder
Do you have suggestion?

Something else..
When i tried to use another exist helper block as FileScope.java which placed in common folder, the errors disappered
I think that creating extension do not contain my helper block though compiler creates extension without errors

To build an extension with helper blocks, you need the layout to look like this:

  • src
    • com
      • example
        • extension
          • aiwebres (optional)
            • icon.png
          • assets (optional)
            • ...
          • helpers
            • MyHelper.java
          • MyExtension.java

Here's a small extension I wrote earlier this year to connect to a BLE-enabled food scale that demonstrates how it is done:

I do not use github, i downloaded mit app inventor source files to my computer and i placed my extension in folder ../components/runtime/

That is correct , so where i can place helper block?
I placed my helper block in 2 places for test
folder : /components/common/
folder : /components/runtime/helper/

But it is not working

Extensions aren't not placed under com/google/appinventor/. That's reserved for App Inventor internals. Please place your extension in another package. The GitHub repository is provided as a working example of how it is done.

Ok, I will try to move my extension to another folder outside ai2 folders and i will tell you the result, thanks.

If you're planning to build in-tree that's fine, but any extensions need to be defined in a separate package other than com.google.appinventor. Other tools like the extension-template repository or Rush are available as well since building in-tree is more resource intensive.