[Ohrrpgce] Plan for Android 8.0 target

Ralph Versteegen teeemcee at gmail.com
Fri Sep 28 07:38:14 PDT 2018


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.
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.
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.

Which NDK version are you using, still the one I originally linked from the
wiki Compiling for Android page (r9)?

Oh, and Android nightly builds never did upload - it kept failing to
connect to motherhamster.org. But now all nightly builds are down again
anyway :P


On Fri, 28 Sep 2018 at 23:51, James Paige <Bob at hamsterrepublic.com> wrote:

> Ah, so compiling with NDK r15 does sound like a better short term fix.
> That might be easier, and could buy us time.
>
> I also really like the idea of moving our modifications to sdl_android
> into Java files in the ohrrpgce code.
>
> On Thursday, September 27, 2018, Ralph Versteegen <teeemcee at gmail.com>
> wrote:
>
>> Changing the target SDK changes system behaviour.
>> According to
>> https://developer.android.com/distribute/best-practices/develop/target-sdk#prenougat,
>> 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.
>>
>> On Fri, 28 Sep 2018 at 15:48, Ralph Versteegen <teeemcee at gmail.com>
>> wrote:
>>
>>> I found something else in a roadmap:
>>> "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."
>>>
>>> On Fri, 28 Sep 2018 at 15:17, Ralph Versteegen <teeemcee at gmail.com>
>>> wrote:
>>>
>>>> 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!
>>>>
>>>> A week ago there was this commit to pelya's port:
>>>> "SDL: support for NDK r18, set minimum API level to 16 (Android 4.1),
>>>> which is the minimum level NDK r18 supports"
>>>> 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.
>>>>
>>>> NDK r18+ supports Android 4.1+ (API 16+)
>>>> NDK r15-17 support Android 4.0.0+ (API 14+)
>>>> NDK r12-14 support Android 2.3+ (API 9+)
>>>> Also, NDK r17 removed ARMv5 (armeabi) support, which is what we build
>>>> for by default. Various deprecations as well.
>>>> NDK r15 *(July 2017) *added Android 8.0 native APIs.
>>>>
>>>> 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.
>>>>
>>>> Of course it would be nice to not be stuck on a years-old fork of
>>>> pelya's port.
>>>> 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
>>>>
>>>> Oh, also I just found this:
>>>> "The Play Store will require 64-bit support when uploading an APK
>>>> beginning in August 2019" "*32-bit support is not going away. Apps
>>>> that include a 32-bit library just need to have a 64-bit version too"*
>>>>
>>>>
>>>>
>>>> On Fri, 28 Sep 2018 at 12:43, James Paige <Bob at hamsterrepublic.com>
>>>> wrote:
>>>>
>>>>> Oh, and I forgot to mention.
>>>>>
>>>>> Android 8.0 is the "target" but the apk files will still run on older
>>>>> versions of android too.
>>>>> The current "minimum" version supported by pelya's commadergenius
>>>>> sdl_android is Android version 4.1
>>>>>
>>>>> (I looked up statistics, and apparently the percentage of android
>>>>> devices running versions older than 4.1 is something like half of 1%)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Sep 27, 2018 at 8:31 PM James Paige <Bob at hamsterrepublic.com>
>>>>> wrote:
>>>>>
>>>>>> So starting pretty soon, only android apks that target Android
>>>>>> version 8.0 will be allowed in Google play.
>>>>>>
>>>>>> 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.
>>>>>>
>>>>>> So here is my current plan:
>>>>>> * I will clone a new fork of pelya's source
>>>>>> * 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)
>>>>>> * I should be able to re-build the games that I have already packaged
>>>>>> as apks
>>>>>>
>>>>>> 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.
>>>>>>
>>>>>> I am budgeting my time and so one hour each Thursday evening is
>>>>>> "OHRRPGCE time" for the foreseeable future.
>>>>>>
>>>>>> 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 ;)
>>>>>>
>>>>> _______________________________________________
>>>>> Ohrrpgce mailing list
>>>>> ohrrpgce at lists.motherhamster.org
>>>>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>>>>>
>>>> _______________________________________________
> Ohrrpgce mailing list
> ohrrpgce at lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/attachments/20180929/9d56b418/attachment.html>


More information about the Ohrrpgce mailing list