-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathMakefile
More file actions
48 lines (45 loc) · 1.46 KB
/
Makefile
File metadata and controls
48 lines (45 loc) · 1.46 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
variant := free
.PHONY: build
build: | check-env
rm -r "app/build/outputs/apk/$(variant)/release" || true
./gradlew "assemble$(variant)Release"
zipalign -v -p 4 \
"app/build/outputs/apk/$(variant)/release/app-$(variant)-release-unsigned.apk" \
"app/build/outputs/apk/$(variant)/release/app-$(variant)-release-unsigned-aligned.apk"
apksigner sign \
--ks "$(STORE_FILE)" \
--ks-pass env:STORE_PASSWORD \
--ks-key-alias "$(KEY_ALIAS)" \
--key-pass env:KEY_PASSWORD \
--out \
"app/build/outputs/apk/$(variant)/release/app-$(variant)-release.apk" \
"app/build/outputs/apk/$(variant)/release/app-$(variant)-release-unsigned-aligned.apk"
.PHONY: bundle
bundle: | check-env
./gradlew "bundle$(variant)Release" \
-Pandroid.injected.signing.store.file="$(STORE_FILE)" \
-Pandroid.injected.signing.store.password="$(STORE_PASSWORD)" \
-Pandroid.injected.signing.key.alias="$(KEY_ALIAS)" \
-Pandroid.injected.signing.key.password="$(KEY_PASSWORD)"
.PHONY: check-env
check-env:
ifeq ($(STORE_FILE),)
@echo "Variable STORE_FILE is not set."
@echo "Example: STORE_FILE=path/to/keystore.js"
exit 1
endif
ifeq ($(STORE_PASSWORD),)
@echo "Variable STORE_PASSWORD is not set."
@echo "Example: STORE_PASSWORD=mypassword"
exit 1
endif
ifeq ($(KEY_ALIAS),)
@echo "Variable KEY_ALIAS is not set."
@echo "Example: KEY_ALIAS=com.example.android"
exit 1
endif
ifeq ($(KEY_PASSWORD),)
@echo "Variable KEY_PASSWORD is not set."
@echo "Example: KEY_PASSWORD=mypassword"
exit 1
endif