[libbluray-devel] JRE for Android part 2

Vitor Dall'Acqua veggav at gmail.com
Wed Jan 27 17:40:00 UTC 2021


Hey Petri, figured it out.

If I remove the argument for JNI_VERSION_1_4 it will fail (but not crash)
with error -3 and that is wrong JNI version.

So, I have updated the jni.h file in libbluray and changed JNI_VERSION_1_4
to 1_6 and also changed that in the if statement below where this is set.

On Wed, Jan 27, 2021 at 1:21 PM Vitor Dall'Acqua <veggav at gmail.com> wrote:

> Ok,
>
> After those changes I've added one log statement per line and this is
> where it crashes:
> result = JNI_CreateJavaVM_fp(jvm, (void**) env, &args);
>
> last line of log:
> DEBUG <general>: CBlurayCallback::Logger - bdj.c:991: endif 2
>
> code:
> BD_DEBUG(DBG_CRIT | DBG_BDJ, "endif 2\n");
>   result = JNI_CreateJavaVM_fp(jvm, (void**) env, &args);
>     BD_DEBUG(DBG_CRIT | DBG_BDJ, "result = JNI_CreateJavaVM_fp(jvm,
> (void**) env, &args)\n");
>
> so the other log never happens.
>
>
>
> On Wed, Jan 27, 2021 at 12:35 PM Vitor Dall'Acqua <veggav at gmail.com>
> wrote:
>
>> Made the changes.
>>
>> I have forked the most recent libbluray I could find in github so it's
>> easier on the eyes for you to see what I have changed:
>>
>>
>> https://github.com/fandangos/libbluray/commit/ac3215bc416d4730f42b4f87dfdbd669767e7112
>>
>> last lines of the log
>> https://pastebin.com/MbCW61YT
>>
>> (shame on using a p2p source disk for testing)
>>
>> And
>> #undef LIBBLURAY_CP
>> #define LIBBLURAY_CP
>> "/mnt/expand/cab01563-bcca-48fa-a0bf-0fbddaf9b192/user/0/org.xbmc.kodi19DV/lib/aarch64/"
>>
>> doesn't work I had to manually add the *.jar files into the apk.
>>
>> On Wed, Jan 27, 2021 at 11:53 AM Shaya Potter <spotter at gmail.com> wrote:
>>
>>> On Wed, Jan 27, 2021 at 4:46 PM Petri Hintukainen <
>>> phintuka at users.sourceforge.net> wrote:
>>>
>>>>
>>>> Another thing that could be worth of trying is disabling JIT (I don't
>>>> know if Android allows running user-generated code, or if JIT is even
>>>> enabled in android build).
>>>> This can be done by executing the following line unconditionally:
>>>>
>>>>     option[n++].optionString = str_dup("-Xint");
>>>>
>>>> (= replace if(getenv("BDJ_JVM_DISABLE_JIT")) with if(1) )
>>>>
>>>
>>> I don't believe it uses the jit, I believe android use zerovm, which is
>>> total bytecode interpretation.  With that said, I'd guess that should be
>>> sufficient for bluray xlets from a perfomance perspective, as they were
>>> built to be run on very constrained devices?
>>>
>>> yep: http://openjdk.java.net/projects/mobile/android.html.  This is, I
>>> believe less because of not being able to have a jit on android (any web
>>> browser probabl jit's javascript) and more that it doesn't include any
>>> assembly, so its meat to be their most portable vm.
>>>
>>> _______________________________________________
>>> libbluray-devel mailing list
>>> libbluray-devel at videolan.org
>>> https://mailman.videolan.org/listinfo/libbluray-devel
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/libbluray-devel/attachments/20210127/a9841c1e/attachment.html>


More information about the libbluray-devel mailing list