Search code examples
androidwebviewarmv7crosswalkarmv6

How to get android app for ARMv6 architecture with crosswalk webview plugin from PhoneGap Build?


After adding crosswalk webview plugin to my app I recieve either x86 version or ARMv7 version. But I want my app to work also on devices with ARMv6 architecture and as much as I know app set for ARMv6 architecture works on ARMv7 as well but this for ARMv7 doesn't work on ARMv6. And that's why I want to do get version for ARMv6. Is there any way to do it?


Solution

  • If you want ARMv6 [really ARMv5TE] on Crosswalk, I believe you'll need to build it yourself. See: https://github.com/crosswalk-project/crosswalk/issues/619

    Also if you have ARMv7 binary that should run on ARMv8, also know as arm64-v8a.

    See: https://developer.android.com/ndk/guides/abis.html#sa and from this ARM document: https://www.arm.com/files/downloads/ARMv8_Architecture.pdf

    Maintain full compatibility with ARMv7

    Update in response to questions in comment:

    I've never tried it but here are the instructions on building Android Crosswalk from source:

    https://crosswalk-project.org/contribute/building_crosswalk/android_build.html

    Looks like you'll need to be running a 64-bit Linux OS to do it.

    I would expect ARMv6 (armeabi) to be supported as Android's Compatibility Definition Document, mandates certain 32-bit instructions for support:

    https://source.android.com/compatibility/7.1/android-7.1-cdd.html#3_3_2_32-bit_arm_native_code_compatibility

    and ARMv5TE is still listed in the NDK documentation: https://developer.android.com/ndk/guides/abis.html

    Should Android start to deprecate the armeabi binary target I would expect a great deal of lead time.