[Ohrrpgce] Fwd: Get your apps ready for the 64-bit requirement by August 1, 2019

Ralph Versteegen teeemcee at gmail.com
Thu Jul 11 08:04:30 PDT 2019


I haven't found any need to merge in more upstream commandergenius commits.
I've committed my changes to SConscript. I also pushed one commit to my
sdl-android repo on github.

Support for 64 bit ARM (aka aarch64) was added in NDK 10. I used ndk 12b to
compile.
To compile, make sure you have NDK 10+ in your PATH (specifically, the
ndk-build script) and run "scons android-source=1 release=1 arch=arm64
game" (it's best to test release=1)

Note that support for 64 bit CPUs (ARM, x86, MIPS) was added in android-21
(Android 5.0), but this doesn't mean that we need to increase minSdkVersion.

Now, packaging a multiarch.apk is harder. The commandergenious build.sh
script supports ndk-build's builtin support for multi-arch .apks (by
setting APP_ABI - search SConscript for APP_ABI for more), but it won't
work for us unmodified, because we must run our .bas files through fbc
separately for each arch - it doesn't generate portable C. Maybe we can run
scons multiple times, putting the .c files in different directories, and
then have a .mk file in the sdl-android repo which compiles a different set
of .c files depending on the arch.

On Wed, 10 Jul 2019 at 13:10, Ralph Versteegen <teeemcee at gmail.com> wrote:

> Right, the host environment doesn't matter.
>
> I think we should start with Fufluns. We should easily get Fufluns
> released before August before needing to fix android support.
> We probably need to merge in more upstream commits (eg d9ce29984) from the
> commandergenius repo. SConscript will also need updating.
>
> On Wed, 10 Jul 2019 at 07:57, James Paige <Bob at hamsterrepublic.com> wrote:
>
>> I am going to be working on trying to figure out these Android 64 bit
>> builds.
>>
>> Do I understand correctly that it does not matter whether the host
>> machine I am doing the compiling on is 32 bit or 64 bit? I ask because my
>> only working Android build environments are on 32-but Linux virtual
>> machines.
>>
>> I haven't decided yet whether Android 64 bit support or Fufluns blockers
>> is the most urgent task right now...
>>
>> ---
>> James Paige
>>
>>
>> On Thu, Jan 31, 2019 at 9:41 PM Ralph Versteegen <teeemcee at gmail.com>
>> wrote:
>>
>>> The other annoying thing is having to update the sdl-android build.sh
>>> script to package the extra .so files. Hopefully I merged enough changes
>>> from upstream into build.sh that it's not too painful to merge more. (I
>>> haven't looked whether they have support for that)
>>>
>>> On Fri, 1 Feb 2019 at 14:17, James Paige <Bob at hamsterrepublic.com>
>>> wrote:
>>>
>>>> Two apk files sounds super annoying, but 1.5mb bloat sounds relatively
>>>> insignificant, especially since we are no longer bound to a 50 mb max.
>>>>
>>>> The unity exception raised my eyebrows too.
>>>>
>>>> On Thu, Jan 31, 2019 at 7:39 PM Ralph Versteegen <teeemcee at gmail.com>
>>>> wrote:
>>>>
>>>>> Whaaaaat, they give a TWO YEAR exemption for Unity games? Outrageous!
>>>>>
>>>>> Hopefully there won't be any problems porting to ARM64. FB already
>>>>> supports it, and I've previously compiled an android-x86_64 build of the
>>>>> OHR (can't remember whether I actually tested it in an emulator). I suppose
>>>>> only our FB<->Java interface code is not 64-bit battle-tested.
>>>>>
>>>>> So the most annoying part of this would be having to either upload two
>>>>> .apks, or upload an .apk with arm64 binaries, which will bloat its size by
>>>>> ~1.5MB
>>>>>
>>>>> On Fri, 1 Feb 2019 at 10:04, James Paige <Bob at hamsterrepublic.com>
>>>>> wrote:
>>>>>
>>>>>> Google is really pushing Android apps to make updates!
>>>>>> Looks like 64bit versions will be mandatory soon
>>>>>>
>>>>>> ---------- Forwarded message ----------
>>>>>> From: *Google Play* <noreply-developer-googleplay at google.com>
>>>>>> Date: Thursday, January 31, 2019
>>>>>> Subject: Get your apps ready for the 64-bit requirement by August 1,
>>>>>> 2019
>>>>>> To: Bob at hamsterrepublic.com
>>>>>>
>>>>>>
>>>>>> View as webpage  »
>>>>>> <https://www.google.com/appserve/mkt/vib/AHANi0bUihi1-hvKLRA5ju6Sq9SWaVWl1fpPAC26zpbU67EkaXYXWWTwZH988804L36GCzpyX-DqMZVqK08dKcCrI794D9258QWzKyaSicYUTXJLWWjgCEkmjiHNeD8alP_W8vK44FO7t1inZy89DeN-Cj9PpPmuwIgVyL_N6guxvs7KCn1uPwC1q1rgDUwkZhucTrw3SxNN6RZ6Jy7A-SaunWdVhDARXKJc5sBrqEPWb1di>
>>>>>> [image: Google Play]
>>>>>> <#m_7721612659355376696_m_322590625419964511_m_3409437702399039544_m_-6659982938063351937_m_4228766335566938952_m_-2342240917633459498_m_-2195887469763079888_m_-1338671973875286865_> Developer
>>>>>> update
>>>>>>
>>>>>> Hello Google Play Developer,
>>>>>>
>>>>>> In our latest blog post
>>>>>> <https://www.google.com/appserve/mkt/p/AHANi0YmRBkOUcfdJpdtDd9Zy_soAkHjC9skJm0eLktK4lliSyDAlu7cjI1ludZbLKPmjFZDTJ3JDk382ee86N7nLZh67UGv-7Gs8W5d2nR8OiIZUFifm1KTuRk_HTB9JJPv7n3VrX-VO71U0kFmthjw1N4POi5SCKw>,
>>>>>> we detailed the requirement that apps using native code must provide a
>>>>>> 64-bit version in addition to the 32-bit version by *August 1, 2019*.
>>>>>> As you may know, 64-bit CPUs deliver faster, richer experiences, and we
>>>>>> appreciate your support in ensuring our users have the best experience
>>>>>> possible on the Android platform.
>>>>>>
>>>>>> *Action required*
>>>>>>
>>>>>> If you haven't yet, we encourage you to begin work for the 64-bit
>>>>>> requirement as soon as possible. Many apps are written entirely in
>>>>>> non-native code (e.g. the Java programming language or Kotlin) and will not
>>>>>> need code changes.
>>>>>>
>>>>>> Please note that we are not making changes to our policy on 32-bit
>>>>>> support. Google Play will continue to deliver apps with 32-bit native code
>>>>>> to 32-bit devices. The requirement means that those apps will need to have
>>>>>> a 64-bit version as well.
>>>>>>
>>>>>> To help you make the transition, we've prepared documentation
>>>>>> <https://www.google.com/appserve/mkt/p/AHANi0YOacc4fyAKMF1owOqGIIoFQnqyEFRE8FLgyFEWL9ZNZi-irw-0d6_g5Dw5262QkaH25U2yU4WLZ7EQshhYKIg0TvmSLC8Cy_qg8jzGa5f9NhkzjbVrlJoT2WALn28mhsCrVGLbTHY>
>>>>>> on how to check whether your app already supports 64-bit and how to become
>>>>>> 64-bit compliant.
>>>>>>
>>>>>> We're also providing a high-level timeline below.
>>>>>>
>>>>>> *Starting August 1, 2019:*
>>>>>>
>>>>>>    - All new apps and app updates are required to provide 64-bit
>>>>>>    versions of any 32-bit native code they provide.
>>>>>>    - Extension: Google Play will continue to accept 32-bit only
>>>>>>    updates to existing games that use Unity 5.6 or older until August 2021.
>>>>>>
>>>>>> *Starting August 1, 2021: *
>>>>>>
>>>>>>    - Google Play will stop serving apps without 64-bit versions on
>>>>>>    64-bit capable devices, meaning they will no longer be available in the
>>>>>>    Play Store on those devices.
>>>>>>    - This will include games built with Unity 5.6 or older.
>>>>>>
>>>>>> *The requirement does not apply to:*
>>>>>>
>>>>>>    - APKs or app bundles explicitly targeting Wear OS or Android TV,
>>>>>>    which are form factors that do not currently support 64-bit code.
>>>>>>    - APKs or app bundles that Google Play won't install on Android 9
>>>>>>    Pie or later (support for 64-bit does not need to extend to APKs that are
>>>>>>    only on Android 8 Oreo and below).
>>>>>>
>>>>>> If you have any questions, you can find additional information about
>>>>>> adding 64-bit support here
>>>>>> <https://www.google.com/appserve/mkt/p/AHANi0YOacc4fyAKMF1owOqGIIoFQnqyEFRE8FLgyFEWL9ZNZi-irw-0d6_g5Dw5262QkaH25U2yU4WLZ7EQshhYKIg0TvmSLC8Cy_qg8jzGa5f9NhkzjbVrlJoT2WALn28mhsCrVGLbTHY>.
>>>>>>
>>>>>> The Google Play Team [image: Conversation]
>>>>>> <https://www.google.com/appserve/mkt/p/AHANi0aW6cgJfOOHw43K6BJ-owIQ25nrYSOKg82ssLPPjE-oc7J50buji2zhbwP7rgxClsdnOPzIylZAO3X6hEjDUrtszJLOUVp8OBPwC6Vub_vy9nv28QOh9Fna9ZNNM8tmFKeGzNt-0LRAVWqPsSGaeR9PqbVD4DdSas0wVSPwoG9Z5_iC_-zr0bJH> [image:
>>>>>> Globe]
>>>>>> <https://www.google.com/appserve/mkt/p/AHANi0Ykw8bIMfXR6kcU7_wB-jq7m1evT1PQOmFUuet7ZVS1abgm2xHYfigX3Rf77mFwAeSNcVptZaW17ltnvOSNmvbzWo78BTNRA8JIb4F554-4n3IW8AKwQThWD8Y8ZnOWZY_pXP-PEA>
>>>>>> © 2019 Google LLC 1600 Amphitheatre Parkway, Mountain View, CA
>>>>>> 94043, USA.
>>>>>> <#m_7721612659355376696_m_322590625419964511_m_3409437702399039544_m_-6659982938063351937_m_4228766335566938952_m_-2342240917633459498_m_-2195887469763079888_m_-1338671973875286865_>
>>>>>> Email preferences: You have received this mandatory email service
>>>>>> announcement to update you about important changes to your Google Play
>>>>>> Developer account.
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>>>
>>>> _______________________________________________
>>>> 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
>>>
>> _______________________________________________
>> 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/20190712/2d05ac79/attachment-0001.html>


More information about the Ohrrpgce mailing list