It would be nice if you add a drop-down block to Any Components.
Like this-
In this image the Image block (Red color) should be kept manually. Can you please make it default so that the user should not need to connect it manually.
It would be nice if you add a drop-down block to Any Components.
Like this-
In this image the Image block (Red color) should be kept manually. Can you please make it default so that the user should not need to connect it manually.
Yes, that's a good point that the dropdown blocks should also appear in the generic component blocks.
Hello everyone,
ai2-test has been updated with the latest testing version. In addition to the items in the earlier post, this version includes the following changes:
Features:
Bug fixes:
Internal changes:
Please help us test this release and give us feedback on any issues you encounter.
Regards,
Evan W. Patton, Ph.D.
Lead Software Engineer, MIT App Inventor
I did a first test (1-2 with the APK, Android 11):
I am still unable to list the assets.
Companion now declares the following permissions in the Manifest:
<uses-feature android:name="android.hardware.bluetooth" android:required="false"/>
<uses-feature android:name="android.hardware.location" android:required="false"/>
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
<uses-feature android:name="android.hardware.location.network" android:required="false"/>
<uses-feature android:name="android.hardware.location.gps" android:required="false"/>
<uses-feature android:name="android.hardware.microphone" android:required="false"/>
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.wifi"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.NFC"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
<uses-permission android:name="android.permission.ACCOUNT_MANAGER"/>
<uses-permission android:name="com.google.android.apps.googlevoice.permission.RECEIVE_SMS"/>
<uses-permission android:name="com.google.android.apps.googlevoice.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
So READ
& WRITE
permissions are now available for all Android versions (except WRITE
on Android 11+).
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
As I know You Told That your going to add Google Sheets in Next Release
hello I am using recyclerview extension on this test server it works fine in companion but after installing apk app always crashed on startup .
I think cardview and recyclyerview libraries are added on this release.
adb logcat info
> Blockquote
07-24 23:25:23.279 5311 5311 E AndroidRuntime: FATAL EXCEPTION: main
07-24 23:25:23.279 5311 5311 E AndroidRuntime: Process: appinventor.ai_himalayanxtiger.RecyclerView, PID: 5311
07-24 23:25:23.279 5311 5311 E AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Lio/kcz/CustomRecyclerView/Recycler$RecyclerAdapter;
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at java.lang.Class.getDeclaredFields(Native Method)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.bytecode.ClassType.addFields(ClassType.java:606)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.bytecode.ClassType.getFields(ClassType.java:506)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.bytecode.ClassType.hasOuterLink(ClassType.java:260)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.bytecode.ClassType.getDeclaredMethod(ClassType.java:880)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.bytecode.ClassType.addMethod(ClassType.java:667)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.bytecode.ClassType.addMethod(ClassType.java:698)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.bytecode.ClassType.addMethods(ClassType.java:1009)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.bytecode.ClassType.getDeclaredMethods(ClassType.java:725)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.bytecode.ClassType.getMethods(ClassType.java:809)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.kawa.reflect.ClassMethods.getMethods(ClassMethods.java:106)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.kawa.reflect.ClassMethods.apply(ClassMethods.java:229)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.kawa.reflect.Invoke.lookupMethods(Invoke.java:278)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.kawa.reflect.Invoke.applyN(Invoke.java:185)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at gnu.mapping.ProcedureN.apply2(ProcedureN.java:39)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at appinventor.ai_himalayanxtiger.RecyclerView.Screen1.$define(Screen1.yail:10259)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at com.google.appinventor.components.runtime.Form.onCreateFinish(Form.java:400)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at com.google.appinventor.components.runtime.Form.onCreate(Form.java:345)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at appinventor.ai_himalayanxtiger.RecyclerView.Screen1.onCreate(Screen1.yail:10005)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8198)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8182)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3765)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3968)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at android.os.Looper.loop(Looper.java:246)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8512)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
07-24 23:25:23.279 5311 5311 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: io.kcz.CustomRecyclerView.Recycler$RecyclerAdapter
07-24 23:25:23.279 5311 5311 E AndroidRuntime: ... 34 more
and another project logcat
>07-25 00:04:13.405 22634 22634 E AndroidRuntime: FATAL EXCEPTION: main
07-25 00:04:13.405 22634 22634 E AndroidRuntime: Process: appinventor.ai_himalayanxtiger.TestRecView, PID: 22634
07-25 00:04:13.405 22634 22634 E AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/cardview/R$attr;
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.cardview.widget.CardView.<init>(CardView.java:117)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.cardview.widget.CardView.<init>(CardView.java:113)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at io.csapps.recyclerview.view.Card.<init>(Unknown Source:1)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at io.csapps.recyclerview.widget.CardView.build(Unknown Source:10)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at io.csapps.recyclerview.ListAdapter.onCreateViewHolder(Unknown Source:6)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at io.csapps.recyclerview.ListAdapter.onCreateViewHolder(Unknown Source:0)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6794)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5975)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5858)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5854)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2230)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.recyclerview.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:557)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.recyclerview.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:171)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3641)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4194)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.View.layout(View.java:24475)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:7383)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.View.layout(View.java:24475)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:7383)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.View.layout(View.java:24475)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:7383)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.View.layout(View.java:24475)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:7383)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.View.layout(View.java:24475)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:7383)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at com.google.appinventor.components.runtime.ScaledFrameLayout.onLayout(ScaledFrameLayout.java:193)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.View.layout(View.java:24475)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:7383)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.View.layout(View.java:24475)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:7383)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.View.layout(View.java:24475)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:7383)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at androidx.appcompat.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:444)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.View.layout(View.java:24475)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:7383)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.View.layout(View.java:24475)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:7383)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.View.layout(View.java:24475)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:7383)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at com.android.internal.policy.DecorView.onLayout(DecorView.java:1225)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.View.layout(View.java:24475)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:7383)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:4273)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3708)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2631)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9984)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1010)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:809)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:744)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:995)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:938)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.os.Looper.loop(Looper.java:246)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8512)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
07-25 00:04:13.405 22634 22634 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: androidx.cardview.R$attr
07-25 00:04:13.405 22634 22634 E AndroidRuntime: ... 82 more
Submit your project for testing.
Hello,
I would like to make a proposal:
I would set as default the device default theme instead of classic, because I think it gives a more professional look to the apps.
Thank you very much
Thank you but i cant share project because it contains paid extensions.
I found the solution cardview and recyclerview libraries are only added if we use listview component.
and using defualt listview as invisiable it works .
So make a sample project with no paid extensions that will produce the same error.
Unless you think the problem is with two recyclerview libraries in your project? Perhaps extension developers will have to adapt their extensions to the new ai2.
This class was not found at runtime.
No way extensions can use resource files, as of now.
Yes but i tested with decompiling 2 apps ,
One black project and one with listview component
So i think if any external extension uses cardview and recyclerview we must use defualt listview as dummy
New Listview component. When clicking in the "second" textbox you have to click twice to be able to edit the textbox. It is difficult to see in the gif but when you click the first time you can see a cursor appear and then disappear. You have to click a second time so you can edit the textbox. This goes for both textboxes. If you start with Detail Text the problem is with Main Text and vice versa.
When you go back to all ready entered items you always have to click twice in the textbox to edit the text.
Simple example of ListView.
nuevo_visorlista.aia (31.4 KB)
The separating line between two elements is not clear.
Hi! Thanks for testing out the new helper blocks I looked into all this stuff, and I think it's behaving as intended.
Left red bubble: That block represents a value ReadExternalStorage
of type enum Permission
, so I think that's correct.
Right bubble: As stated above, it is of type enum Permission
, not string. This was a design decision. Basically unless we need to coerce an enum to it's underlying value (in this case string) we don't. That keeps the blocks more type-safe and less error prone.
Blue Bubble: Hmm that's a bit tricky. The thing is, the "underlying value" is "READ_EXTERNAL_STORAGE"
(see here), so those two things are not equal. I'm not sure how to resolve this (or if the core team wants it resolved) but hopefully that explains the weird behavior.
Thanks again for trying it out. I can't speak to your other issues, but hopefully someone else can!
Best wishes,
Beka
Thanks for the explanation.
I uploaded 2 complicated projects I've been working on. They both work on the current server but crash when trying to open after installing the apks built from the test server. They also crash when running from the companion on the test server.
Both show this error in the companion:
invoke: no method named `GetValue' in class java.lang.Boolean
Note: You will not see another error reported for 5 seconds.
I assumed this refers to dictionaries or tinydb, even though dictionaries and tinydb seem to work on the test server when building from scratch.
I also get an error when trying to use the taifun tools extension to keep the screen on.
I attached the less complicated app if it helps. It is still quite involved though. I can't replicate the errors when building a simpler app on the test server.
you forgot to tell us, which error exactly you get... also which Android version are you using for your trests?
I now tested an example app on the test server in the companion app and as apk file, which does not result in an error...
Taifun
Thanks for the reply. This is the error:
invoke: no method named `KeepScreenOn' in class java.lang.Boolean
Again, if I make another app from within the test server using your extension, it works, but for whatever reason if I upload an aia that is working in the current release, I get errors, incomplete loading and crashing when building from the test server.
This is on a pixel 3a, android 11.
@ewpatton Is extension aar support PR added in https://ai2-test-appinventor-mit-edu.ezproxy.canberra.edu.au ?
Regards