-
Notifications
You must be signed in to change notification settings - Fork 4
100 lines (84 loc) · 3.38 KB
/
Copy pathandroid-build.yml
File metadata and controls
100 lines (84 loc) · 3.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
name: Build and Release Android APK
on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
version_name:
description: 'Version name (e.g., 1.0.1)'
required: true
default: '1.0.1'
version_code:
description: 'Version code (increment for each release)'
required: true
default: '2'
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Create debug keystore
run: |
mkdir -p ~/.android
keytool -genkey -v -keystore ~/.android/debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=Android Debug,O=Android,C=US"
- name: Grant execute permission for gradlew
run: chmod +x DefaceIT/gradlew
- name: Build Release APK
working-directory: DefaceIT
run: ./gradlew assembleRelease
- name: Upload APK artifact
uses: actions/upload-artifact@v4
with:
name: release-apk
path: DefaceIT/app/build/outputs/apk/release/app-release.apk
retention-days: 30
- name: Get version info
id: version
working-directory: DefaceIT
run: |
VERSION_NAME=$(grep -oP 'versionName = "\K[^"]+' app/build.gradle.kts)
VERSION_CODE=$(grep -oP 'versionCode = \K[0-9]+' app/build.gradle.kts)
echo "version_name=$VERSION_NAME" >> $GITHUB_OUTPUT
echo "version_code=$VERSION_CODE" >> $GITHUB_OUTPUT
echo "Version: $VERSION_NAME (Code: $VERSION_CODE)"
- name: Rename APK with version
working-directory: DefaceIT
run: |
cp app/build/outputs/apk/release/app-release.apk app/build/outputs/apk/release/DefaceIT-v${{ steps.version.outputs.version_name }}.apk
- name: Create Release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
files: DefaceIT/app/build/outputs/apk/release/DefaceIT-v${{ steps.version.outputs.version_name }}.apk
name: DefaceIT Android v${{ steps.version.outputs.version_name }}
body: |
## DefaceIT Android App Release v${{ steps.version.outputs.version_name }}
### Features
- Native Android app with Material Design 3 UI built with Jetpack Compose
- Face detection using Google ML Kit
- Real-time video processing with blur capabilities
- Audio pitch shifting support
- Bilingual interface (English and Persian)
- Same powerful blurring capabilities as the desktop version
### Requirements
- Android 7.0 (API level 24) or higher
- Camera permission (optional, for future camera features)
- Storage permission (for reading and saving videos)
### Installation
1. Download the APK file below
2. Enable "Install from Unknown Sources" in your Android settings
3. Open the downloaded APK file
4. Follow the installation prompts
### Changes
See commit history for detailed changes.
draft: false
prerelease: false