<div dir="ltr">It would be fantastic if you could compile it for Android.<div>I'll do the changes you propose to an unmodified version of bdj.c</div><div><br></div><div>I have zipped the jar files with the jre and I'm working like this:</div><div>#undef JDK_HOME<br>#define JDK_HOME "/mnt/expand/cab01563-bcca-48fa-a0bf-0fbddaf9b192/user/0/org.xbmc.kodi19DV/lib/aarch64/"<br>#undef LIBBLURAY_CP<br>#define LIBBLURAY_CP "/mnt/expand/cab01563-bcca-48fa-a0bf-0fbddaf9b192/user/0/org.xbmc.kodi19DV/lib/aarch64/"<br>#endif<br></div><div><br></div><div>back at a place that's not the apk. </div><div><br></div><div>the people at PojavLauncher suggested that more libs should be pre loaded and suggested looking at how they do it:</div><div><a href="https://github.com/PojavLauncherTeam/PojavLauncher/blob/v3_openjdk/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java">https://github.com/PojavLauncherTeam/PojavLauncher/blob/v3_openjdk/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java</a><br></div><div><br></div><div>but if you already got it running on linux, I guess this is not the case here.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 27, 2021 at 11:46 AM Petri Hintukainen <<a href="mailto:phintuka@users.sourceforge.net">phintuka@users.sourceforge.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">ti, 2021-01-26 kello 22:58 -0300, Vitor Dall'Acqua kirjoitti:<br>
> Ok, I'm back at using the libs inside the libs folder as this makes<br>
> no difference in the end.<br>
> The reason for the crashes the JVM Module, I just removed that.. <br>
<br>
No, as I already wrote, it doesn't crash because of missing<br>
JVM_DefineModule. Missing JVM_DefineModule is normal with Java 8. Crash<br>
happens somewhere after this check, and before end of bdj_open(), where<br>
Java version is logged.<br>
<br>
If you drop the check for JVM_DefineModule, you need to set java_9 to<br>
0. Java 9+ requires different initialization arguments.<br>
<br>
> and<br>
> started removing a lot of stuff from bdj.c including all the<br>
> irrelevant ifdefs<br>
<br>
To pinpoint the location, you could add following lines to bdj_open(),<br>
_load_jvm() and _bdj_init():<br>
<br>
    BD_DEBUG(DBG_CRIT, "at line %d\n", __LINE__);<br>
<br>
Then, we can see what is the last line before crash.<br>
<br>
Is the log buffered ? If yes, last lines may be missing from there.<br>
<br>
> Petri, if you can take a look at my final bdj.c is the last pastebin<br>
<br>
java_9 is uninitialized, other than that it looks identical to the<br>
orginal (with #ifdefs removed).<br>
<br>
> I'm getting crashes without any explanation. <br>
> <br>
> Tried adb logcat but I can't see anything relevant: <br>
> <a href="https://pastebin.com/NLM1UP6C" rel="noreferrer" target="_blank">https://pastebin.com/NLM1UP6C</a><br>
> T<br>
> And this is from Kodi<br>
> <a href="https://pastebin.com/fGad2kUx" rel="noreferrer" target="_blank">https://pastebin.com/fGad2kUx</a><br>
> <br>
> And here is the version I'm using of my bdj.c<br>
> <a href="https://pastebin.com/AwXcCMBa" rel="noreferrer" target="_blank">https://pastebin.com/AwXcCMBa</a><br>
> <br>
> Any comment or advice is more than welcome because without any log<br>
> indication I have no idea where to look.<br>
<br>
I compiled this jvm for Linux with the same configuration options<br>
(=headless), and it seems to be missing some native functions. Looking<br>
at the code and Makefiles this could be because of work-in-progress<br>
with AWT Android porting. Still, that does not cause any crash in<br>
Linux, just failure to initialize JVM and BD-J. (missing functions<br>
cause link errors when runtime library AWT classes are loaded).<br>
<br>
After adding those functions to the library it seems to play BD-J discs<br>
in Linux. If those functions are missing also in the library you're<br>
using, it most likely won't play any discs.<br>
<br>
I could compile it for android, with the missing functions, if you want<br>
to give it a try ?<br>
<br>
Another thing that could be worth of trying is disabling JIT (I don't<br>
know if Android allows running user-generated code, or if JIT is even<br>
enabled in android build).<br>
This can be done by executing the following line unconditionally:<br>
<br>
    option[n++].optionString = str_dup("-Xint");<br>
<br>
(= replace if(getenv("BDJ_JVM_DISABLE_JIT")) with if(1) )<br>
<br>
<br>
<br>
_______________________________________________<br>
libbluray-devel mailing list<br>
<a href="mailto:libbluray-devel@videolan.org" target="_blank">libbluray-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/libbluray-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/libbluray-devel</a><br>
</blockquote></div>