WiFiAnalyzer 
This is the official repository of WiFiAnalyzer.
Table of Contents
- Features
- Documentation
- How-to
- FAQ
- Feedback
- License
- Privacy policy
- WiFiAnalyzer Build
- Contribute
- Translation
Features
- Identify nearby Access Points
- Graph channels signal strength
- Graph Access Point signal strength over time
- Analyze Wi-Fi networks to rate channels
- HT/VHT Detection - 40/80/160/320 MHz (Requires hardware/software support)
- 2.4 GHz, 5 GHz and 6 GHz Wi-Fi bands (Requires hardware/software support)
- Access Point view: complete or compact
- Estimated Distance to the Access Points
- Export access points details
- Dark, Light and System theme available
- Pause/Resume scanning
- Available filters: Wi-Fi band, Signal strength, Security and SSID
- Vendor/OUI Database Lookup
- The application has too many features to mention them all
Please note WiFiAnalyzer is not a Wi-Fi password cracking or phishing tool.
Documentation
The complete guide to using WiFiAnalyzer can be found in the User Manual. For quick access to specific topics, see:
How-to
- How to video
- How to find the best 5Ghz Wi-Fi Channel
- Understand Wi-Fi 4/5/6/6E/7 (802.11 n/ac/ax/be) - Make educated wireless router/AP upgrade decisions
- Why Wi-Fi stinks and how to fix it
- Wi-Fi channels list
- How is distance calculated to Access Point
FAQ
- Android Wi-Fi scanning throttling
- Location Service Permission Requirements
- WiFiAnalyzer on secondary user accounts
- How does the channel graph display…
- How to use SSID filter?
- WiFiAnalyzer equivalent on iOS
Feedback
- Bug reports can be submitted here.
- To learn how to submit a bug click here.
- Discussions
License
WiFiAnalyzer is licensed under the GNU General Public License v3.0 (GPLv3).
GPLv3 License key requirements:
- Disclose Source
- License and Copyright Notice
- Same License
- State Changes
GNU General Public License v3.0 (GPLv3) Explained in Plain English
GNU General Public License v3.0 (GPLv3).
Privacy policy
- WiFiAnalyzer does not collect any personal/device information.
- WiFiAnalyzer is designed to use as few permissions as possible. It asks for just enough to perform the analysis.
- Plus, it is all open source so nothing is hidden!
- Most notably, this application does not require access to the internet, so you can be sure it does not send any personal/device information to any other source and it does not receive any information from other sources.
WiFiAnalyzer Build
Contribute
- Want to contribute? Check out our CONTRIBUTING.md to see how you can help.
- We want to express our gratitude to all contributors for their contributions, such as patches, bug fixes, updates, and more.
- If you would like to contribute financially to the project, please feel free to send any amount through PayPal.
Build project
- Install Android Studio
- Import the project into Android Studio
- In the Welcome to Android Studio screen, select “Import project …”
- Select the root directory of the WiFiAnalyzer repository and click “OK”.
- WiFiAnalyzer will build automatically.
Running various Gradle commands
Check Kotlin code style
./gradlew ktlintCheck
Apply Kotlin code style
./gradlew ktlintFormat
Run lint analysis
./gradlew lintDebug
This command generates the following report:
- Lint report:
app/build/reports/lint-results.html
Run unit tests
./gradlew testDebugUnitTest
This command generates the following report:
- Unit test report:
app/build/reports/tests/testDebugUnitTest/index.html
Run unit tests with coverage
./gradlew jacocoTestCoverageVerification
This command generates the following report:
- Code coverage report:
app/build/reports/jacoco/jacocoTestReport/html/index.html
Continuous Integration
This project uses GitHub Actions for CI/CD. On every push and pull request, the following checks are performed automatically:
- Code style check with ktlint
- Lint analysis
- Unit tests with coverage (uploaded to Codecov)
- APK build (debug)
- Artifacts (reports and APK) are available for download in the workflow run
Translation
We support many languages, all done by people like you! We make use of free Weblate’s Libre hosting to allow this. This means if you don’t like how a translation was done for your language, you can change it! Or, you can add a whole new language! Visit our Weblate project to help.