zhuowei / Boardwalk

Source code for Boardwalk, a Minecraft Java Edition launcher for Android (not actively developed)
Apache License 2.0
365 stars 57 forks source link

Building Boardwalk 2.0 #364

Open ayunami2000 opened 4 years ago

ayunami2000 commented 4 years ago

I just got all the different parts of Boardwalk 2.0 set up. In the README it says that only your computer can build it currently. Is there a way for me to build what I have? Here's what I've got so far (I'm kiiiinda new-ish and some of this stuff may be a little rough) https://github.com/ayunami2000/Boardwalk-boardwalk-2.0/invitations

zhuowei commented 4 years ago

I don't remember how to build it anymore either. (I started 2.0 in 2015, gave up, worked for a week in 2018, gave up again, and so I'd forgotten.)

Boardwalk 2 doesn't work yet (I haven't finished the LWJGL3 port yet, so it won't launch 1.13 and later, and I don't know how to build the LWJGL2 anymore, so I can't get 1.12 and older versions working either); there's probably no point in trying to get it to work.

if I get it working, I'll setup automated builds.

For now

I had trouble building this; I couldn't even build unmodified LWJGL3 on my computer. I tried ant compile-templates release and it gave me an error about modules.

I'm so sorry about this.

ayunami2000 commented 4 years ago

I already added those libraries into it, that's why I have a separate repo. I actually just built it and it did compile to an APK though, but it keeps saying package format error (I probably have too old of devices) But I don't know if my APK is gonna run at all.

https://github.com/ayunami2000/Boardwalk-boardwalk-2.0/blob/master/app-debug.apk

miguelmazetto commented 4 years ago

If i do remember correctly i Also tried this,with a Lot of repo fixes i dont rememember anymore,i got the app to the point where i Can launch the game,but nothing happens. Btw: written on a phone

miguelmazetto commented 4 years ago

I think It would be better to start from Scratch, this app is something that a looooot of people would want, because everyone has a phone, but not all of them have a computer. And the pocket edition it's Just disapointing, the inability to play with people and with mods from Java versions makes me pretty Far from even buying the pocket edition version.

miguelmazetto commented 4 years ago

I already added those libraries into it, that's why I have a separate repo. I actually just built it and it did compile to an APK though, but it keeps saying package format error (I probably have too old of devices) But I don't know if my APK is gonna run at all.

https://github.com/ayunami2000/Boardwalk-boardwalk-2.0/blob/master/app-debug.apk

If you're using older devices you might want to lower the minimum Android sdk requirement.

KdotDevelopment commented 4 years ago

ayunami2000

You deleted that link, could you put the debug-apk back? I have newer devices to test it on (Android 8, Samsung S7)

ayunami2000 commented 4 years ago

Oops, sorry the repository was set to private. Here's a link to it: http://s000.tinyupload.com/index.php?file_id=05087960811950374946

On Sat, Feb 1, 2020 at 9:22 AM KdotDevelopment notifications@github.com wrote:

ayunami2000

You deleted that link, could you put the debug-apk back? I have newer devices to test it on (Android 8, Samsung S7)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/zhuowei/Boardwalk/issues/364?email_source=notifications&email_token=AF5DB4GQMLZO6CQJJKC6D7TRAWAUDA5CNFSM4KLSRGR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKQ6GWI#issuecomment-581034841, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF5DB4DTZA4TOFVOBQGHKTLRAWAUDANCNFSM4KLSRGRQ .

KdotDevelopment commented 4 years ago

I was able to open the apk and login to my mc account, but an error tells me it cannot find boardwalk/gamedir/versions/1.12.2/1.12.2.json

This makes me believe it doesnt actually download the files to make it run.

andris155 commented 4 years ago

@KdotDevelopment set to allow storage permission for Boardwalk 2.0

KdotDevelopment commented 4 years ago

You can actually get around this if you have the time. Download the .json directly from http://s3.amazonaws.com/Minecraft.Download/versions/1.12.2/1.12.2.json

You can then put that file into a folder in boardwalk/gamedir/versions/1.12.2

The next problem you will run into is that it cannot get options.txt. I am currently working on this

Edit: I got that link from one of the .java files in the downloader folder. A little digging in the source code of boardwalk and you will find them

KdotDevelopment commented 4 years ago

I allowed storage permissions. I added an empty options.txt, and it actually worked... kinda. It launched a black screen, but I waited quite a while and nothing happened. I dont have a 1.12.2 options.txt file, so I copied someones from the internet from like 2014. If you guys have a 1.12.2 options.txt or any other solutions, please share :)

It seems to show a black screen for other versions too

KdotDevelopment commented 4 years ago

Exception in thread "main" java.lang.ClassCastException: java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to java.base/java.net.URLClassLoader at net.minecraft.launchwrapper.Launch.(Launch.java:24) at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

Found in log_boardwalk2.txt All versions cause a black screen

If you guys have a solution for this please share 'em. My device is a Samsung Galaxy S7, Android 8.0.0

ayunami2000 commented 4 years ago

Ok, I have made the repository public: https://github.com/ayunami2000/Boardwalk-boardwalk-2.0 You can download it as ZIP and extract (or clone it to a folder) and open the entire repository folder with Android Studio. There you can try fixing it.

zhuowei commented 4 years ago

I'm also trying to rebuild the 2.0 branch: I think? I got it back to the state I left it in 2018: it once again gets far enough to crash after calling Minecraft's main method.

https://gist.github.com/zhuowei/13d04008a20a65c2ffacf7fed77874bd

https://drive.google.com/open?id=1gfzAjBkPFp1bv4CSRVApMG2nO5v4t5rA<- DOES NOT WORK, DON'T INSTALL THIS

https://github.com/zhuowei/Boardwalk/tree/i-am-a-bad-programmer is the wip branch for attempting to get 1.15.2 to work.

Here's what I did:

I need to document this somewhere...

artdeell commented 4 years ago

I think Gl4ES does not support framebuffers. Try to build LWJGL 2 and add it to build. This will get able 1.12.2 running with decent perfomance(boardwalk 1.2 wasn't able to run it because dx runs out of memory on fastutil library convertation)

xxxxmlg69xxxx commented 4 years ago

Any updates? I and a lot of people'd be sad if it dies or something you know...

Gouster4 commented 4 years ago

Im also waiting for working build instructions. Even if project died (doesnt seems so), i would like to modify and compile old code.

by-scott commented 4 years ago

I'm also trying to rebuild the 2.0 branch: I think? I got it back to the state I left it in 2018: it once again gets far enough to crash after calling Minecraft's main method.

https://gist.github.com/zhuowei/13d04008a20a65c2ffacf7fed77874bd

https://drive.google.com/open?id=1gfzAjBkPFp1bv4CSRVApMG2nO5v4t5rA<- DOES NOT WORK, DON'T INSTALL THIS

https://github.com/zhuowei/Boardwalk/tree/i-am-a-bad-programmer is the wip branch for attempting to get 1.15.2 to work.

Here's what I did:

  • Updated to LWJGL 3.2.3 (the old version used 3.1.6)
  • put stuff in app/src/main/assets:
  • busybox - copied from existing assets dir
  • jre.tar.xz - built from https://github.com/BoardwalkApp/boardwalk2-openjdk-build
  • lwjgl3.tar.xz - built from repacklwjgl3/repack.sh. Note that this is a completely unmodified LWJGL 3.2.3.
  • lwjgl_override.jar - built from running lwjgl3override/build.sh
  • options.txt - copied from existing assets dir
  • run it once - it won't even start
  • add storage permission by hand
  • Manually extracted lwjgl3.tar.xz and jre.tar.xz into /data/data/net.zhuoweizhang.boardwalk.charm/app_runtime/lwjgl3 and /data/data/net.zhuoweizhang.boardwalk.charm/app_runtime/jvm. (The busybox I used broke sometime over the last two years; I'll fix this by rewriting using a pure-Java tar.xz extractor)
  • run it again on 1.15.2; it crashes where I expected it to

I need to document this somewhere...

你好,我需要你的帮助。我完成了所有步骤,但是log_boardwalk2.txt输出error: Backend API: ERROR UnsatisfiedLinkError: /storage/emulated/0/boardwalk/gamedir/lwjgl/3.2.3-build-13/liblwjgl.so: dlopen failed: library "/storage/emulated/0/boardwalk/gamedir/lwjgl/3.2.3-build-13/liblwjgl.so" needed or dlopened by "/data/data/net.zhuoweizhang.boardwalk/app_runtime/jvm/lib/server/libjvm.so" is not accessible for the namespace "classloader-namespace"这是否是Android N的问题?我该如何解决?谢谢:D

ayunami2000 commented 4 years ago

@by-scott maybe try to copy the files it errors from into those folders and then running the game?

by-scott commented 4 years ago

@by-scott maybe try to copy the files it errors from into those folders and then running the game?

这个文件(boardwalk/gamedir/lwjgl/3.2.3-build-13/liblwjgl.so)是存在的。我尝试过将32位或64位的liblwjgl.so替换到那个位置但仍然无法运行。而且APP会自动将app_runtime/lwjgl3/lwjgl-natives-linux-arm32.jar里的lwjgl.so复制到boardwalk/gamedir/lwjgl/3.2.3-build-13/liblwjgl.so,即使人为删除或替换也会重新自动替换。我不明白为什么,在源码中也没有找到相关内容。 但是仍然感谢你的帮助:D

Soul-Void commented 4 years ago

Idk if this has been abandoned or not but it sure looks really cool. Anyway, I'm new to this and currently have next to no knowledge of the skills to do what y'all are doing, but I'm a quick study and willing to learn to try and help with this project or one similar to it. My laptop literally crapped out today, so I couldn't write or compile anything if I needed to, but I do have a really powerful phone if that helps any. I noticed some comments about programs running out of memory, and I happen to have a rooted OnePlus 7 Pro 12g ram 256g rom, so I believe I've more than enough horsepower. TL;DR I have a kick-ass phone and I'm willing to help, just tell me what to do. I only lack a PC for now :)

szarik001 commented 4 years ago

I believe the memory problem isn't caused by the phone's hardware but rather a limit Android places on apps. From what I know this can't be easily changed.

Soul-Void commented 4 years ago

I see what you mean. I started messing with mcinabox and the issue seems to lie in that android is limiting ram, and past that, 32bit Java for mc limits max ram to 2gb, which sucks. Max I can allocate on mcinabox is 950 without instant crash.