/AdAway

AdAway is an open source ad blocker for Android using the hosts file.

Primary LanguageCGNU General Public License v3.0GPL-3.0

AdAway Build Status Sonarcloud Status License: GPL v3

AdAway is an open source ad blocker for Android using the hosts file.

For more information visit http://adaway.org

Preview Build

For users with bugs, there may be preview builds available from the AdAway XDA Thread. It is recommended to try those builds to see if your issue is resolved before creating an issue. The preview builds may contain bug fixes or new features for new android versions. You can also obtain Preview or Stable builds from the XDA Labs application.

Stable Build

After preview builds have been tested a bit by the more technical or responsive community within the forums, we will then post the stable build to F-Droid.

Get it on F-Droid

Support

You can post Issues here or obtain more detailed community support via the XDA Thread.

Authors

AdAway is currently maintained by:

The original author is Dominik Schürmann (@dschuermann) and it was previously maintained by Dāvis Mošenkovs (@DavisNT).

Build with Gradle

  1. Ensure you have Android SDK (Software Development Kit) and NDK (Native Development Kit) installed. If not:
    • Option 1: Install Android Studio or,
    • Option 2: Install command line tools and install build tools and ndk bundle with sdk manager (tools/bin/sdkmanager "build-tools;27.0.3" ndk-bundle)
  2. Export ANDROID_HOME environment variable pointing to your Android SDK (export ANDROID_HOME=/path/to/your/sdk)
  3. Execute ./gradlew build

Contribute

Fork AdAway and do a Pull Request. I will merge your changes back into the main project.

Development

I am using the newest Android Studio for development. Development with Eclipse is currently not possible because I am using the new project structure.

  1. Clone the project from GitHub
  2. From Android Studio: File -> Import Project -> Select the cloned top folder
  3. Import project from external model -> choose Gradle

Translations

Translations are hosted on Transifex, which is configured by ".tx/config".

  1. To pull newest translations install transifex client (e.g. apt-get install transifex-client)
  2. Config Transifex client with "~/.transifexrc"
  3. Go into root folder of git repo
  4. execute tx pull (tx pull -a to get all languages)

see http://docs.transifex.com/client/ for more details.

Coding Style

Code

  • Indentation: 4 spaces, no tabs
  • Maximum line width for code and comments: 100
  • Opening braces don't go on their own line
  • Field names: Non-public, non-static fields start with m.
  • Acronyms are words: Treat acronyms as words in names, yielding !XmlHttpRequest, getUrl(), etc.

See http://source.android.com/source/code-style.html

XML

  • XML Maximum line width 999
  • XML: Split multiple attributes each on a new line (Eclipse: Properties -> XML -> XML Files -> Editor)
  • XML: Indent using spaces with Indention size 4 (Eclipse: Properties -> XML -> XML Files -> Editor)

See http://www.androidpolice.com/2009/11/04/auto-formatting-android-xml-files-with-eclipse/

tcpdump and webserver binary modules

Forked from the following sources and slightly modified to compile!

Changes

Please review the following commits for the changes made to the sources above in order for them to compile in this project:

Licenses

AdAway is licensed under the GPLv3+.
The file LICENSE includes the full license text.

Details

AdAway is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

AdAway is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with AdAway. If not, see http://www.gnu.org/licenses/.

Libraries

Images

  • status_enabled.svg, status_disabled.svg, status_update.svg
    Dropbox Emblems Tango by Charles A.
    http://forums.dropbox.com/topic.php?id=7818&replies=19
    Creative Commons Attribution 3.0 Unported License

  • status_fail.svg
    Faenza Icons
    GPLv3

  • icon.svg, banner.svg
    AdAway by Dominik Schürmann
    New version by Alin Ţoţea-Radu
    GPLv3

  • Menu Icons
    Original Android Icons