summaryrefslogtreecommitdiff
path: root/Defogger/Makefile
blob: 7b18967d851a42b0dc922d24d10492999c6c00a3 (plain)
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
## FIXME
KEYPASS=123456

## aapt - Android Asset Packaging Tool

## dx is renamed in Debian due to naming conflicts:
DX=dalvik-exchange

APIVER=23
# This must match whatever dalvik-exchange supports
JAVAVER=8

SDKCLASSPATH=/usr/lib/android-sdk/platforms/android-$(APIVER)/android.jar

RESOURCES=layout/activity_main.xml values/strings.xml
RES=$(addprefix res/,$(RESOURCES))

CLASSES=$(addprefix obj/no/mork/android/defogger/,R.class MainActivity.class)


all: defogger.apk

src/no/mork/android/defogger/R.java: AndroidManifest.xml $(RES)
	aapt package -f -m -J src -M AndroidManifest.xml -S res -I $(SDKCLASSPATH)

obj/%.class: src/%.java
	javac -d obj -source $(JAVAVER) -target $(JAVAVER) -classpath src -bootclasspath $(SDKCLASSPATH) $<

classes.dex: $(CLASSES)
	$(DX) --dex --output=$@ obj

defogger.apk.unsigned: classes.dex AndroidManifest.xml
	aapt package -f -m -F $@ -M AndroidManifest.xml -S res -I $(SDKCLASSPATH)
	aapt add $@ classes.dex

defogger.keystore:
	keytool -storepass $(KEYPASS) -keypass $(KEYPASS) -genkeypair -alias defogger -dname "dc=no, dc=mork, dc=android, cn=defogger" -validity 365 -keystore $@ -keyalg EC -keysize 256 -sigalg SHA256withECDSA

defogger.apk: defogger.keystore defogger.apk.unsigned
	apksigner sign --v2-signing-enabled false --ks defogger.keystore --ks-pass "pass:$(KEYPASS)" --key-pass "pass:$(KEYPASS)"  --out $@.unaligned defogger.apk.unsigned
	zipalign -f 4 $@.unaligned $@

clean:
	rm -f src/no/mork/android/defogger/R.java $(CLASSES) classes.dex *.unsigned *.unaligned *.apk