diff options
author | Bjørn Mork <bjorn@mork.no> | 2019-05-16 15:49:55 +0200 |
---|---|---|
committer | Bjørn Mork <bjorn@mork.no> | 2019-05-16 15:49:55 +0200 |
commit | faf2935d12c02c17fdca282bdac17f01729eab8a (patch) | |
tree | 7bc2fdd343ba9dadaf1168d264048ef78727a732 | |
parent | 3b8007d34b6f4964f999c49cebaa44ccf08b345f (diff) |
android: working build
Signed-off-by: Bjørn Mork <bjorn@mork.no>
-rw-r--r-- | Defogger/Makefile | 45 |
1 files changed, 41 insertions, 4 deletions
diff --git a/Defogger/Makefile b/Defogger/Makefile index 2242694..8d1c11e 100644 --- a/Defogger/Makefile +++ b/Defogger/Makefile @@ -1,7 +1,44 @@ - -## libandroid-23-java: /usr/lib/android-sdk/platforms/android-23/android.jar +## FIXME +KEYPASS=123456 ## aapt - Android Asset Packaging Tool -R.java: - aapt package -f -m -J src -M AndroidManifest.xml -S res -I android.jar + +## dx is renamed in Debian due to naming conflicts: +DX=dalvik-exchange + +API=23 +SDKCLASSPATH=/usr/lib/android-sdk/platforms/android-$(API)/android.jar + +# This must match whatever dalvik-exchange supports +JAVAVER=8 + +RESOURCES=layout/activity_main.xml values/strings.xml +RES=$(addprefix res/,$(RESOURCES)) + +CLASSES=R.class MainActivity.class + +all: bin/defogger.apk + +src/no/mork/defogger/R.java: AndroidManifest.xml $(RES) + aapt package -f -m -J src -M AndroidManifest.xml -S res -I $(SDKCLASSPATH) + +obj/%.class: src/no/mork/defogger/%.java + javac -d obj -source $(JAVAVER) -target $(JAVAVER) -classpath src -bootclasspath $(SDKCLASSPATH) $< + +classes.dex: $(addprefix obj/,$(CLASSES)) + $(DX) --dex --output=$@ obj + +bin/defogger.unaligned.apk: 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, cn=defogger" -validity 365 -keystore $@ -keyalg EC -keysize 256 -sigalg SHA256withECDSA + +bin/defogger.apk: bin/defogger.unaligned.apk defogger.keystore + apksigner sign -ks defogger.keystore -ks-pass "pass:$(KEYPASS)" -key-pass "pass:$(KEYPASS)" -out $@ bin/defogger.unaligned.apk + +clean: + rm -f src/no/mork/defogger/R.java $(addprefix obj/,$(CLASSES)) classes.dex |