Rush • A new and improved way of building extensions

How I can update or specify the Kotlin version in Rush for creating extension in Kotlin?

The error message you are getting is telling you that the Kotlin classes that you are trying to use are compiled with an incompatible version of Kotlin. This means that the versions of Kotlin that the classes were compiled with and the version of Kotlin that you are using to run your code are different.


How to fix this error?

the same condition in all my extension project files

It's not Rush's problem, it's the editor in which you write the code. Maybe close the program and reopen it.

3 Likes

Use "Intellij Idea" instead for your IDE, it just works....

2 Likes

Thank you friends for giving suggestions, Now working

Hey,
Sorry for this super late reply. Here's how you can update Rush's Kotlin version:

2 Likes



Java version: /usr/lib/jvm/zulu-8-amd64

Show result from:

Java -version

From what I see, you have 1.8 but JRE, not JDK.

Jeez! Now that I realize it's JRE :no_mouth:

The problem is that the Java directory was not in the Linux PATH

Solution: export PATH=your_java_path/bin/:$PATH

How can I make a visible component? I've seen others use @DesignerComponent and setting nonVisible to false, but @DesignerComonent isn't supported in rush right?

An extension can not be a visible component.

Are there any good ways to render to the screen then?

What do you mean by 'render' ?

Show an Android View while not overwriting the entire screen

Also, if extensions can't be visible, what is
com.google.appinventor.components.runtime.AndroidViewComponent
used for?

There are a lot of extensions which work with Android views. You can find them in community or in Taifun's extension directory.
Fortunately some of them are open source so you can make use of them to learn more about using Android views in AppInventor.

Extensions can change/add android views to screen.
This import accepts all User Interface (visible) components as argument.

2 Likes

Somehow I ran into an issue. :sleepy:

rush upgrade
info Fetching data...
info Starting download... [151 MB]
                                                            (0% done)
Unhandled exception:
DioError [DioErrorType.other]: HandshakeException: Connection terminated during handshake
Source stack:
#0      DioMixin.fetch (package:dio/src/dio_mixin.dart:473)
#1      DioMixin.request (package:dio/src/dio_mixin.dart:468)
#2      DioForNative.download (package:dio/src/entry/dio_for_native.dart:84)
#3      UpgradeCommand.run (package:rush_cli/commands/upgrade_command/upgrade_command.dart:89)
<asynchronous suspension>
#4      CommandRunner.runCommand (package:args/command_runner.dart:209)
<asynchronous suspension>

#0      DioMixin.fetch.<anonymous closure> (package:dio/src/dio_mixin.dart:628)
#1      _RootZone.runBinary (dart:async/zone.dart:1692)
#2      _FutureListener.handleError (dart:async/future_impl.dart:175)
#3      Future._propagateToListeners.handleError (dart:async/future_impl.dart:779)
#4      Future._propagateToListeners (dart:async/future_impl.dart:800)
#5      Future._completeError (dart:async/future_impl.dart:610)
#6      _SyncCompleter._completeError (dart:async/future_impl.dart:61)
#7      _Completer.completeError (dart:async/future_impl.dart:33)
#8      Future.any.onError (dart:async/future.dart:544)
#9      _RootZone.runBinary (dart:async/zone.dart:1692)
#10     _FutureListener.handleError (dart:async/future_impl.dart:175)
#11     Future._propagateToListeners.handleError (dart:async/future_impl.dart:779)
#12     Future._propagateToListeners (dart:async/future_impl.dart:800)
#13     Future._completeError (dart:async/future_impl.dart:610)
#14     Future._asyncCompleteError.<anonymous closure> (dart:async/future_impl.dart:666)
#15     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#16     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
#17     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:122)
#18     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:193)

Of course, you can create a view or widget using an extension. But App Inventor will not provide a container for this view. The view created by the extension will not be visible in the ai2 designer. The view will only be created programmatically. However, you cannot create widgets that need xml. To place a programmatically created view on the screen, use the method of adding a view, e.g. to an arrangement passed to an extension.

2 Likes

I'd rather suggest you reinstall it from scratch than try to debug it. :sweat_smile:

1 Like