| OLD | NEW | 
|---|
| 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 | 
| 11     ./ensure_dependencies.py | 11     ./ensure_dependencies.py | 
| 12 | 12 | 
| 13 ## Library | 13 ## Library | 
| 14 | 14 | 
| 15 An Android library that provides the core functionality of Adblock Plus. | 15 An Android library that provides the core functionality of Adblock Plus. | 
| 16 You can find it in the 'libadblockplus-android' directory. | 16 You can find it in the 'libadblockplus-android' directory. | 
| 17 | 17 | 
| 18 ### Building with Ant | 18 ### Building | 
| 19 | 19 | 
| 20 #### Requirements | 20 #### Requirements | 
| 21 | 21 | 
| 22 * [The Android SDK](http://developer.android.com/sdk) |  | 
| 23 * [The Android NDK, 12b](https://developer.android.com/tools/sdk/ndk) |  | 
| 24 * [Ant](http://ant.apache.org) |  | 
| 25 |  | 
| 26 #### Building |  | 
| 27 |  | 
| 28 In the 'libadblockplus-android' directory create the file _local.properties_ and
      set |  | 
| 29 _sdk.dir_ and _ndk.dir_ to where you installed it, e.g.: |  | 
| 30 |  | 
| 31     sdk.dir = /some/where/sdk |  | 
| 32     ndk.dir = /some/where/ndk |  | 
| 33 |  | 
| 34 Then run: |  | 
| 35 |  | 
| 36     ant debug |  | 
| 37 |  | 
| 38 ### Building with Maven |  | 
| 39 |  | 
| 40 #### Requirements |  | 
| 41 |  | 
| 42 All 'Building with Ant' requirements and additional requirements: |  | 
| 43 |  | 
| 44 * [Maven](https://maven.apache.org) |  | 
| 45 |  | 
| 46 #### Building |  | 
| 47 |  | 
| 48 Go to android sdk directory '/platforms/android-21' and run: |  | 
| 49 |  | 
| 50     mvn install:install-file -Dfile=./android.jar -DgroupId=com.google.android -
     DartifactId=android |  | 
| 51      -Dversion=5.0 -Dpackaging=jar -DgeneratePom=true |  | 
| 52 |  | 
| 53 Set environment variable ANDROID_HOME to your Android SDK directory or pass it i
     n command-line (below). |  | 
| 54 In the root directory run: |  | 
| 55 |  | 
| 56         mvn clean install [-Dandroid.sdk.path=/some/where/sdk] |  | 
| 57 |  | 
| 58 This will generate *.aar library artifacts in the 'libadblockplus-android/target
     ', |  | 
| 59 'libadblockplus-android-settings/target', 'libadblockplus-android-webview/target
     ' directories |  | 
| 60 and *.apk in the 'libadblockplus-android-webviewapp/target' directory. |  | 
| 61 |  | 
| 62 ### Building with Gradle/Android Studio |  | 
| 63 |  | 
| 64 #### Requirements |  | 
| 65 |  | 
| 66 * [The Android SDK](https://developer.android.com/sdk) | 22 * [The Android SDK](https://developer.android.com/sdk) | 
| 67 * Android SDK Build tools 24.0.1 | 23 * Android SDK Build tools 24.0.1 | 
| 68 * [The Android NDK, 12b](https://developer.android.com/ndk) | 24 * [The Android NDK, 12b](https://developer.android.com/ndk) | 
| 69 | 25 | 
| 70 Edit 'buildToolsVersion' in 'build.gradle' files if necessary. | 26 Edit 'buildToolsVersion' in 'build.gradle' files if necessary. | 
| 71 | 27 | 
| 72 #### Building from command-line | 28 #### Building from command-line | 
| 73 | 29 | 
| 74 In the project root directory create the file _local.properties_ and set | 30 In the project root directory create the file _local.properties_ and set | 
| 75 _sdk.dir_ and _ndk.dir_ to where you installed it, e.g.: | 31 _sdk.dir_ and _ndk.dir_ to where you installed it, e.g.: | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
| 105 | 61 | 
| 106 output while building | 62 output while building | 
| 107 | 63 | 
| 108 ### Building with prebuilt shared V8 | 64 ### Building with prebuilt shared V8 | 
| 109 | 65 | 
| 110 This can be desired to use product's V8 (let's say Chromium) instead of built-in
      V8. | 66 This can be desired to use product's V8 (let's say Chromium) instead of built-in
      V8. | 
| 111 Put prebuilt shared V8 library file(s) in ARCH directories and set `SHARED_V8_LI
     B_FILENAMES` | 67 Put prebuilt shared V8 library file(s) in ARCH directories and set `SHARED_V8_LI
     B_FILENAMES` | 
| 112 environment variable before building. You can pass multiple filenames, separated
      with space. | 68 environment variable before building. You can pass multiple filenames, separated
      with space. | 
| 113 Libadblockplus is required to be linked with that library file(s). | 69 Libadblockplus is required to be linked with that library file(s). | 
| 114 | 70 | 
| 115 For example (build with Gradle): | 71 For example: | 
| 116 | 72 | 
| 117     SHARED_V8_LIB_FILENAMES=libv8.cr.so ./gradlew clean assemble | 73     SHARED_V8_LIB_FILENAMES=libv8.cr.so ./gradlew clean assemble | 
| 118 | 74 | 
| 119 or | 75 or | 
| 120 | 76 | 
| 121     SHARED_V8_LIB_FILENAMES="libv8.cr.so libfoo.so" ./gradlew clean assemble | 77     SHARED_V8_LIB_FILENAMES="libv8.cr.so libfoo.so" ./gradlew clean assemble | 
| 122 | 78 | 
| 123 for multiple library files. | 79 for multiple library files. | 
| 124 | 80 | 
| 125 Note | 81 Note | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
| 152 | 108 | 
| 153 ## Library tests | 109 ## Library tests | 
| 154 | 110 | 
| 155 Android tests for the library. | 111 Android tests for the library. | 
| 156 You can find them in the 'libadblockplus-android-tests' directory. | 112 You can find them in the 'libadblockplus-android-tests' directory. | 
| 157 | 113 | 
| 158 ### Requirements | 114 ### Requirements | 
| 159 | 115 | 
| 160 Make sure _Library_ requirements are present. | 116 Make sure _Library_ requirements are present. | 
| 161 | 117 | 
| 162 ### Building with Ant | 118 ### Building | 
| 163 |  | 
| 164 Set ANDROID_HOME environment variable to your Android SDK directory. |  | 
| 165 |  | 
| 166 In the 'libadblockplus-android-tests' directory run: |  | 
| 167 |  | 
| 168     ant instrument |  | 
| 169 |  | 
| 170 ### Testing with Ant |  | 
| 171 |  | 
| 172 1. Connect an Android device or start the Android Emulator. |  | 
| 173 2. In the 'libadblockplus-android-tests' directory run: |  | 
| 174 |  | 
| 175     ant instrument install test |  | 
| 176 |  | 
| 177 to build instrumentation tests app and perform testing or run: |  | 
| 178 |  | 
| 179     ant test |  | 
| 180 |  | 
| 181 to run installed instrumentation tests app. |  | 
| 182 |  | 
| 183 To run specific **test** run: |  | 
| 184 |  | 
| 185     ant testOnly -DtestClass=full.test.class.name |  | 
| 186 |  | 
| 187 For example: |  | 
| 188 |  | 
| 189     ant testOnly -DtestClass=org.adblockplus.libadblockplus.tests.NotificationTe
     st |  | 
| 190 |  | 
| 191 To run specific **test method** run: |  | 
| 192 |  | 
| 193     ant testOnly -DtestClass=full.test.class.name#testMethod |  | 
| 194 |  | 
| 195 For example: |  | 
| 196 |  | 
| 197     ant testOnly -DtestClass=org.adblockplus.libadblockplus.tests.NotificationTe
     st#testAddNotification |  | 
| 198 |  | 
| 199 ### Building with Gradle/Android Studio |  | 
| 200 | 119 | 
| 201 Make sure you've created the _local.properties_ file to build the library (see a
     bove). | 120 Make sure you've created the _local.properties_ file to build the library (see a
     bove). | 
| 202 In the project root directory run: | 121 In the project root directory run: | 
| 203 | 122 | 
| 204     ./gradlew assembleDebugAndroidTest | 123     ./gradlew assembleDebugAndroidTest | 
| 205 | 124 | 
| 206 This will generate *.apk in the 'libadblockplus-android-tests/build/outputs/apk/
     ' directory. | 125 This will generate *.apk in the 'libadblockplus-android-tests/build/outputs/apk/
     ' directory. | 
| 207 | 126 | 
| 208 ### Testing with Gradle/Android Studio | 127 ### Testing | 
| 209 | 128 | 
| 210 You can select test class/method and click 'Run ..Test'. The library and test ap
     p will be | 129 You can select test class/method and click 'Run ..Test'. The library and test ap
     p will be | 
| 211 compiled, installed to emulator/device and launched automatically. | 130 compiled, installed to emulator/device and launched automatically. | 
| 212 | 131 | 
| 213 ## Settings | 132 ## Settings | 
| 214 | 133 | 
| 215 An Android library that provides a configuration interface for Adblock Plus. | 134 An Android library that provides a configuration interface for Adblock Plus. | 
| 216 You can find it in the 'libadblockplus-android-settings' directory: | 135 You can find it in the 'libadblockplus-android-settings' directory: | 
| 217 * GeneralSettingsFragment - main fragment | 136 * GeneralSettingsFragment - main fragment | 
| 218 * WhitelistedDomainsSettingsFragment - whitelisted domains fragment | 137 * WhitelistedDomainsSettingsFragment - whitelisted domains fragment | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 252     AdblockHelper.get().waitForReady(); | 171     AdblockHelper.get().waitForReady(); | 
| 253 | 172 | 
| 254 Release Adblock instance in activity `onDestroy`: | 173 Release Adblock instance in activity `onDestroy`: | 
| 255 | 174 | 
| 256     AdblockHelper.get().release(); | 175     AdblockHelper.get().release(); | 
| 257 | 176 | 
| 258 Insert `GeneralSettingsFragment` fragment instance in runtime to start showing s
     ettings UI. | 177 Insert `GeneralSettingsFragment` fragment instance in runtime to start showing s
     ettings UI. | 
| 259 | 178 | 
| 260 ### Building | 179 ### Building | 
| 261 | 180 | 
| 262 #### Building with Ant |  | 
| 263 |  | 
| 264 In the 'libadblockplus-android-settings' directory create the file _local.proper
     ties_ and set |  | 
| 265 _sdk.dir_ to where you installed it, e.g.: |  | 
| 266 |  | 
| 267     sdk.dir = /some/where/sdk |  | 
| 268 |  | 
| 269 Then run: |  | 
| 270 |  | 
| 271     ant debug |  | 
| 272 |  | 
| 273 |  | 
| 274 #### Building with Gradle |  | 
| 275 |  | 
| 276 In the project root directory run: | 181 In the project root directory run: | 
| 277 | 182 | 
| 278     ./gradlew assemble | 183     ./gradlew assemble | 
| 279 | 184 | 
| 280 This will generate *.aar in the 'libadblockplus-android-settings/build/outputs/a
     ar' directory. | 185 This will generate *.aar in the 'libadblockplus-android-settings/build/outputs/a
     ar' directory. | 
| 281 | 186 | 
| 282 ## WebView | 187 ## WebView | 
| 283 | 188 | 
| 284 An Android library that provides a WebView component with Adblock Plus integrate
     d. | 189 An Android library that provides a WebView component with Adblock Plus integrate
     d. | 
| 285 You can find it in the 'libadblockplus-android-webview' directory. | 190 You can find it in the 'libadblockplus-android-webview' directory. | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
| 308 Use `setAllowDrawDelay(int allowDrawDelay)` to set custom delay to start render 
     webpage after 'DOMContentLoaded' event is fired. | 213 Use `setAllowDrawDelay(int allowDrawDelay)` to set custom delay to start render 
     webpage after 'DOMContentLoaded' event is fired. | 
| 309 | 214 | 
| 310 Use `setAdblockEngine(AdblockEngine adblockEngine)` to use external adblock engi
     ne. | 215 Use `setAdblockEngine(AdblockEngine adblockEngine)` to use external adblock engi
     ne. | 
| 311 If adblock engine is not set, it's created by AdblockWebView instance automatica
     lly. | 216 If adblock engine is not set, it's created by AdblockWebView instance automatica
     lly. | 
| 312 | 217 | 
| 313 Use `dispose(Runnable disposeFinished)` to release resources (**required**). | 218 Use `dispose(Runnable disposeFinished)` to release resources (**required**). | 
| 314 Note it can be invoked from background thread. | 219 Note it can be invoked from background thread. | 
| 315 | 220 | 
| 316 ### Building | 221 ### Building | 
| 317 | 222 | 
| 318 #### Building with Ant |  | 
| 319 |  | 
| 320 In the 'libadblockplus-android-webview' directory create the file _local.propert
     ies_ and set |  | 
| 321 _sdk.dir_ to where you installed it, e.g.: |  | 
| 322 |  | 
| 323     sdk.dir = /some/where/sdk |  | 
| 324 |  | 
| 325 Then run: |  | 
| 326 |  | 
| 327     ant debug |  | 
| 328 |  | 
| 329 |  | 
| 330 #### Building with Gradle |  | 
| 331 |  | 
| 332 In the project root directory run: | 223 In the project root directory run: | 
| 333 | 224 | 
| 334     ./gradlew assemble | 225     ./gradlew assemble | 
| 335 | 226 | 
| 336 This will generate *.aar in the 'libadblockplus-android-webview/build/outputs/aa
     r' directory. | 227 This will generate *.aar in the 'libadblockplus-android-webview/build/outputs/aa
     r' directory. | 
| 337 | 228 | 
| 338 ## WebView Application | 229 ## WebView Application | 
| 339 | 230 | 
| 340 An Android application that demonstrates how to use AdblockWebView. | 231 An Android application that demonstrates how to use AdblockWebView. | 
| 341 You can find it in the 'libadblockplus-android-webviewapp' directory. | 232 You can find it in the 'libadblockplus-android-webviewapp' directory. | 
| 342 | 233 | 
| 343 ### Building | 234 ### Building | 
| 344 | 235 | 
| 345 Make sure _Library_ requirements are present. | 236 Make sure _Library_ requirements are present. | 
| 346 | 237 | 
| 347 #### Building with Ant |  | 
| 348 |  | 
| 349 In the 'libadblockplus-android-webviewapp' directory create the file _local.prop
     erties_ and set |  | 
| 350 _sdk.dir_ to where you installed it, e.g.: |  | 
| 351 |  | 
| 352     sdk.dir = /some/where/sdk |  | 
| 353 |  | 
| 354 Then run: |  | 
| 355 |  | 
| 356     ant debug |  | 
| 357 |  | 
| 358 This will generate *.apk in the 'libadblockplus-android-webviewapp/bin/' directo
     ry. |  | 
| 359 |  | 
| 360 #### Building with Gradle |  | 
| 361 |  | 
| 362 In the project root directory run: | 238 In the project root directory run: | 
| 363 | 239 | 
| 364     ./gradlew assemble | 240     ./gradlew assemble | 
| 365 | 241 | 
| 366 This will generate *.apk in the 'libadblockplus-android-webviewapp/build/outputs
     /apk/' directory. | 242 This will generate *.apk in the 'libadblockplus-android-webviewapp/build/outputs
     /apk/' directory. | 
| OLD | NEW | 
|---|