Opened on 09/19/2014 at 12:40:32 PM
Last modified on 12/21/2017 at 11:29:28 AM
#1414 reviewing change
Document how to build libadblockplus for Android
Reported by: | fhd | Assignee: | asmirnov |
---|---|---|---|
Priority: | P3 | Milestone: | |
Module: | Libadblockplus | Keywords: | |
Cc: | sergz, rjeschke | Blocked By: | #4135, #4173 |
Blocking: | Platform: | Unknown | |
Ready: | yes | Confidential: | no |
Tester: | Unknown | Verified working: | no |
Review URL(s): |
Description
Background
We're currently using libadblockplus-binaries directly in Android. That works fine, but how to build libadblockplus for Android is undocumented, we should mention it in the README.
What to change
Building libadblockplus for Android is pretty straightforward if everything's in place: make android. However, there are some things that need explaining:
- There are some requirements: NDK r9b (that version?), and presumably the Android SDK.
- On my 64 bit OSX system, I had to change TOOLCHAIN_DIR from darwin-x86 to darwin-x86_64 in third_party/v8/Makefile.android.
While we're at it, we should explain why we're using libadblockplus-binaries in the ABP for Android README, point to libadblockplus (and how to build it for Android) and explain how to use self-built binaries. This should stop F-Droid from saying we use blobs.
Attachments (0)
Change History (11)
comment:1 Changed on 09/19/2014 at 12:44:23 PM by fhd
- Cc trev added
comment:2 Changed on 09/19/2014 at 06:27:22 PM by trev
The toolchain issues are present on Linux as well, V8 simply won't select the right one on x64 systems. So far the best solution was to export ANDROID_TOOLCHAIN environment variable that will point to toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64 directory explicitly, this will disable the selection mechanism.
comment:3 Changed on 11/13/2015 at 03:31:19 PM by sergz
- Cc sergz rjeschke added
- Tester set to Unknown
We also need to specify the exact location one can download NDK from. It seems there is no way to get a link to older versions of NDK on google web site.
E.g. https://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2
comment:4 Changed on 11/23/2015 at 03:10:02 PM by rjeschke
Currently this only builds with Android NDK r10d, r10e does no longer contain a gcc-4.6 toolchain.
Also we're currently using clang3.4 for libadblockplus and gcc-4.6 for v8. In Adblock Plus for Android we're not even specifying any toolchain version.
I suggest we unify the toolchain's used and settle on the one that v8 uses for now.
Download links for Android NDK r10d:
- Win32: http://dl.google.com/android/ndk/android-ndk-r10d-windows-x86.exe
- Win64: http://dl.google.com/android/ndk/android-ndk-r10d-windows-x86_64.exe
- OSX: http://dl.google.com/android/ndk/android-ndk-r10d-darwin-x86_64.bin
- Linux 32: http://dl.google.com/android/ndk/android-ndk-r10d-linux-x86.bin
- Linux 64: http://dl.google.com/android/ndk/android-ndk-r10d-linux-x86_64.bin
comment:5 Changed on 06/07/2016 at 04:34:18 PM by fhd
- Owner set to asmirnov
Assigning Anton to this one, since he was assigned to #4107 which was closed as a duplicate.
comment:6 Changed on 06/08/2016 at 05:29:32 AM by asmirnov
- Blocked By 4135 added
comment:7 Changed on 06/10/2016 at 10:39:38 AM by asmirnov
- Status changed from new to reviewing
comment:9 Changed on 06/20/2016 at 04:11:40 PM by asmirnov
- Blocked By 4173 added
comment:10 Changed on 06/29/2016 at 07:53:18 AM by abpbot
A commit referencing this issue has landed:
Issue 1414 - Document how to build libadblockplus for Android
comment:11 Changed on 12/21/2017 at 11:29:28 AM by fhd
- Cc trev removed
Wladimir, have you found a better way of building libadblockplus on OSX? Changing something in V8 is not pretty.