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):

https://codereview.adblockplus.org/29345636/

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:

  1. There are some requirements: NDK r9b (that version?), and presumably the Android SDK.
  2. 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

Wladimir, have you found a better way of building libadblockplus on OSX? Changing something in V8 is not pretty.

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:

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:8 Changed on 06/10/2016 at 10:46:16 AM by asmirnov

  • Review URL(s) modified (diff)

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

Add Comment

Modify Ticket

Change Properties
Action
as reviewing .
as The resolution will be set. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from asmirnov.
 
Note: See TracTickets for help on using tickets.