<div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div>Ah, I discovered that you also have to change 'target' in project/project.properties<br></div><div>Although that file has the header "This file is automatically generated by Android Tools. Do not modify this file -- YOUR CHANGES WILL BE ERASED!", that is false, it seems it hasn't been regenerated since it was checked into git in 2011.<br><br></div><div>OK, it looks like that property does actually affect the Java compiler, as I now get a bunch of compile errors about org.apache.http being missing. I'm trying to merge the fix from that from upstream, but it's a mess because there are divergent changes...<br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Sat, 29 Sep 2018 at 05:21, James Paige <<a href="mailto:Bob@hamsterrepublic.com">Bob@hamsterrepublic.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Ah, so that means you can't fudge the target number, huh? So sounds like switching to r15 is still the easiest route?<br></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Sep 28, 2018 at 10:53 AM Ralph Versteegen <<a href="mailto:teeemcee@gmail.com" target="_blank">teeemcee@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Oh, although the resulting .apk has a targetSdkVersion of 26 in its AndroidManifest.xml, if I grep the output of build.sh I see:<br>Setting project property: target -> android-17<br>[gettarget] Project Target:   Android 4.2.2<br>[gettarget] API level:        17<br></div><div>etc<br></div><div>android-17 is actually the oldest "SDK platform" (as called in the Android SDK Manage) which I have installed (as can also be seen by looking in /opt/android-sdk-linux/platforms/). Although that never stopped the .apks from running on my Android 2.2 phone.<br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Sat, 29 Sep 2018 at 02:38, Ralph Versteegen <<a href="mailto:teeemcee@gmail.com" target="_blank">teeemcee@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Well the even simpler solution is to just increase targetSdkVersion to 26 in project/AndroidManifestTemplate.xml, without changing anything else, and see whether it works. I've done so, using NDK r12 (which I already had installed) and the latest SDK. It compiles and runs fine in an Android 4.2.2 emulator. I can't get Android 8.0 to run in an emulator. Maybe because only Atom system images are available, not ARM.<br>As far as I can tell, targetSdkVersion is an SDK version number, it might have no effect at all on the NDK build tools. As I said, it changes runtime behaviour, wguke minSdkVersion is what is compiled against.<br>The only information that I've managed to find about the requirement for increasing it is "minSdkVersion <= targetSdkVersion <= compileSdkVersion", where compileSdkVersion is the SDK version you have installed and seems to be a setting specific to other Android build tools; that string doesn't actually appear anywhere in the commandergenius tree.<br><br></div><div>Which NDK version are you using, still the one I originally linked from the wiki Compiling for Android page (r9)?<br><br></div><div>Oh, and Android nightly builds never did upload - it kept failing to connect to <a href="http://motherhamster.org" target="_blank">motherhamster.org</a>. But now all nightly builds are down again anyway :P<br></div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, 28 Sep 2018 at 23:51, James Paige <<a href="mailto:Bob@hamsterrepublic.com" target="_blank">Bob@hamsterrepublic.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ah, so compiling with NDK r15 does sound like a better short term fix. That might be easier, and could buy us time.<div><br></div><div>I also really like the idea of moving our modifications to sdl_android into Java files in the ohrrpgce code.<br><br>On Thursday, September 27, 2018, Ralph Versteegen <<a href="mailto:teeemcee@gmail.com" target="_blank">teeemcee@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Changing the target SDK changes system behaviour.<br></div>According to <a href="https://developer.android.com/distribute/best-practices/develop/target-sdk#prenougat" target="_blank">https://developer.android.com/distribute/best-practices/develop/target-sdk#prenougat</a>, setting the target to API 24+ (Android 7.0+) might break our function to email files. I'm not really sure, because the code calls "FileProvider.getUriForFile"... does that count as using FileProvider (required), or does that count as using a file:// URI (not allowed)? I think it's probably OK, but will need testing.<br></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, 28 Sep 2018 at 15:48, Ralph Versteegen <<a href="mailto:teeemcee@gmail.com" target="_blank">teeemcee@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I found something else in a roadmap:<br>"2019 onwards: Each year the targetSdkVersion requirement will advance. Within one year following each Android dessert release, new apps and app updates will need to target the corresponding API level or higher."</div><br><div class="gmail_quote"><div dir="ltr">On Fri, 28 Sep 2018 at 15:17, Ralph Versteegen <<a href="mailto:teeemcee@gmail.com" target="_blank">teeemcee@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>It drives me crazy that Android and its SDK and NDK use so many different version numbers and names, which don't match up in any way!<br></div><div dir="ltr"><br>A week ago there was this commit to pelya's port:<br>"SDL: support for NDK r18, set minimum API level to 16 (Android 4.1), which is the minimum level NDK r18 supports"<br>Switching to r18 is a big change because it gets rid of GCC and 
libstdc++. That's why so a bunch of work has been required in the SDL 
port. But if we can continue to use an older NDK then we don't need all these 
upstream changes from the SDL port.<br><br></div><div>NDK r18+ supports Android 4.1+ (API 16+)<br></div><div>NDK r15-17 support Android 4.0.0+ (API 14+)<br></div><div>NDK r12-14 support Android 2.3+ (API 9+)<br></div><div>Also, NDK r17 removed ARMv5 (armeabi) support, which is what we build for by default. Various deprecations as well.<br></div><div>NDK r15 <em>(July 2017) </em>added Android 8.0 native APIs.<br><br></div><div>So clearly NDK r15 can be used with Android 8.0 as the target, and it might even be possible to target Android 8.0 with earlier NDKs and SDKs. So I recommend we try to build with r15.<br><br></div><div>Of course it would be nice to not be stuck on a years-old fork of pelya's port.<br></div><div>Many of our additions to pelya's SDL 1.2 port should be moved to .java files contained in the OHRRPGCE source code rather than mixed in with unrelated code in project/java/Video.java<br></div><div><br></div><div>Oh, also I just found this:<br>"The Play Store will require 64-bit support when uploading an APK
          beginning in August 2019" "<em>32-bit support is not going
away. Apps that include a 32-bit library just need to have a 64-bit version
too"</em><br><br></div><div dir="ltr"><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, 28 Sep 2018 at 12:43, James Paige <<a href="mailto:Bob@hamsterrepublic.com" target="_blank">Bob@hamsterrepublic.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Oh, and I forgot to mention.<br><br></div><div>Android 8.0 is the "target" but the apk files will still run on older versions of android too.<br></div><div>The current "minimum" version supported by pelya's commadergenius sdl_android is Android version 4.1<br><br></div><div>(I looked up statistics, and apparently the percentage of android devices running versions older than 4.1 is something like half of 1%)<br></div><div><br><br><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Sep 27, 2018 at 8:31 PM James Paige <<a href="mailto:Bob@hamsterrepublic.com" target="_blank">Bob@hamsterrepublic.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div>So starting pretty soon, only android apks that target Android version 8.0 will be allowed in Google play.<br><br></div>I have done a little research, and I learned that pelya has done a lot of recent work on updating the commandergenius sdl for android port to work with the latest Android NDK.<br><br></div>So here is my current plan:<br></div>* I will clone a new fork of pelya's source<br></div>* I will patch in or re-implement all the modifications that the ohrrpgce needs (this is mostly gamepad stuff and a few platform-detection functions. The ouya store purchase stuff can be removed completely)<br></div>* I should be able to re-build the games that I have already packaged as apks<br><br></div>I am glad I have a plan now, I was worried about that part-- but the bad news is that this plan is a lot of work, and my current free time is very limited right now.<br><br></div>I am budgeting my time and so one hour each Thursday evening is "OHRRPGCE time" for the foreseeable future.<br><br></div>Persons wondering how they can help without knowing how to comb through git commits and patch them onto a newer tree can help by sending me kind words and encouragement via e-mail on Thursday mornings to get me hyped up ;)<br> </div>
</blockquote></div>
_______________________________________________<br>
Ohrrpgce mailing list<br>
<a href="mailto:ohrrpgce@lists.motherhamster.org" target="_blank">ohrrpgce@lists.motherhamster.org</a><br>
<a href="http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org" rel="noreferrer" target="_blank">http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
_______________________________________________<br>
Ohrrpgce mailing list<br>
<a href="mailto:ohrrpgce@lists.motherhamster.org" target="_blank">ohrrpgce@lists.motherhamster.org</a><br>
<a href="http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org" rel="noreferrer" target="_blank">http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org</a><br>
</blockquote></div>
</blockquote></div>
_______________________________________________<br>
Ohrrpgce mailing list<br>
<a href="mailto:ohrrpgce@lists.motherhamster.org" target="_blank">ohrrpgce@lists.motherhamster.org</a><br>
<a href="http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org" rel="noreferrer" target="_blank">http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org</a><br>
</blockquote></div>
_______________________________________________<br>
Ohrrpgce mailing list<br>
<a href="mailto:ohrrpgce@lists.motherhamster.org" target="_blank">ohrrpgce@lists.motherhamster.org</a><br>
<a href="http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org" rel="noreferrer" target="_blank">http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org</a><br>
</blockquote></div>