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 |