Simplify down a bit

This commit is contained in:
Xavier Del Campo Romero 2023-04-13 00:00:19 +02:00
parent 47df52cb63
commit 95c363a645
Signed by: xavi
GPG Key ID: 84FF3612A9BF43F2
4 changed files with 52 additions and 34 deletions

1
.gitignore vendored
View File

@ -2,4 +2,5 @@
*.class *.class
*.dex *.dex
*.jks *.jks
*.apk.idsig
R.java R.java

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="coffee.source.helloworld" package="helloworld"
versionCode="0" versionCode="0"
versionName="0"> versionName="0">
<uses-sdk android:minSdkVersion="19"/> <uses-sdk android:minSdkVersion="19"/>

View File

@ -1,12 +1,22 @@
package coffee.source.helloworld; import helloworld.R;
import android.app.Activity; import android.app.Activity;
import android.os.Bundle; import android.os.Bundle;
import android.widget.TextView; import android.widget.TextView;
import java.net.HttpURLConnection;
import java.net.URL;
public class HelloWorld extends Activity { public class HelloWorld extends Activity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
try {
URL url = new URL("https://slcl.privatedns.org");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
} catch (Exception e) {
//TODO: handle exception
}
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);

View File

@ -1,48 +1,55 @@
ANDROIDSDK=/usr/lib/android-sdk/build-tools/debian .POSIX:
PLATFORM=/usr/lib/android-sdk/platforms/android-23/android.jar
MINSDK=19
APP=src/coffee/source/helloworld
CLASSES=$(patsubst %.java,%.class,$(wildcard $(APP)/*.java)) PROJECT = helloworld
ANDROIDSDK = /usr/lib/android-sdk
DX = $(ANDROIDSDK)/build-tools/debian/dx
PLATFORM = $(ANDROIDSDK)/platforms/android-23/android.jar
OBJECTS = \
HelloWorld.class
RESOURCES = \
res/layout/activity_main.xml
R = helloworld/R.java
# Resources: # Resources:
# https://www.hanshq.net/command-line-android.html # https://www.hanshq.net/command-line-android.html
helloworld.apk: helloworld.aligned.apk keystore.jks $(PROJECT).apk: $(PROJECT).aligned.apk keystore.jks
apksigner sign --ks keystore.jks --ks-key-alias androidkey --ks-pass pass:android --key-pass pass:android --out $@ $< apksigner sign \
--ks keystore.jks \
--ks-key-alias androidkey \
--ks-pass pass:android \
--key-pass pass:android \
--out $@ $<
keystore.jks: keystore.jks:
keytool -genkeypair -keystore $@ -alias androidkey -validity 10000 -keyalg RSA -keysize 2048 -storepass android -keypass android keytool \
-genkeypair \
-keystore $@ \
-alias androidkey \
-validity 10000 \
-keyalg RSA \
-keysize 4096 \
-storepass android \
-keypass android
helloworld.aligned.apk: helloworld.unsigned.apk $(PROJECT).aligned.apk: $(PROJECT).unsigned.apk
zipalign -f -p 4 $< $@ zipalign -f -p 4 $< $@
helloworld.unsigned.apk: dex/classes.dex AndroidManifest.xml $(PROJECT).unsigned.apk: dex/classes.dex AndroidManifest.xml
aapt package -f -v -F $@ -I $(PLATFORM) -M AndroidManifest.xml -S res dex aapt package -f -F $@ -I $(PLATFORM) -M AndroidManifest.xml -S res dex
dex/classes.dex: $(CLASSES) dex/classes.dex: $(OBJECTS) AndroidManifest.xml
[ -e dex ] || mkdir dex mkdir -p dex
$(ANDROIDSDK)/dx --dex --verbose --min-sdk-version=$(MINSDK) --output=$@ src $(DX) --dex --output=$@ $(OBJECTS)
$(APP)/HelloWorld.class: $(APP)/*.java $(APP)/R.java $(OBJECTS): $(OBJECTS:.class=.java) $(R)
javac -bootclasspath $(PLATFORM) -classpath src -source 1.7 -target 1.7 $^ javac -bootclasspath $(PLATFORM) -source 1.7 *.java
$(APP)/R.java: AndroidManifest.xml res/* $(R): AndroidManifest.xml $(RESOURCES)
aapt package -f -m -J src -S res -M AndroidManifest.xml -I $(PLATFORM) aapt package -f -m -S res -M AndroidManifest.xml -I $(PLATFORM) -J .
clean: clean:
rm -vf $(APP)/R.java \ rm -f $(R) *.java.class *.unsigned.apk *.aligned.apk *.apk.idsig dex/*.dex
$(APP)/*.class \
*.unsigned.apk \
*.aligned.apk \
dex/*.dex
distclean: clean distclean: clean
[ ! -d dex ] || rmdir dex rm -rf dex/ *.apk keystore.jks
rm -vf *.apk
squeaky-clean: distclean
@echo 'Warning! This will remove your signing keys!'
@echo 'You have 5 seconds to press CTRL-C'
@sleep 5
rm -vf *.jks