diff --git a/templates/android-make/.Makefile.swp b/templates/android-make/.Makefile.swp new file mode 100644 index 0000000..cc5b7ce Binary files /dev/null and b/templates/android-make/.Makefile.swp differ diff --git a/templates/android-make/Makefile b/templates/android-make/Makefile index 0bd33b0..ba193d1 100644 --- a/templates/android-make/Makefile +++ b/templates/android-make/Makefile @@ -6,6 +6,7 @@ APKSIGNER = ${BUILD_TOOLS_DIR}/apksigner ZIPALIGN = ${BUILD_TOOLS_DIR}/zipalign AAPT = ${BUILD_TOOLS_DIR}/aapt D8 = ${BUILD_TOOLS_DIR}/d8 +ADB = ${ANDROID_SDK_DIR}/platform-tools/adb JARS := \ ${ANDROID_JAR_FILE} \ @@ -16,7 +17,7 @@ JARS := \ ${KOTLINX_COROUTINES_CORE_FILE} \ ${KOTLINX_COROUTINES_CORE_JVM_FILE} -CLASSES_PATH := $(subst /,.,$(JAVA_PACKAGE_NAME)) +CLASSES_PATH := $(subst .,/,$(JAVA_PACKAGE_NAME)) CLASSES := MainActivity @@ -29,31 +30,35 @@ endif all: build/${BUNDLE_NAME}.apk build/${BUNDLE_NAME}.apk: build/gen/${BUNDLE_NAME}.aligned.apk ${KEY_STORE} - ${APKSIGNER} sign --ks ${KEY_STORE} --ks-key-alias ${KEY_ALIAS} --ks-pass ${STORE_PASS} --key-pass ${KEY_PASS} --out $@ build/gen/${BUNDLE_NAME}.aligned.apk + ${APKSIGNER} sign --ks ${KEY_STORE} --ks-key-alias ${KEY_ALIAS} --ks-pass pass:${STORE_PASS} --key-pass pass:${KEY_PASS} --out $@ build/gen/${BUNDLE_NAME}.aligned.apk build/gen/${BUNDLE_NAME}.aligned.apk: build/gen/${BUNDLE_NAME}.unsigned.apk ${ZIPALIGN} -f -p 4 $^ $@ -build/gen/${BUNDLE_NAME}.unsigned.apk: build/apk/classes.dex src/AndroidManifest.xml | build/gen - ${AAPT} package -f -M src/AndroidManifest.xml $(foreach jar,$(JARS),-I $(jar)) -F $@ build/apk +build/gen/${BUNDLE_NAME}.unsigned.apk: build/apk/classes.dex data/AndroidManifest.xml build/assets/index.html | build/gen + ${AAPT} package -f -M data/AndroidManifest.xml -A build/assets $(foreach jar,$(JARS),-I $(jar)) -F $@ build/apk build/apk/classes.dex: build/apk/my_classes.jar cd build/apk && ${D8} --min-api ${MIN_API} ../../$^ ${JARS} && cd ../.. build/apk/my_classes.jar: $(foreach class,$(CLASSES),build/obj/$(CLASSES_PATH)/$(class).class) | build/apk + @echo ${CLASSES_PATH} ${D8} $(foreach class,$(CLASSES),'build/obj/$(CLASSES_PATH)/$(class).class') --min-api ${MIN_API} --output $@ --no-desugaring build/obj/${CLASSES_PATH}/MainActivity.class: src/MainActivity.java | build/obj ${JAVAC} -classpath "$(subst $() $(),:,$(JARS))" -d build/obj $^ -build/gen build/obj: +build/assets/index.html: src/index.html | build/assets + cp $^ $@ + +build/gen build/apk build/obj build/assets: mkdir -p $@ clean: rm -fr build install: build/${BUNDLE_NAME}.apk - [ -n "`${ADB} shell pm list packages | grep ^package:${JAVA_PACKAGE_NAME}$`" ] && ${ADB} uninstall ${JAVA_PACKAGE_NAME}; exit 0 + [ -n "`${ADB} shell pm list packages | grep ^package:${JAVA_PACKAGE_NAME}`" ] && ${ADB} uninstall ${JAVA_PACKAGE_NAME}; exit 0 ${ADB} install $^ .PHONY: all clean install diff --git a/templates/android-make/vars.mk b/templates/android-make/vars.mk index 746e222..4ca5994 100644 --- a/templates/android-make/vars.mk +++ b/templates/android-make/vars.mk @@ -7,7 +7,7 @@ STORE_PASS := {{=it.android_make.storePass}} KEY_PASS := {{=it.android_make.keyPass}} ANDROID_SDK_DIR := {{=it.android_make.sdkDir}} -BUILD_TOOLS_DIR := ${ANDROID_SDK_DIR}/build/tools/{{=it.android_make.buildToolsVersion}} +BUILD_TOOLS_DIR := ${ANDROID_SDK_DIR}/build-tools/{{=it.android_make.buildToolsVersion}} ANDROIDX_DIR := {{=it.android_make.androidxDir}} KOTLIN_DIR := {{=it.android_make.kotlinDir}} diff --git a/templates/android/data/AndroidManifest.xml b/templates/android/data/AndroidManifest.xml index 603c4d7..7884df6 100644 --- a/templates/android/data/AndroidManifest.xml +++ b/templates/android/data/AndroidManifest.xml @@ -1,5 +1,5 @@ - + {{?it.product.buses.filter(x => x.type == "audio" && x.direction == "input").length > 0}} {{?}} @@ -9,8 +9,8 @@ {{?}} - - + + diff --git a/templates/android/src/MainActivity.java b/templates/android/src/MainActivity.java index 437f522..819464a 100644 --- a/templates/android/src/MainActivity.java +++ b/templates/android/src/MainActivity.java @@ -25,9 +25,11 @@ public class MainActivity extends Activity { public native void nativeAudioStop(); public native float nativeGetParameter(int i); public native void nativeSetParameter(int i, float v); +*/ private WebView webView; +/* public class WebAppInterface { @JavascriptInterface public boolean hasAudioPermission() { @@ -71,9 +73,8 @@ public class MainActivity extends Activity { webView.setWebChromeClient(new WebChromeClient()); webView.setWebViewClient(new WebViewClient()); webSettings.setDomStorageEnabled(true); - webView.addJavascriptInterface(new WebAppInterface(), "Android"); - //webView.loadUrl("file:///android_asset/index.html"); - webView.loadUrl("https://www.orastron.com/"); + //webView.addJavascriptInterface(new WebAppInterface(), "Android"); + webView.loadUrl("file:///android_asset/index.html"); } /* diff --git a/templates/android/src/index.html b/templates/android/src/index.html new file mode 100644 index 0000000..3babf36 --- /dev/null +++ b/templates/android/src/index.html @@ -0,0 +1,9 @@ + + + + {{=it.product.name}} + + + Prova + + diff --git a/templates/android/tibia-index.js b/templates/android/tibia-index.js index bf395d0..e4922c7 100644 --- a/templates/android/tibia-index.js +++ b/templates/android/tibia-index.js @@ -4,4 +4,5 @@ var sep = path.sep; module.exports = function (data, api) { api.generateFileFromTemplateFile(`data${sep}AndroidManifest.xml`, `data${sep}AndroidManifest.xml`, data); api.generateFileFromTemplateFile(`src${sep}MainActivity.java`, `src${sep}MainActivity.java`, data); + api.generateFileFromTemplateFile(`src${sep}index.html`, `src${sep}index.html`, data); }; diff --git a/test/android-make.json b/test/android-make.json index 364b5b6..8cd47ba 100644 --- a/test/android-make.json +++ b/test/android-make.json @@ -6,7 +6,7 @@ "keyPass": "android", "sdkDir": "${HOME}/Android/Sdk", "buildToolsVersion": "34.0.0", - "androidxDir": "{HOME}/Android/androidx", + "androidxDir": "${HOME}/Android/androidx", "kotlinDir": "${HOME}/Android/kotlin", "androidVersion": "34", "androidxCoreVersion": "1.10.1", diff --git a/test/keystore.jks b/test/keystore.jks index b4854b1..e0e59f5 100644 Binary files a/test/keystore.jks and b/test/keystore.jks differ