[libbluray-devel] JRE for Android part 2

Vitor Dall'Acqua veggav at gmail.com
Wed Jan 27 18:04:59 UTC 2021


it's more than that....

Petri, are you able to understand this out?
https://calebfenton.github.io/2017/04/05/creating_java_vm_from_android_native_code/

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

> 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/96316a28/attachment-0001.html>


More information about the libbluray-devel mailing list