Skip to content

Install fails for nightly testbuild on emulator running Android API v30

Summary

After successfully completing a build of TBB Fenix Nightly (at tor-browser-build@a47e11e3 targeting x86 arch), the resulting apk cannot be installed onto an emulator running Android API v 30, instead producing an error message indicating that the resoruces.arsc is improperly stored.

Likely related to upstream incompatibilities flagged in both:

Observed behavior

$ adb install testbuild/tor-browser-testbuild-android-x86-multi-qa.apk
Performing Streamed Install
adb: failed to install testbuild/tor-browser-testbuild-android-x86-multi-qa.apk: Failure [-124: Failed parse during installPackageLI: Targeting R+ (version 30 and above) requires the resources.arsc of installed APKs to be stored uncompressed and aligned on a 4-byte boundary]

(And no apk is placed on emulator)

Expected behavior

$ adb install testbuild/tor-browser-testbuild-android-x86-multi-qa.apk
Performing Streamed Install
Success

(And apk runs successfully on emulator)

Steps to reproduce:

  1. checkout torbrowser-build to commit a47e11e35c20c9847f42f227eb0f24c2d00ca81a
  2. ensure that rbm.local.conf overrides default build target as nightly:
  torbrowser-testbuild:
   - testbuild
   - nightly
  1. run make testbuild-android-x86 (verify that apk is output to testbuild/tor-browser-testbuid-android-x86-multi-qa.apk)
  2. start an emulator running android API v 30 (eg: "R")
  3. attempt to install build artifact to running emulator with adb install testbuild/tor-browser-testbuild-android-x86-multi-qa.apk

Environment

  • Version: nightly testbuild of android artifact from torbrowser-build at commit a47e11e35c20c9847f42f227eb0f24c2d00ca81a
  • Operating system: Android API v30
  • Install method: adb install from command line to running emulator
Edited by aguestuser