Fullscreen Android WebView app for apkvision.org with an integrated in-app download manager, built in Kotlin.
- Fullscreen WebView: Provides a clean, immersive browsing experience by utilizing the entire screen.
- Integrated Download Manager: Handles downloads directly within the app, offering progress notifications and saving files to the device's standard Downloads directory.
- Intuitive Navigation: Seamlessly navigate back through web history within the app; exits on reaching the initial page.
- Modern Android Development: Built using Kotlin, following the latest Android development practices, and leveraging Android Gradle Plugin (AGP) 8.4.0.
- Optimized Resource Usage: App icons are consolidated into a single
drawableresource, reducing APK size while maintaining visual quality.
This project uses Gradle for building.
- Android SDK
- Java Development Kit (JDK) 17 or higher
- Git
-
Clone the Repository:
git clone https://github.com/Dreamyboyyt/ApkVision.git cd ApkVision -
Build Debug APK: To build a debug version of the application:
./gradlew assembleDebug
The generated APK will be located at
app/build/outputs/apk/debug/app-debug.apk. -
Build Release APK: For a signed release APK (requires GitHub Actions secrets, see below):
./gradlew assembleRelease
The generated APK will be located at
app/build/outputs/apk/release/app-release.apk.
This project utilizes GitHub Actions for automated builds and releases.
-
build-apk.yml:- Purpose: Builds an unsigned debug APK for every push to
mainor manual trigger. - Trigger:
workflow_dispatch(manual) - Output: An unsigned debug APK artifact.
- Purpose: Builds an unsigned debug APK for every push to
-
build-release.yml:- Purpose: Builds a signed release APK and creates a GitHub Release with an automatically incremented version tag (e.g.,
v1.1,v1.2). - Trigger:
workflow_dispatch(manual) - Requirements: Requires specific GitHub Secrets to be configured for APK signing.
- Output: A signed release APK uploaded as a GitHub Release asset.
- Purpose: Builds a signed release APK and creates a GitHub Release with an automatically incremented version tag (e.g.,
-
zip-project.yml:- Purpose: Zips the entire project directory and uploads it as an artifact.
- Trigger:
workflow_dispatch(manual) - Output: A
project.zipartifact.
For the build-release.yml workflow to function correctly (especially for APK signing), you must configure the following secrets in your GitHub repository settings (Settings > Secrets and variables > Actions):
SIGNING_KEY_BASE64: Your base64-encoded release keystore file. (Generate with:base64 -w 0 your-release-key.keystore)KEYSTORE_PASSWORD: The password for your keystore.KEY_ALIAS: The alias for your key within the keystore.KEY_PASSWORD: The password for your key.
Contributions are welcome! Please feel free to open issues or submit pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.