Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android ndk-build version #140

Open
xperia64 opened this issue Nov 26, 2015 · 8 comments
Open

Android ndk-build version #140

xperia64 opened this issue Nov 26, 2015 · 8 comments

Comments

@xperia64
Copy link

I have decided to try compiling this for android again, this time using the "official" ndk-build method. I've got everything compiling for armeabi-v7a, mips, and x86. Everything is dynamic except for SDL_*. Most everything is intact except for ruby's string crypt function, which I broke due to a lack of -lcrypt.

I'm in the process of ironing out the segfaults.
Currently, I'm stuck on boost.program_options (1.48.0). I am getting a maperr from the copy() function at line 118 of here: https://gist.github.com/xperia64/b84f7dc3761a0c60ee5a

@sorlok
Copy link

sorlok commented Nov 26, 2015

If you need someone to test out your apks, I have an Nvidia Shield and am happy to help. :)

@xperia64
Copy link
Author

A lot of the segfaults are fixed now. boost.program_options does not like being built as shared, and ruby had some invalid config options set. The project appears to be at about the same state as it was with the non-ndk-build version, minus touch controls. Also, I'm not sure if sound works or not.

Here is my repository for the Android project, there is an APK in the release section: https://github.com/xperia64/android-mkxp
Qualcomm devices are still upside-down 👍

All libraries are now static except for OpenAL, ogg, and mkxp itself. I ran into problems when ogg and OpenAL were compiled statically.

@Ancurio can you help me re-add the touch controls properly? SDL changed a little.

@Ancurio
Copy link
Owner

Ancurio commented Nov 27, 2015

A lot of the segfaults are fixed now. boost.program_options does not like being built as shared, and ruby had some invalid config options set.

That's to be expected when using ndk-build. When I googled and read "just run the configure script on your computer to generate config.h", I knew this was a horrible hack in the making and stayed away from it. With native autotools, I never had a single crash or problems compiling statically (I used to link everything into a libmkxp so I wouldn't have to deal with .so problems).

@Ancurio can you help me re-add the touch controls properly? SDL changed a little.

Sure, I should still have the touch control changes in a local branch. When you say "SDL changed", you're talking about the native Java file not being compatible anymore, right? Unfortunately the SDL folks happily break it with every release, so this might be a recurring problem. So exactly what part in the interface changed?

@xperia64
Copy link
Author

What confuses me about ruby's config.h was that I generated it with a standalone ndk toolchain, which I would think would be compatible with the regular ndk build method.The standalone toolchain version built fine, but I never tested it/tried to link to it.

Yeah, just the Java interface changed for SDL. Some native methods changed. There is no longer a nativeFlipBuffers() method, nativeSetRefreshRate was combined with onNativeResize. There were some other input-related changes too.

@moocow1452
Copy link

Godspeed, xperia64. If you need a hand with testing or another brain to bounce bugs off of, I'll take up my arms once more in your name.

@xperia64
Copy link
Author

xperia64 commented Dec 2, 2015

I would like to continue discussion about the Android version either on my repo's issue tracker or the gitter I just created: https://gitter.im/xperia64/android-mkxp
Original MKXP issues encountered should definitely be addressed here, but I think it would be best to direct all of the android-specific stuff there.

@Ancurio I now better see what you mean about the "fun" that is GLES on most Android devices.

@Ancurio
Copy link
Owner

Ancurio commented Dec 4, 2015

@xperia64

Here's the code for the provisional touch overlay I created a year ago, rebased onto current master and tested locally. Also, the overlay_desc.json I used for the demo, and the overlay image:
touch_overlay

(It's probably not going to work well with the RGSS2+ screen sizes).

@xperia64
Copy link
Author

xperia64 commented Dec 4, 2015

Touch overlay is functional again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants