/AdAway

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

Primary LanguageCGNU General Public License v3.0GPL-3.0

AdAway

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

For more information visit http://adaway.org

Preview Build

For Android Nougat users, or 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 0-kaladin and Dāvis Mošenkovs. The original author is Dominik Schürmann.

Build with Gradle

Build Executables

  1. Have NDK directory in your PATH (http://developer.android.com/tools/sdk/ndk/index.html)
  2. Change to "AdAway" directory with cd AdAway
  3. Execute ndk-build to compile native binaries.

Build APK

  1. Have Android SDK "tools", "platform-tools", and "build-tools" directories in your PATH (http://developer.android.com/sdk/index.html)
  2. Open the Android SDK Manager (shell command: android). Expand the Extras directory and install "Android Support Repository"
  3. Export ANDROID_HOME pointing to your Android SDK
  4. Execute ./gradlew renameExecutables (IMPORTANT unusual step!)
  5. 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/

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/

AdAway/jni

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