Repository navigation
Expand file tree
/
Copy pathjustfile
More file actions
68 lines (48 loc) · 2.04 KB
/
Copy pathjustfile
File metadata and controls
68 lines (48 loc) · 2.04 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
set shell := ["bash", "-c"]
# Configuration
BUILD_DIR := "build"
DIST_DIR := "dist"
PKG_NAME := "libmlkit-proxy"
# List available build commands
default:
@just --list
# Build all
all: apk aar dex smali
# Build just the proxy APK
apk: clean
@mkdir -p {{DIST_DIR}}
./gradlew :proxy:assembleDebug
@cp proxy/{{BUILD_DIR}}/outputs/apk/debug/proxy-debug.apk {{DIST_DIR}}/{{PKG_NAME}}.apk
@echo "APK built at: {{DIST_DIR}}/{{PKG_NAME}}.apk"
# Build the standard Android library (.aar)
aar: apk
@mkdir -p {{DIST_DIR}}
./gradlew :aar:assembleDebug
@cp aar/{{BUILD_DIR}}/outputs/aar/aar-debug.aar {{DIST_DIR}}/{{PKG_NAME}}.aar
@echo "AAR built at: {{DIST_DIR}}/{{PKG_NAME}}.aar"
# Build a fat classes.dex (for LSPosed / ReVanced injection)
dex: aar
@mkdir -p {{BUILD_DIR}}/temp {{BUILD_DIR}}/outputs/dex
@echo "Extracting classes.jar from AAR..."
@unzip -q -o aar/{{BUILD_DIR}}/outputs/aar/aar-debug.aar classes.jar -d {{BUILD_DIR}}/temp
@echo "Converting to classes.dex using d8..."
d8 {{BUILD_DIR}}/temp/classes.jar --output {{BUILD_DIR}}/outputs/dex/
@cp {{BUILD_DIR}}/outputs/dex/classes.dex {{DIST_DIR}}/{{PKG_NAME}}.dex
@echo "classes.dex built at: {{DIST_DIR}}/{{PKG_NAME}}.dex"
# Generate smali (for apktool smali injection)
smali: dex
@mkdir -p {{BUILD_DIR}}/temp {{BUILD_DIR}}/outputs/smali
@echo "Disassembling classes.dex to smali..."
baksmali d {{BUILD_DIR}}/outputs/dex/classes.dex -o {{BUILD_DIR}}/temp/
@(cd {{BUILD_DIR}}/temp/ && zip -r ../outputs/smali.zip ./*)
@cp {{BUILD_DIR}}/outputs/smali.zip {{DIST_DIR}}/{{PKG_NAME}}_smali.zip
@echo "Smali files generated at: {{DIST_DIR}}/{{PKG_NAME}}_smali.zip"
lsposed: clean apk
@mkdir -p {{DIST_DIR}}
./gradlew :lsposed:assembleDebug
@cp lsposed/{{BUILD_DIR}}/outputs/apk/debug/lsposed-debug.apk {{DIST_DIR}}/{{PKG_NAME}}-lsposed.apk
@echo "APK built at: {{DIST_DIR}}/{{PKG_NAME}}-lsposed.apk"
# Clean all build outputs
clean:
./gradlew clean
rm -rf {{BUILD_DIR}}/temp {{BUILD_DIR}}/outputs {{DIST_DIR}}