[tbb-bugs] #27977 [Applications/Tor Browser]: Build Orbot with rbm/tor-browser-build

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Nov 14 15:53:27 UTC 2018


#27977: Build Orbot with rbm/tor-browser-build
-------------------------------------------------+-------------------------
 Reporter:  gk                                   |          Owner:  tbb-
                                                 |  team
     Type:  defect                               |         Status:  new
 Priority:  Very High                            |      Milestone:
Component:  Applications/Tor Browser             |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  tbb-rbm, tbb-mobile,                 |  Actual Points:
  TorBrowserTeam201811, TBA-a2                   |
Parent ID:  #26693                               |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by sysrqb):

 Replying to [comment:4 sisbell]:
 > Changes (android-1112)
 >
 >  * android-toolchain: Add android platform library and build tools 27.
 Used by Orbot

 We can decrease Orbot's build-tools to 26.

 I don't want to introduce more changes in how we build fennec than
 absolutely necessary - we're already walking a delicate line with
 maintaining a (mostly) unsupported codebase for mobile.

 >  * android-toolchain: added exports to match what orbot uses (these are
 standard names)
 >  * orbot: compile native library with NDK, build app with gradle

 nit: In projects/orbot/build, you can use pushd/popd when building the
 libraries and then returning to the root project dir.

 >
 > I know this is incomplete but just want to push an early version for
 comments. The follow are incomplete
 >
 >  * Need to add gradle dependency list similar to firefox project.
 Currently its pulling everything down as part of build
 >  * Need to add packaging
 >  * Add patch from sysrqb to turn from app project to library project(s)
 >
 > Notes:
 >
 >  * Orbot uses API 27 libraries to build. When we integrate with firefox,
 we can configure to use 26. This MAY be incompatible if Orbot it using
 features that are API 27 specific. In this case we need to either remove
 those 27 features for Orbot OR upgrade firefox to use API 27 libraries.

 Right, this is a problem. We have two choices, and I don't particularly
 like either of them. Orbot doesn't need API 27 support, API 26 is
 sufficient. However, we have a problem with the Android Support Library
 version it uses.

 Orbot uses notifications (the message in the drop-down menu at the top)
 for showing information about Orbot's current state. We can take advantage
 of this by giving TBA users a way to open TBA's Orbot and configure it.
 The UX-flow is a little weird, and we can improve on it, but I think the
 notification is very helpful. However, this is only available beginning
 with the Android support library version 26.1.0. Orbot compiles and runs
 without a problem when its compiled against version 26.1.0, so we can make
 this change easily. However, Fennec uses version 23.4.0. Unfortunately,
 version 23.4.0 can't create notifications on new versions of Android
 (Android O added a new "Channel ID" attribute, and setting this is a
 requirement of all notifications, but there isn't a way to set it when we
 use an Android Support Library less than 26.1.0). It gets better because
 between version 23.4.0 and 26.1.0, Android changed the name of some built-
 in images (Material Design resources), so Fennec doesn't compile against
 Support library 26.1.0 (without patching Fennec for the name change). With
 all this being said:

 1) We can downgrade the version of the support library Orbot depends on,
 and lose Notifications on Android O (and later version)
 2) We can upgrade the version Fennec depends on and add a patch that
 changes the resource names.

 Losing the notifications is the less risky path, but I think our UX will
 suffer as a result.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/27977#comment:12>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tbb-bugs mailing list