BluetoothLE 20240822 build issue

My project used to compile fine, but now Im getting the following error:

PlayerSelector_3_0_3_1 Progress Bar
0%
App Inventor is unable to compile this project.
The compiler error output was
[ReadBuildInfo] Starting Task
[ReadBuildInfo] Task succeeded in 0.002 seconds
[LoadComponentInfo] Starting Task
[LoadComponentInfo] INFO: Generating assets...
[LoadComponentInfo] Component assets needed, n = 0
[LoadComponentInfo] INFO: Generating activities...
[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.BluetoothLE" does not specify activities
[LoadComponentInfo] Component activities needed, n = 2
[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.BluetoothLE" does not specify activityMetadata
[LoadComponentInfo] Component activity metadata needed, n = 0
[LoadComponentInfo] INFO: Generating broadcast receivers...
[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.BluetoothLE" does not specify broadcastReceivers
[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.BluetoothLE" does not specify services
[LoadComponentInfo] Component content providers needed, n = 0
[LoadComponentInfo] INFO: Generating libraries...
[LoadComponentInfo] Libraries needed, n = 15
[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.BluetoothLE" does not specify metadata
[LoadComponentInfo] Component metadata needed, n = 0
[LoadComponentInfo] INFO: Generating Android minimum SDK...
[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.BluetoothLE" does not specify androidMinSdk
[LoadComponentInfo] INFO: Generating native libraries...
[LoadComponentInfo] Native Libraries needed, n = 0
[LoadComponentInfo] INFO: Generating permissions...
[LoadComponentInfo] usesLocation = False
[LoadComponentInfo] Permissions needed, n = 13
[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.BluetoothLE" does not specify queries
[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.BluetoothLE" does not specify services
[LoadComponentInfo] Component services needed, n = 0
[LoadComponentInfo] INFO: Generating component broadcast receivers...
[LoadComponentInfo] Task succeeded in 0.002 seconds
[PrepareAppIcon] Starting Task
[PrepareAppIcon] INFO: Creating mipmap dirs...
[PrepareAppIcon] INFO: Generating icons...
[PrepareAppIcon] Generating icons for mipmap-mdpi
[PrepareAppIcon] Generating icons for mipmap-hdpi
[PrepareAppIcon] Generating icons for mipmap-xhdpi
[PrepareAppIcon] Generating icons for mipmap-xxhdpi
[PrepareAppIcon] Generating icons for mipmap-xxxhdpi
[PrepareAppIcon] Task succeeded in 0.149 seconds
[XmlConfig] Starting Task
[XmlConfig] INFO: Creating animation xml
[XmlConfig] Creating zoom_enter.xml
[XmlConfig] Creating fadeout.xml
[XmlConfig] Creating slide_v_exit.xml
[XmlConfig] Creating fadein.xml
[XmlConfig] Creating zoom_exit.xml
[XmlConfig] Creating slide_v_enter.xml
[XmlConfig] Creating zoom_exit_reverse.xml
[XmlConfig] Creating slide_v_enter_reverse.xml
[XmlConfig] Creating zoom_enter_reverse.xml
[XmlConfig] Creating slide_enter_reverse.xml
[XmlConfig] Creating slide_exit.xml
[XmlConfig] Creating hold.xml
[XmlConfig] Creating slide_enter.xml
[XmlConfig] Creating slide_v_exit_reverse.xml
[XmlConfig] Creating slide_exit_reverse.xml
[XmlConfig] INFO: Creating style xml
[XmlConfig] INFO: Creating provider_path xml
[XmlConfig] INFO: Creating network_security_config xml
[XmlConfig] INFO: Generating adaptive icon file
[XmlConfig] INFO: Generating round adaptive icon file
[XmlConfig] INFO: Generating adaptive icon background file
[XmlConfig] Task succeeded in 0.002 seconds
[CreateManifest] Starting Task
[CreateManifest] INFO: Reading project specs...
[CreateManifest] VCode: 1
[CreateManifest] VName: 1.0
[CreateManifest] Min SDK 10
[CreateManifest] INFO: Writing screen 'appinventor.ai_pedroferreira_mamede.PlayerSelector_3_0_3_1.Screen1'
[CreateManifest] Task succeeded in 0.001 seconds
[AttachNativeLibs] Starting Task
[AttachNativeLibs] Task succeeded in 0.0 seconds
[AttachAarLibs] Starting Task
[AttachAarLibs] Task succeeded in 0.039 seconds
[AttachCompAssets] Starting Task
[AttachCompAssets] Task succeeded in 0.001 seconds
[MergeResources] Starting Task
[MergeResources] Task succeeded in 0.069 seconds
[SetupLibs] Starting Task
[SetupLibs] Task succeeded in 0.0 seconds
[RunAapt] Starting Task
[RunAapt] Task succeeded in 0.464 seconds
[GenerateClasses] Starting Task
[GenerateClasses] INFO: Source File: appinventor/ai_pedroferreira_mamede/PlayerSelector_3_0_3_1/Screen1.yail
[GenerateClasses] INFO: Libraries Classpath = /tmp/kawa18221931411479356031.jar:/tmp/acra-4.4.014859668295745223058.jar:/tmp/AndroidRuntime3808626337021491601.jar:/tmp/annotation5191327782891564771.jar:/tmp/annotation-experimental4464478866189962663.jar:/tmp/appcompat15193371489487136760.jar:/tmp/asynclayoutinflater9231209909172975618.jar:/tmp/collection13608657508883085326.jar:/tmp/constraintlayout296578964326766302.jar:/tmp/constraintlayout-solver14787876608300688004.jar:/tmp/coordinatorlayout6886252367260077992.jar:/tmp/core15036780335915788624.jar:/tmp/core-common2826840884943772765.jar:/tmp/core-runtime13312985604466735788.jar:/tmp/cursoradapter8752693947124373038.jar:/tmp/customview7036966687270367195.jar:/tmp/documentfile11524289700148265301.jar:/tmp/drawerlayout11455590069309357207.jar:/tmp/fragment12962327370561252481.jar:/tmp/interpolator5537765571634013248.jar:/tmp/legacy-support-core-ui13174268456149018499.jar:/tmp/legacy-support-core-utils12171637886549765674.jar:/tmp/lifecycle-common2945851625842259588.jar:/tmp/lifecycle-livedata17286490293784278185.jar:/tmp/lifecycle-livedata-core15843605015233168517.jar:/tmp/lifecycle-runtime12661770200741678750.jar:/tmp/lifecycle-viewmodel9853694422213576004.jar:/tmp/loader12808060337640251156.jar:/tmp/localbroadcastmanager13404234218751526394.jar:/tmp/print16816896014795992946.jar:/tmp/slidingpanelayout17160069855740228127.jar:/tmp/swiperefreshlayout8276549082731265830.jar:/tmp/vectordrawable14369837554702451368.jar:/tmp/vectordrawable-animated5603923977324516437.jar:/tmp/versionedparcelable10039057990646334186.jar:/tmp/viewpager6279205094004403976.jar:/tmp/1736208161617_4868760418810218496-0/youngandroidproject/../assets/external_comps/com.google.appinventor.components.runtime.BluetoothLE/files/AndroidRuntime.jar:/tmp/firebase983296069448773157.jar:/tmp/opencensus10089737436258227746.jar:/tmp/google-http-client-jackson27390399952591287481.jar:/tmp/jetty-util1367955299087149754.jar:/tmp/opencensus-contrib-http-util12258202171968551590.jar:/tmp/grpc-context10610135487470346223.jar:/tmp/googlesheets5091302013260580632.jar:/tmp/google-oauth-client9672334452570132106.jar:/tmp/google-oauth-client-jetty14821955697792942683.jar:/tmp/jackson-core14841940576932161204.jar:/tmp/google-api-client-jackson210181650607583777478.jar:/tmp/google-http-client986388542331981255.jar:/tmp/jetty13682071385534573851.jar:/tmp/guava6384795872168349546.jar:/tmp/google-api-client10266110017412829706.jar:/tmp/1736208161617_4868760418810218496-0/youngandroidproject/../build/classes:/tmp/android15574001933817509756.jar
[GenerateClasses] ERROR: Kawa compile has failed.
(compiling appinventor/ai_pedroferreira_mamede/PlayerSelector_3_0_3_1/Screen1.yail to appinventor.ai_pedroferreira_mamede.PlayerSelector_3_0_3_1.Screen1)
appinventor/ai_pedroferreira_mamede/PlayerSelector_3_0_3_1/Screen1.yail:902: internal error while compiling appinventor/ai_pedroferreira_mamede/PlayerSelector_3_0_3_1/Screen1.yail
java.lang.RuntimeException: no such class: edu.mit.appinventor.ble.BluetoothLE
at gnu.bytecode.ObjectType.getReflectClass(ObjectType.java:179)
at gnu.bytecode.ClassType.getModifiers(ClassType.java:103)
at gnu.bytecode.ClassType.isInterface(ClassType.java:471)
at gnu.expr.InlineCalls.checkType(InlineCalls.java:56)
at gnu.expr.InlineCalls.visit(InlineCalls.java:49)
at gnu.expr.InlineCalls.visitSetExpValue(InlineCalls.java:363)
at gnu.expr.InlineCalls.visitSetExpValue(InlineCalls.java:28)
at gnu.expr.ExpVisitor.visitSetExp(ExpVisitor.java:114)
at gnu.expr.InlineCalls.visitSetExp(InlineCalls.java:369)
at gnu.expr.InlineCalls.visitSetExp(InlineCalls.java:28)
at gnu.expr.SetExp.visit(SetExp.java:406)
at gnu.expr.ExpVisitor.visit(ExpVisitor.java:55)
at gnu.expr.InlineCalls.visit(InlineCalls.java:46)
at gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:272)
at gnu.expr.InlineCalls.visitBeginExp(InlineCalls.java:28)
at gnu.expr.BeginExp.visit(BeginExp.java:156)
at gnu.expr.ExpVisitor.visit(ExpVisitor.java:51)
at gnu.expr.InlineCalls.visit(InlineCalls.java:46)
at gnu.expr.QuoteExp.validateApply(QuoteExp.java:162)
at gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:119)
at gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:28)
at gnu.expr.ApplyExp.visit(ApplyExp.java:410)
at gnu.expr.ExpVisitor.visit(ExpVisitor.java:55)
at gnu.expr.InlineCalls.visit(InlineCalls.java:46)
at gnu.expr.InlineCalls.visit(InlineCalls.java:28)
at gnu.expr.LambdaExp.visitChildrenOnly(LambdaExp.java:1664)
at gnu.expr.LambdaExp.visitChildren(LambdaExp.java:1651)
at gnu.expr.InlineCalls.visitScopeExp(InlineCalls.java:279)
at gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:349)
at gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:28)
at gnu.expr.ExpVisitor.visitModuleExp(ExpVisitor.java:103)
at gnu.expr.ModuleExp.visit(ModuleExp.java:482)
at gnu.expr.ExpVisitor.visit(ExpVisitor.java:51)
at gnu.expr.InlineCalls.visit(InlineCalls.java:46)
at gnu.expr.InlineCalls.inlineCalls(InlineCalls.java:33)
at gnu.expr.Compilation.walkModule(Compilation.java:994)
at gnu.expr.Compilation.process(Compilation.java:1965)
at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:330)
at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:315)
at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:315)
at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:315)
at kawa.repl.compileFiles(repl.java:783)
at kawa.repl.processArgs(repl.java:412)
at kawa.repl.main(repl.java:827)
Caused by: java.lang.ClassNotFoundException: edu.mit.appinventor.ble.BluetoothLE
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
at gnu.bytecode.ObjectType.getContextClass(ObjectType.java:108)
at gnu.bytecode.ObjectType.getReflectClass(ObjectType.java:172)
... 43 more
[GenerateClasses] ERROR: Can't find class file for Screen 'Screen1'
[GenerateClasses] Task errored in 1.828 seconds

Are you sure you're using the latest BLE extension? The classpath listed above mentions com.google.appinventor.components.runtime.BluetoothLE, which was the original class name in version 1 of the extension, and hasn't been used in years. If you could export and DM me a copy of your project I'd like to take a look.

You can see the version number after clicking on the question mark next to the extension name. It should look like this.

Hi, @ewpatton and @Peter thanks for the reply.
Yes, I am using the 20240822 version, take a look:

I also deleted the BluetoothLE component, it compiled ok.
Then I added the BluetoothLE back and the error is still happening.

Did you send your aia file to Evan like he asked?

Yes. I just haven't had a chance to look at it yet.

2 Likes

What other extensions ?

just that

So I think the issue is related to a new feature I implemented but didn't properly test under all conditions. I've sent an updated AIA privately, and hopefully we'll get a fix out to the buildservers generally in the coming weeks.

Which conditions? Which component (condition) was the problem (in this case)?