Open Bug 1307314 Opened 3 years ago Updated 2 years ago

zipalign missing, unable to build for Android on Xenial without manual install of build tools

Categories

(Firefox Build System :: General, defect)

49 Branch
Unspecified
Linux
defect
Not set

Tracking

(Not tracked)

People

(Reporter: ng, Unassigned)

Details

Attachments

(1 file)

I performed a mach bootstrap for android desktop (with a local edit to change openjdk-7-jdk to 8, see bug 1267097).  It installed SDK 23 and NDK r11b. Build fails to find zipalign and aborts. `find` on the system doesn't located zipalign anywhere. I had to go to ~/.mozbuild/android-sdk-linux/tools and run `./android list sdk --all, find the number for the latest Android 23 SDK build tools (8 in this case), and install them via  `./android update -u -a -t 8`.


lsb_release -a:
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.1 LTS
Release:	16.04
Codename:	xenial
Nick: please triage.
Flags: needinfo?(nalexander)
I think this is equivalent to Bug 1280165.  It's my belief that our use of the |android| tool isn't properly listing or possibly installing the old versions of the build tools.   I don't have time to address this; I think ahunt's or grisha's work to bump the SDK and toolchain versions might solve this, by changing the version we look for to the newest version.
Flags: needinfo?(nalexander)
Using a newer toolchain got me at least through |mach configure|. I've attached a patch for those hitting the same issue.
This patch didn't work for me. zipalign is still not there, and I get that during ./mach bootstrap:

Skipping 'Android SDK Tools, revision 24.4.1'; it depends on 'Android SDK Platform-tools, revision 23.1 rc1' which was not installed.
I ran into this as well. Manually installing the Android SDK Build-tools version 23.0.1 as in comment 0 (except I used the GUI) fixed it for me.
It would be very useful for somebody to run the command from https://dxr.mozilla.org/mozilla-central/source/python/mozboot/mozboot/android.py#239 and figure out what's really going on.  We've seen this before: Google "breaks" backwards compatibility by not allowing certain sets of Android packages together.  We might be able to increase the total set of installed things to enable the old ones to be installed alongside newer ones.
This bug just bit me too.
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.