| LEFT | RIGHT |
| 1 Adblock Plus Library for Android | 1 Adblock Plus Library for Android |
| 2 ================================ | 2 ================================ |
| 3 | 3 |
| 4 An Android library project, tests and demo application for AdblockWebView widget
. | 4 An Android library project, tests and demo application for AdblockWebView widget
. |
| 5 | 5 |
| 6 ## Updating the dependencies | 6 ## Updating the dependencies |
| 7 | 7 |
| 8 Adblock Plus for Android has dependencies that aren't in this repository. | 8 Adblock Plus for Android has dependencies that aren't in this repository. |
| 9 To update those, call: | 9 To update those, call: |
| 10 | 10 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 | 25 |
| 26 Edit 'buildToolsVersion' in 'build.gradle' files if necessary. | 26 Edit 'buildToolsVersion' in 'build.gradle' files if necessary. |
| 27 | 27 |
| 28 #### Building of libadblockplus | 28 #### Building of libadblockplus |
| 29 | 29 |
| 30 First, we need to build `V8` required for `libadblockplus`. | 30 First, we need to build `V8` required for `libadblockplus`. |
| 31 See `libadblockplus/README` or V8 documentation on how to build V8 or | 31 See `libadblockplus/README` or V8 documentation on how to build V8 or |
| 32 fetch precompiled one. Run in 'libadblockplus' directory: | 32 fetch precompiled one. Run in 'libadblockplus' directory: |
| 33 | 33 |
| 34 make TARGET_OS=android TARGET_ARCH=arm Configuration=release get-prebuilt-v8 | 34 make TARGET_OS=android TARGET_ARCH=arm Configuration=release get-prebuilt-v8 |
| 35 make TARGET_OS=android TARGET_ARCH=ia32 Configuration=release get-prebuilt-v
8 |
| 35 | 36 |
| 36 Then we can build `libadblockplus`: | 37 Then we can build `libadblockplus`: |
| 37 | 38 |
| 38 make TARGET_OS=android TARGET_ARCH=arm Configuration=release | 39 make TARGET_OS=android TARGET_ARCH=arm SUB_ACTION=libadblockplus Configurati
on=release |
| 40 make TARGET_OS=android TARGET_ARCH=ia32 SUB_ACTION=libadblockplus Configurat
ion=release |
| 39 | 41 |
| 40 #### Building from command-line | 42 #### Building from command-line |
| 41 | 43 |
| 42 In the project root directory create the file _local.properties_ and set | 44 In the project root directory create the file _local.properties_ and set |
| 43 _sdk.dir_ and _ndk.dir_ to where you installed it, e.g.: | 45 _sdk.dir_ and _ndk.dir_ to where you installed it, e.g.: |
| 44 | 46 |
| 45 sdk.dir = /some/where/sdk | 47 sdk.dir = /some/where/sdk |
| 46 ndk.dir = /some/where/ndk | 48 ndk.dir = /some/where/ndk |
| 47 | 49 |
| 48 In the project root directory run: | 50 In the project root directory run: |
| (...skipping 21 matching lines...) Expand all Loading... |
| 70 Note | 72 Note |
| 71 | 73 |
| 72 [Configuration] Building project in /tmp | 74 [Configuration] Building project in /tmp |
| 73 | 75 |
| 74 output while building | 76 output while building |
| 75 | 77 |
| 76 ### Building with prebuilt shared V8 | 78 ### Building with prebuilt shared V8 |
| 77 | 79 |
| 78 This can be desired to use product's V8 (let's say Chromium) instead of built-in
V8. | 80 This can be desired to use product's V8 (let's say Chromium) instead of built-in
V8. |
| 79 Put prebuilt shared V8 library file(s) in ARCH directories and set `SHARED_V8_LI
B_FILENAMES` | 81 Put prebuilt shared V8 library file(s) in ARCH directories and set `SHARED_V8_LI
B_FILENAMES` |
| 80 environment variable before building. You can pass multiple filenames, separated
with space. | 82 environment variable and `SHARED_V8_LIB_DIR` before building. |
| 83 You can pass multiple filenames in `SHARED_V8_LIB_FILENAMES`, separated with spa
ce. |
| 81 Libadblockplus is required to be linked with that library file(s). | 84 Libadblockplus is required to be linked with that library file(s). |
| 82 | 85 |
| 83 For example: | 86 For example: |
| 84 | 87 |
| 85 SHARED_V8_LIB_FILENAMES=libv8.cr.so ./gradlew clean assemble | 88 SHARED_V8_LIB_FILENAMES=libv8.cr.so SHARED_V8_LIB_DIR="/tmp/shared_v8" ./gra
dlew clean assembleAbi_arm |
| 86 | 89 |
| 87 or | 90 or |
| 88 | 91 |
| 89 SHARED_V8_LIB_FILENAMES="libv8.cr.so libfoo.so" ./gradlew clean assemble | 92 SHARED_V8_LIB_FILENAMES="libv8.cr.so libv8_libbase.cr.so libv8_libplatform.c
r.so" SHARED_V8_LIB_DIR="/tmp/shared_v8" ./gradlew clean assembleAbi_arm |
| 90 | 93 |
| 91 for multiple library files. | 94 for multiple library files. |
| 92 | 95 |
| 93 Note | 96 Note |
| 94 | 97 |
| 95 [Configuration] Excluding shared v8 library libv8.cr.so from AAR | 98 [Configuration] Excluding shared v8 library libv8.cr.so from AAR |
| 96 ... | 99 ... |
| 97 [Configuration] Linking dynamically with shared v8 library ./libadblockplus-
binaries/android_armeabi-v7a/libv8.cr.so | 100 [Configuration] Linking dynamically with shared v8 library /tmp/shared_v8/re
lease/libv8.cr.so |
| 98 ... | 101 ... |
| 99 | 102 |
| 100 output while building. | 103 output while building. |
| 101 | |
| 102 Set `SHARED_V8_LIB_DIR` environment variable as full absolute path to pass | |
| 103 specific directory instead of default one (`libadblockplus-android/jni/libadbloc
kplus-binaries`). | |
| 104 | 104 |
| 105 ### Building for single ARCH | 105 ### Building for single ARCH |
| 106 | 106 |
| 107 By default libadblockplus-android is built for both ARM and x86 and it can be fi
ltered when | 107 By default libadblockplus-android is built for both ARM and x86 and it can be fi
ltered when |
| 108 building end-user android application. However sometimes it can be desired to bu
ild | 108 building end-user android application. However sometimes it can be desired to bu
ild |
| 109 "libadblockplus-android.aar" for single ARCH. | 109 "libadblockplus-android.aar" for single ARCH. |
| 110 | 110 |
| 111 Pass `abi_arm` or `abi_x86` to build it for single arch or `abi_all` for all ARC
Hs: | 111 Pass `abi_arm` or `abi_x86` to build it for single arch or `abi_all` for all ARC
Hs: |
| 112 | 112 |
| 113 `./gradlew clean assembleAbi_arm` | 113 `./gradlew clean assembleAbi_arm` |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 | 274 |
| 275 ### Building | 275 ### Building |
| 276 | 276 |
| 277 Make sure _Library_ requirements are present. | 277 Make sure _Library_ requirements are present. |
| 278 | 278 |
| 279 In the project root directory run: | 279 In the project root directory run: |
| 280 | 280 |
| 281 ./gradlew assemble | 281 ./gradlew assemble |
| 282 | 282 |
| 283 This will generate *.apk in the 'libadblockplus-android-webviewapp/build/outputs
/apk/' directory. | 283 This will generate *.apk in the 'libadblockplus-android-webviewapp/build/outputs
/apk/' directory. |
| LEFT | RIGHT |