From ed7be8ef6a0fee7f3807ef02d16f1b6a9f41ca92 Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Thu, 27 Aug 2020 08:37:13 +0700 Subject: [PATCH] Try new way set LD_LIBRARY_PATH for JLI Invocation --- app/src/main/AndroidManifest.xml | 1 - .../net/kdt/pojavlaunch/BinaryExecutor.java | 4 ++-- .../net/kdt/pojavlaunch/MainActivity.java | 22 ++++++++++++++---- .../main/jniLibs/arm64-v8a/libbinexecutor.so | Bin 10064 -> 10064 bytes .../jniLibs/armeabi-v7a/libbinexecutor.so | Bin 18000 -> 18000 bytes app/src/main/jniLibs/x86/libbinexecutor.so | Bin 9704 -> 9704 bytes app/src/main/jniLibs/x86_64/libbinexecutor.so | Bin 10336 -> 14432 bytes 7 files changed, 20 insertions(+), 7 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 721029be5..afda11161 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -7,7 +7,6 @@ rsaPkcs1List; @@ -685,7 +685,8 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener, System.out.println(new StringBuffer().append("Gave up context: ").append(AndroidContextImplementation.context).toString()); - AndroidDisplay.windowWidth += navBarHeight; + // Does it required anymore? + // AndroidDisplay.windowWidth += navBarHeight; new Thread(new Runnable(){ @@ -1005,9 +1006,11 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener, // TODO lwjgl2 vs lwjgl3 native path getApplicationInfo().nativeLibraryDir ); + javaArgList.add("-Dos.name=Linux"); // javaArgList.add("-Dorg.lwjgl.system.jemalloc.libname=libjemalloc.so"); javaArgList.add("-Dorg.lwjgl.opengl.libname=libgl04es.so"); + // javaArgList.add("-Dorg.lwjgl.opengl.libname=libRegal.so"); // Enable LWJGL3 debug javaArgList.add("-Dorg.lwjgl.util.Debug=true"); @@ -1054,7 +1057,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener, setEnvironment("JAVA_HOME", Tools.homeJreDir); setEnvironment("HOME", Tools.MAIN_PATH); setEnvironment("TMPDIR", getCacheDir().getAbsolutePath()); - setEnvironment("LIBGL_MIPMAP", "3"); + // setEnvironment("LIBGL_MIPMAP", "3"); setEnvironment("MESA_GLSL_CACHE_DIR", getCacheDir().getAbsolutePath()); setEnvironment("LD_LIBRARY_PATH", "$JAVA_HOME/lib:$JAVA_HOME/lib/jli:$JAVA_HOME/lib/server"); @@ -1084,7 +1087,18 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener, } } }, "RuntimeLogThread").start(); - + + String libName = System.getProperty("os.arch").contains("64") ? "lib64" : "lib"; + BinaryExecutor.setLdLibraryPath( + "/system/" + libName + ":" + + "/vendor/" + libName + ":" + + "/vendor/" + libName + "/hw:" + + getApplicationInfo().nativeLibraryDir + ":" + + + Tools.homeJreDir + "/lib/jli:" + + Tools.homeJreDir + "/lib/server:" + + Tools.homeJreDir + "/lib" + ); BinaryExecutor.initJavaRuntime(); BinaryExecutor.chdir(Tools.MAIN_PATH); diff --git a/app/src/main/jniLibs/arm64-v8a/libbinexecutor.so b/app/src/main/jniLibs/arm64-v8a/libbinexecutor.so index 6abeb2fe13213df8843cc8c6f8639e6de2dc3be5..b715a1716b5254b9b067a91fa740a7dba54fd611 100644 GIT binary patch delta 4020 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 delta 3147 zcmc&$ZEPIH8J^uee_igJ+w*Kvv0u_mLn-_$sXg-uwO6~_-T7!a`!c{_*TczlJxF~8ZH7-avK#>h0u|u5YncdlN zy(&NYi+A zu0u(Iis_(aN)4b1S_$<-c~DhQo+2-livt>jRzt&3OIoc0FfPgsKqu5LYyq{bS(NzH z>S&Kr@6PZ!@kscXeC!|{Rq7U@U&3-p^knkChkQcf>0ZD-;1NNrct1dy^Bw%VK#mx1#`Xw5tjy2g4fxMY|0$Li z0|;QR-C#n8Z@_m`tjaH?>Bm)(wlTh7AZOs5%LOQ(?DPC9LGmWBB<-#8%iCo7byaxy ztcYYpRK6}EpDK%-FE#G0UkuVO+K-9$ZqxV)~i)Ph!_7s&C#o=X#hvM04-LFMUPzOK#txMdipxXjx=z ziS`}^T_L;Lts&#Z6k9@fxNevJPJ3KCDC6!}5{qWmextD5ab17y60k>NZ@-E%7ET^L z@}GcSQlBb0$uTW-$wUr zY^PT{ulRFa;LcaEx#hru%trYzydLhehU>Ifxc221(_XcK#_M|JcAZ*1$D-SOeB#-! z(Ps)iq7s`+J@3^vVJee~CpSqKJc}F`zbD42(VLJ8bdUD|=@9+adtc+pYnYOaX)$!! zhw`SUm(8B9W}}lzF!v65eaYcopO*T=C*_ch%=k7YNn zFb#)OzIyJ?Iabj#CpmlO)N7Oq#BT|q&-^ogI#EzIew2EA`{rH0{Mpc!M}Dz;$1b*V z^Wy_s`lGvdMEeJJ?A)?F+Va$LD5IT$2t|VP8=2Ig+{%x0ewa;M*7YIav$MK>1n8O5 z^)cWOa2nY4t*!@<@lSx=KqNum3fu(D0CxjNfFr=uKx}0D>f>_XWy;mJ%Hx;mN`1U$ z0Q65WKtIjbH_4e|A#8iwuO{ZMckydh2fT z2br!khSjvSp_#2%hT6grcdxip2_LLrr-#C;<&2$j;jr9cr@w}u8!qyz5#$F#nWcX} z8CfGsQ#2U&Q#u|{tsGc5ikgJmirm5z3jHpAv)f9Lg-FO(@tf5Sksu3KQ)g4co)IiE zu&rsSy&z2FCD*i6wbEr_hGv=)YI$Cw)Y+WyTFb=35YI6kka2D`dsK(Gc3POCQ_TtW ze{R_{12!-2;1&*1XG_9fa#7#bvb4rJx|4LWWm%1NF!#^}Sl2K5)YiJ}`btRi`!?h> I4YvO4J3lOEzW@LL diff --git a/app/src/main/jniLibs/armeabi-v7a/libbinexecutor.so b/app/src/main/jniLibs/armeabi-v7a/libbinexecutor.so index 631e2acaf3548ec18706700be259be91eb01e679..882af956883ce0bac6f6d8f3278429a748076bbe 100644 GIT binary patch delta 6879 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 K-u2~5;eP=AnWtv} diff --git a/app/src/main/jniLibs/x86/libbinexecutor.so b/app/src/main/jniLibs/x86/libbinexecutor.so index 81e8a0b7b0a9c1992ee5923bc35a7815dfd57ab7..55e22df2ef3de1552d582f507b22bd130393321b 100644 GIT binary patch delta 3781 zcmai14Nz3q6~4PHxC;v`xF86!>+XU`5}}HOMAL%&nSzsDRHC7A!LSO5EM1lqBjaKh zEOfgGcvC~CX@V1Dt~-o6kM$kMkAm<1qenN?UFe;OQ`aDU9C=<9EZjDkA8O zu|(!!>>BuREMs?pi7b|_q5!}LWv+vRq9n#v$@~>^2)`4~J?zppzXe4V!Q;Js-!|L3#W) z5ny*nz#E`1f`7Yg-wk`6p0Tyy88pEaOgIdMO&-t=eh~q9mHb}BExtjOt!sC~xe>RPi?>f4Zi^;V$WLxg4$T5@)O1(dlN6 zoh@H0OPku;TI%=AS8nWZ?Wljj!3&~X9#n}jgd0v>jOs7h z2^T?d3>eN4ONZcmFe4<`mZD>VSY$<}j5FrAM@o0h-ng`UcgaVezrE$kcekXUx^b|p zd%Nd*eQ7`V?DEQ^zn!~b{{G8C*~f2`l>KGmXG4Ejv;5N|j~>}{O0jAtve%YBs`|CN zwvrrXL5vUzmI9z)sL{k`2qhG3lo&PXR0FYa^O~Vfru16SLa=gDma>{f2RlG)QLG-|YIsc8bhsGQVj3x>9ZG6|Mh z4ITqo!mlsLJgCm%Ms<`VdFnz%C2vxvdFVAq!@6YbmT@>2#X$vMCq!~b2vOCOzy(O+ zT|xz31cZp=3?bq>M~D@;KnTYl5~9i%36aM*A&PpLFq&1ctJFaSuMwisHwh86K!|0T zAdF{hk`RTtLx`oEAw+@Z2p5hNXcj9f#kZ=EN@F+v-M;of6vel!#QTU}l=vp%1H{jO zZ}d*61rS!d|EwKb#P6k1{VI#_8@?;LSQ&5TzlzQ%_!oANcS04g`hCJxQM8I~ONvb> z$8hhtl-jccp{{<1@xmIej4>%+Gx4mLOof71#dLb6v2MQ2YM&C*`hD74qG+oYttsAf zy8cp&nv~v0plnuHh28%l$GZM8Nt+L?wMJ-^mFIiUbl4=r#(?3O5JRD01M462dw&R{ z-?tb4Ypk~BD53P}z%XB#y8rh+%BTie=xn035L10aB>e}HzM1(p=n&h$5v;TvhSnjpHseckB`T8=kCO2#zc<8^eUkG z`@DCsWBT)?mHv{RJ$0Mrc(yr0h`GnTahZjhFJ%7rS!v3^!)x$xN9?;QTpfai5t=c; z|Ds$R#!qPV%JWP3RNP8s&n(Z0-}YF3z(Wyoq4iD*P+yfr+pl`B_e^}xavUxgYpg=* zEPp5dTUiyD-0w3|2>n%-bQ{9zouM$WZ91TBj<5=)Gkmcwz1BlRzmC2lILuEE*9eOw zuA^DJlsq;WHurHdQnD$*;h&Nl-(~vGKcfGq-v5FR>T(luB!d(Rh4KD0zobj^3_&Y7 zcx_s$j<3t2lRR%D1C}ZsWA_GZz2d$_KDR}Sogo$oqXDINO!Z91m!!hs5)MmBt>3#V zrzWfu+{_qQ6$0qd{@FktGC*%#hcbMyS>F(-{5fB|IfH}O|7^tlyy2@=x{q-tjy(d zx{Ny=Zg*4bPGkF?-P@fl#t;{||6{HvjhXGNyuPW$(O`5tjSVf%Hb*OTq#yZ3Vy+_6 zdRG(&`F?$h4og9wpHj#LDDOh4*9%$|-u;rH1vreX50ZhW>SHvoLX(1u+ewp99T=Jo zTxi#XZdlxsc9{`132+(VP(Z}>R#o#*vQU+10z)5f&B#R zwov=}11fKXvW!O2H@6#OCNPFBk`H}Ucq5uIfb7GtYk5LaTI3n@9z}0aEG2ji>_=aT zViDh*WcJ*_tCg++jnIr^V>JF-6m|GGsPRrIBt$9dfX9G+#8H70z#-&)6 z(A$nKLL_<7d^BT)&5EU=>&#|6bN7MhJciFVt=1-W;MY(kGQ}Tz0(Qa@8R@n`d;>T> z)Y26QTby;{${{t79gr6x z2Ox(aM3?wVKPKhS|pnz_{%1P8c9)NzvS=0 zMyZkHEBI%o3=PFfQpF?9hA4`7T*GtBrl?7D5pXrSc_kq^+`?C9j{Fy-MQMfr delta 2924 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 literal 10336 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 b{m(LvBlFZw!FL8hU(p<94tJzvMXdM(nFAMd