Android Question Fatal Error: Unable to find method metafactory

rosippc64a

Active Member
Licensed User
Longtime User
Hi All,
I have an interesting error found in my test app in #if JAVA section, that I have never seen before. The error:
B4A Version: 12.80
Parsing code. (0.00s)
Java Version: 11
Building folders structure. (0.02s)
Compiling code. (0.00s)
Compiling layouts code. (0.01s)
Organizing libraries. (0.00s)
(AndroidX SDK)
Compiling resources (0.05s)
Linking resources (0.56s)
Compiling generated Java code. Error
src\b4a\example\raficlass.java:292: error: cannot find symbol
(val, time) -> timeout - val)
^
symbol: method metafactory(Lookup,String,MethodType,MethodType,MethodHandle,MethodType)
location: interface LambdaMetafactory
1 error
Fatal Error: Unable to find method metafactory

javac 11.0.1
The code fragment:
code:
    private void startTimer(int timeout) {
    stopTimer();
    BA.Log("startTimer: creating");
    timerDispose = Observable.zip(
                    Observable.range(0, timeout + 1),
                    Observable.interval(0, 1, TimeUnit.SECONDS),
                    (val, time) -> timeout - val)
            .observeOn(Schedulers.io())
            .doOnNext(val -> log.info("timer is {}", val))
            .doOnNext(transactionTimeout::onNext)
            .subscribe(transactionTimeout::onNext,
                    this::onTimeoutFailed,
                    this::onEcrTimeout);
    }
Has anyone encountered error like this?
 

walterf25

Expert
Licensed User
Longtime User
Hi All,
I have an interesting error found in my test app in #if JAVA section, that I have never seen before. The error:

The code fragment:
code:
    private void startTimer(int timeout) {
    stopTimer();
    BA.Log("startTimer: creating");
    timerDispose = Observable.zip(
                    Observable.range(0, timeout + 1),
                    Observable.interval(0, 1, TimeUnit.SECONDS),
                    (val, time) -> timeout - val)
            .observeOn(Schedulers.io())
            .doOnNext(val -> log.info("timer is {}", val))
            .doOnNext(transactionTimeout::onNext)
            .subscribe(transactionTimeout::onNext,
                    this::onTimeoutFailed,
                    this::onEcrTimeout);
    }
Has anyone encountered error like this?
You might be missing some dependencies.
 
Upvote 0

DonManfred

Expert
Licensed User
Longtime User
Upvote 0
Top