Search code examples
androidtitaniumtitanium-mobile

How do I install the required ABI (arm64-v8a) and build a Titanium app for the Nexus 9?


When I build for the Nexus 9 titanium CLI returns:

[ERROR] The device "Nexus 9" does not support the desired ABIs "armeabi", "armeabi-v7a", "x86"
[ERROR] Supported ABIs: arm64-v8a, arm64-v8a,armeabi-v7a,armeabi, armeabi-v7a,armeabi, arm64-v8a

You need to add at least one of the device's supported ABIs to the tiapp.xml

<ti:app xmlns:ti="http://ti.appcelerator.org">
    <!-- snip -->
    <android>
        <abi>armeabi,armeabi-v7a,x86,arm64-v8a,arm64-v8a,armeabi-v7a,armeabi,armeabi-v7a,armeabi,arm64-v8a</abi>
    </android>
</ti:app>

Then, when I add that line to the tiapp.xml file the CLI prints out:

[ERROR] Invalid ABI "arm64-v8a"

Valid ABIs:
   armeabi
   armeabi-v7a
   x86

I have installed all the available System Images and when I run android list targets I can see:

id: 5 or "android-21"
Name: Android 5.0
...
API level: 21
...
Tag/ABIs : android-tv/armeabi-v7a, android-tv/x86, default/armeabi-v7a, default/x86, default/x86_64

Solution

    1. Make a distribution build (e.g. --target dist-playstore)
    2. Install the build directly to the device

      adb install -rds "App.apk"