[tor-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 tor-bugs
mailing list