diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2024-01-07 23:49:03 +0100 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2024-05-17 23:28:51 +0200 |
| commit | 40f6d425a4429b16936cc8bb4900a23c3362a123 (patch) | |
| tree | cc60a4a6995604f095952d7c3cda83913c92b61a /Makefile | |
| parent | a3bfeb15064ab85900e28f0f3f84b88e99c9a466 (diff) | |
| download | slcl-android-40f6d425a4429b16936cc8bb4900a23c3362a123.tar.gz | |
WIP
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 48 |
1 files changed, 30 insertions, 18 deletions
@@ -1,20 +1,28 @@ .POSIX: .SUFFIXES: .apk .unsigned .aligned -PROJECT = helloworld +PROJECT = org.slcl ANDROIDSDK = /usr/lib/android-sdk DX = $(ANDROIDSDK)/build-tools/debian/dx MANIFEST = AndroidManifest.xml PLATFORM = $(ANDROIDSDK)/platforms/android-23/android.jar OBJECTS = \ - HelloWorld.class \ - Test.class + src/org/slcl/core/Cookie.class \ + src/org/slcl/core/Login.class \ + src/org/slcl/Directory.class \ + src/org/slcl/InternalFile.class \ + src/org/slcl/Main.class RESOURCES = \ + res/layout/activity_directory.xml \ res/layout/activity_main.xml -R = helloworld/R.java +R = src/org/slcl/R.java +PASS = password.secret +DNAME = "cn=slcl, ou=slcl, o=slcl, c=ES" # Resources: # https://www.hanshq.net/command-line-android.html +# https://unix.stackexchange.com/questions/230673/how-to-generate-a-random-string +# https://stuff.mit.edu/afs/sipb/project/android/docs/guide/topics/resources/layout-resource.html#layoutvalues all: $(PROJECT).apk @@ -24,20 +32,23 @@ $(PROJECT).apk: keystore.jks apksigner sign \ --ks keystore.jks \ --ks-key-alias androidkey \ - --ks-pass pass:android \ - --key-pass pass:android \ + --ks-pass file:$(PASS) \ --out $@ $< -keystore.jks: - keytool \ +keystore.jks: $(PASS) + (for i in 1 2; do cat $(PASS); done; echo) \ + | keytool \ -genkeypair \ + -dname $(DNAME) \ -keystore $@ \ -alias androidkey \ - -validity 10000 \ -keyalg RSA \ - -keysize 4096 \ - -storepass android \ - -keypass android + -keysize 4096 + +$(PASS): + (LC_ALL=C \ + tr -dc 'A-Za-z0-9!"#$$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' \ + < /dev/urandom | head -c 100; echo) > $(PASS) .unsigned.aligned: zipalign -f -p 4 $< $@ @@ -45,19 +56,20 @@ keystore.jks: $(PROJECT).unsigned: dex/classes.dex $(MANIFEST) aapt package -f -F $@ -I $(PLATFORM) -M $(MANIFEST) -S res dex -dex/classes.dex: $(OBJECTS) $(MANIFEST) +dex/classes.dex: .build $(MANIFEST) mkdir -p dex - $(DX) --dex --output=$@ $(OBJECTS) + $(DX) --dex --min-sdk-version=9 --output=$@ src -$(OBJECTS): $(OBJECTS:.class=.java) $(R) - javac -bootclasspath $(PLATFORM) -source 1.7 $(OBJECTS:.class=.java) +.build: $(OBJECTS:.class=.java) $(R) + javac -bootclasspath $(PLATFORM) -source 1.7 -sourcepath src $(OBJECTS:.class=.java) + touch $@ $(R): $(MANIFEST) $(RESOURCES) - aapt package -f -m -S res -M $(MANIFEST) -I $(PLATFORM) -J . + aapt package -f -m -S res -M $(MANIFEST) -I $(PLATFORM) -J src clean: rm -f $(R) $(OBJECTS) $(PROJECT).unsigned \ $(PROJECT).aligned $(PROJECT).apk.idsig dex/classes.dex distclean: clean - rm -rf dex/ *.apk keystore.jks + rm -rf dex/ *.apk keystore.jks $(PASS) |
