64-bit App installation fails on Android Devices

Hi,
I’m currently updating my Apps on Google Play using Adobe Animate 20.0.0.3 and AIR 33.1.1.98.
I’ve published a 32-bit build and a 64-bit build of one of my Apps.
I used Octofile to transfer and install the 32-bit version to a Samsung Galaxy Tab A (64-bit) Test-Device which works just fine!!
Trying to install the 64-bit version via Octofile on the same Device fails.

I’m able to transfer the 64-Bit .apk to the Tab A. When I hit INSTALL it tries to install it but at the End of the installation process it says: App was not installed

Is there anything else I should add to the .xml file or so?

I have no idea what I’m doing wrong as I can not use the debugger.

Thank you in advance!

Best regards
Jan

… hm - just to get this right (this is the first 64-bit App I want to make).

Is there anything else I have to fix/change besides the hitting the checkbox next to ARMv8 (64 BIT) in Adobe Animate, to make the 64-BIT Version run?

As I said, the 32-BIT Versions / Apps / .apk Files are running fine on all my Test devices. The only difference is checking ARMv8 (64 BIT) instead of ARMv7 (32 BIT).

I really have no idea why I can install the one version and the installation of the other one fails. … to Do I have to prepare the device itself in order to install 64-BIT Versions?

Hints?

I assume you use the same app version for both the 32-bit and 64-bit APK ?

if yes, then that’s the problem
search into the archive of the forum, there has been many discussions about that

see Android official doc Multiple APK support
ideally read everything, otherwise focus toward the end on the parts “Assigning version codes”, " Ordering version codes" and " Using a version code scheme"

Hi zwetan,
Thanks a lot for your reply!

I have different version numbers for my Test-App.
I was able to install the 32BIT version ->

the versionNumber of the 32BIT Version is 5.0.0

But I’m still not able to successfully install the 64BIT Version

the versionNumber of the 64BIT Version is 5.0.5

… I know I have to increase the number of the 64BIT version in order to upload it e.g. to Google Play. There (at least) the upload worked and one of my Apps went live. I know the 32BIT version works as I’m able to test it - …but unfortunately I have no idea if the 64BIT version does.

This is how my App.xml File of the 64BIT Version looks like - is anything wrong or missing?

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<application xmlns="http://ns.adobe.com/air/application/33.1">
    <id>com.essig.spielplatz0815</id>
    <versionNumber>5.0.5</versionNumber>
    <filename>ABC Spielplatz</filename>
    <description></description>
    <name>
        <text xml:lang="de">ABC Spielplatz</text>
        <text xml:lang="en">ABC Playground</text>
    </name>
    <copyright>Jan Essig © 2020</copyright>
    <initialWindow>
        <content>spielplatz0815.swf</content>
        <systemChrome>standard</systemChrome>
        <transparent>false</transparent>
        <visible>true</visible>
        <fullScreen>true</fullScreen>
        <autoOrients>true</autoOrients>
        <aspectRatio>landscape</aspectRatio>
        <renderMode>auto</renderMode>
    </initialWindow>
    <customUpdateUI>false</customUpdateUI>
    <allowBrowserInvocation>false</allowBrowserInvocation>
    <icon>
        <image36x36>assetts/Basis/Cover/Cover_36.png</image36x36>
        <image48x48>assetts/Basis/Cover/Cover_48.png</image48x48>
        <image72x72>assetts/Basis/Cover/Cover_72.png</image72x72>
        <image96x96>assetts/Basis/Cover/Cover_96.png</image96x96>
        <image144x144>assetts/Basis/Cover/Cover_144.png</image144x144>
    </icon>
    <android>
        <manifestAdditions><![CDATA[
            <manifest android:installLocation="auto">
            <uses-sdk android:targetSdkVersion="29"/>
            <uses-sdk android:minSdkVersion="14"/>
            <uses-permission android:name="android.permission.INTERNET"/>
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
            </manifest>]]></manifestAdditions>
    </android>
    <supportedLanguages>en de</supportedLanguages>
    <versionLabel></versionLabel>
    <extensions>
        <extensionID>com.mesmotronic.ane.fullscreen</extensionID>
    </extensions>
</application>

The only difference to the 32 BIT Version is this line - as the version Number for 32BITZ is 5.0.0:
<versionNumber>5.0.0</versionNumber>

I also get this “Message” after publishing the 64 BIT Version via Adobe Animate (using a Mac)

… is this the problem?

Ok - I just removed the mesmotronic.ane.fullscreen and it still does not work. So at least that’s not the problem.

… still have no idea why I can not install the 64bit apk files… :frowning:

it could be, I don’t read german (?) very well
but all the ANE you use need to have a 32-bit and 64-bit version
if you publish 32-bit and 64-bit APK

so from “Warning: Using default implementation for native extension …”
means when compiling the 64-bit APK the compiler did not found the 64-bit ANE
and so used the default (which should not break the app, but depends how the ANE been done).

maybe the device is not really 64-bit ?

depending on which exact version of your “Samsung Galaxy Tab A”
it could be 32-bit or 64-bit

see this discussion for example: Samsung Tab A 64bit or still 32?

other things could be the OS where you’re compiling, eg. if you’re on Windows
and that Windows is 32-bit then it could cause some issues (but I don’t remember where/what)
in short: if you want to build both 32-bit and 64-bit your main OS need to be 64-bit

alternative: you could test on emulator

other stuff: maybe learn to analyze the APK files to be 100% sure if they are 32-bit or 64-bit
you can find command-line tools that do that, in Android Studio

could be a dumb thing as thinking you compiled in 64-bit but not, being sure you checked “ARMv8 (64 Bit)” is OK, but analytzing the APK after generation is more fullproof

Hi @zwetan,

thanks a lot for all your hints!

I’ve been testing and trying a lot and in the end I finally I found someone with a “real” 64-BIT device. She told me she was able to install the 64.BIT apk to her device and the App works just fine / perfect. So I guess my Samsung Galaxy Tab A is just no real 64-BIT Device - once again your hint was right! Thanks a lot @zwetan! :slight_smile:

Best regards
Jan

1 Like

good :slight_smile:
ah… hardware device can be traitorous sometimes