-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
83 lines (65 loc) · 2.41 KB
/
Copy pathMakefile
File metadata and controls
83 lines (65 loc) · 2.41 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
#--------------------------------------------------------------------------------
# p4a parameter
SRC := ./src
REQUIREMENT := python3,kivy,jnius,numpy,android
PERMISSION := BLUETOOTH_ADMIN BLUETOOTH ACCESS_FINE_LOCATION FOREGROUND_SERVICE RECEIVE_BOOT_COMPLETED INTERNET
BOOTSTRAP := sdl2
ARCH := arm64-v8a
ANDROAPI := 29
PKGNAME := example.kivy.stch
APPNAME := Kivy_p4a_Test
DISTNAME := STCH_Kivy_Test
VERSION := 0.0.2
#--------------------------------------------------------------------------------
# jarsigner parameter
KEYSTORE := stch.keystore
KSALIAS := stch
KSPASSWD :=
#--------------------------------------------------------------------------------
# default action and settings
all: apk sign
deploy: apk sign install
.PHONY: clean
#--------------------------------------------------------------------------------
# apk packing, signing, and installing
apk:
p4a apk --private $(SRC) --requirements=$(REQUIREMENT) \
$(patsubst %,--permission=% ,$(PERMISSION))\
--service=stchservice:serv.py --service=testserv:test.py\
--bootstrap=$(BOOTSTRAP) --arch=$(ARCH) --android_api=$(ANDROAPI) \
--package=$(PKGNAME) --name=$(APPNAME) --dist_name=$(DISTNAME) \
--release --version $(VERSION)
sign:
ifdef KSPASSWD
jarsigner -verbose -keystore $(KEYSTORE) -signedjar $(DISTNAME)_v$(VERSION).apk \
$(DISTNAME)__$(ARCH)-release-unsigned-$(VERSION)-.apk $(KSALIAS) -storepass $(KSPASSWD)
else
jarsigner -verbose -keystore $(KEYSTORE) -signedjar $(DISTNAME)_v$(VERSION).apk \
$(DISTNAME)__$(ARCH)-release-unsigned-$(VERSION)-.apk $(KSALIAS)
endif
@echo "Auto remove unsigned apk file, file name: $(DISTNAME)__$(ARCH)-release-unsigned-$(VERSION)-.apk"
@rm -f $(DISTNAME)__$(ARCH)-release-unsigned-$(VERSION)-.apk
install: devcn
@echo "Install Apk to the Android device via adb, Please ensure the connection of the device"
adb install $(DISTNAME)_v$(VERSION).apk
# App interface layout viewup
layout:
python3 scripts/layout.py
# App runtime testing
run:
python3 src/main.py
#--------------------------------------------------------------------------------
# adb manipulation
# device list
devlist:
adb devices
# device connect
devcn: devlist
# device reconnect
devrc: devdc devlist
# device disconnect
devdc:
adb kill-server
#--------------------------------------------------------------------------------
clean:
rm *.apk src/*.pyc