android app works at least
This commit is contained in:
parent
67137cd95f
commit
6a6c46fefd
BIN
templates/android-make/.Makefile.swp
Normal file
BIN
templates/android-make/.Makefile.swp
Normal file
Binary file not shown.
@ -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
|
||||
|
@ -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}}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.orastron.@NAME@">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="{{=it.android.javaPackageName}}">
|
||||
{{?it.product.buses.filter(x => x.type == "audio" && x.direction == "input").length > 0}}
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
{{?}}
|
||||
@ -9,8 +9,8 @@
|
||||
<uses-sdk android:minSdkVersion="26" /> <!-- for androidx core and AAudio -->
|
||||
{{?}}
|
||||
<uses-sdk android:targetSdkVersion="34" />
|
||||
<application android:label="@NAME@">
|
||||
<activity android:name=".MainActivity" android:label="@NAME@" android:exported="true">
|
||||
<application android:label="{{=it.product.bundleName}}">
|
||||
<activity android:name=".MainActivity" android:label="{{=it.product.bundleName}}" android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
|
@ -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");
|
||||
}
|
||||
|
||||
/*
|
||||
|
9
templates/android/src/index.html
Normal file
9
templates/android/src/index.html
Normal file
@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>{{=it.product.name}}</title>
|
||||
</head>
|
||||
<body>
|
||||
Prova
|
||||
</body>
|
||||
</html>
|
@ -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);
|
||||
};
|
||||
|
@ -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",
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user