Android ndk-build version #140
Labels
No Label
RGSS accuracy
bug
compilation
discussion
documentation
duplicate
enhancement
invalid
performance issue
port request
question
ruby incompatibility
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: MapleShrine/mkxp#140
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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
If you need someone to test out your apks, I have an Nvidia Shield and am happy to help. :)
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.
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 alibmkxp
so I wouldn't have to deal with .so problems).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?
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.
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.
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.
@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:
(It's probably not going to work well with the RGSS2+ screen sizes).
Touch overlay is functional again.