OpenTerm v0.3.0 INTL: global data sources (Yahoo/Stooq/Tencent), EN/ZH UI, symbol search, watchlist persistence, world clocks, intraday chart, news feeds

This commit is contained in:
2026-10-26 14:04:56 +08:00
commit f9061a6b04
6 changed files with 1096 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
OpenTermBuild/
*.apk
*.keystore
gen/
classes/
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.dsh.openterm"
android:versionCode="3"
android:versionName="0.3.0">
<uses-sdk android:minSdkVersion="24" android:targetSdkVersion="28" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:label="@string/app_name"
android:icon="@drawable/ic_launcher"
android:theme="@android:style/Theme.Material.NoActionBar"
android:allowBackup="true">
<activity android:name=".MainActivity" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
+34
View File
@@ -0,0 +1,34 @@
#!/data/data/com.dsharnessmobile.shell/files/usr/bin/bash
# OpenTerm 一键构建脚本
set -e
P=/data/data/com.dsharnessmobile.shell/files/usr
J=$P/lib/jvm/java-17-openjdk/bin
export PATH=$J:$P/bin:$PATH
SRC=/data/data/com.dsharnessmobile.shell/files/home/.dsh/workspaces/incoming/OpenTerm
OUT=/data/data/com.dsharnessmobile.shell/files/home/OpenTermBuild
FWRES=/system/framework/framework-res.apk
cd "$OUT"
rm -rf src gen classes classes.dex unsigned.apk OpenTerm.apk
mkdir -p src/com/dsh/openterm gen/com/dsh/openterm classes
cp -r "$SRC"/src/com/dsh/openterm/* src/com/dsh/openterm/
cp "$SRC"/AndroidManifest.xml .
# 1. 资源 + R.java
aapt package -f -M AndroidManifest.xml -S "$SRC/res" -I "$FWRES" -J gen
# 2. 编译
javac --release 8 -classpath "$HOME/android-stub.jar:$HOME/json.jar" -d classes \
src/com/dsh/openterm/*.java $(find gen -name "*.java")
# 3. 转 dex
java -cp "$HOME/r8.jar" com.android.tools.r8.D8 --release \
--lib "$HOME/android-stub.jar" --output . classes/com/dsh/openterm/*.class
# 4. 打包
aapt package -f -M AndroidManifest.xml -S "$SRC/res" -I "$FWRES" -F unsigned.apk
aapt add unsigned.apk classes.dex
# 5. 签名
apksigner sign --ks "$HOME/openterm.keystore" --ks-pass pass:openterm123 \
--key-pass pass:openterm123 --out OpenTerm.apk unsigned.apk
apksigner verify OpenTerm.apk
cp OpenTerm.apk "$SRC/../OpenTerm.apk"
ls -la "$SRC/../OpenTerm.apk"
echo BUILD_OK
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp" android:height="48dp"
android:viewportWidth="48" android:viewportHeight="48">
<path android:fillColor="#FF000000" android:pathData="M0,0h48v48h-48z"/>
<path android:fillColor="#FFA500" android:pathData="M6,10h4v28h-4z"/>
<path android:fillColor="#FF6600" android:pathData="M14,20h4v18h-4z"/>
<path android:fillColor="#FFCC00" android:pathData="M22,14h4v24h-4z"/>
<path android:fillColor="#FF4500" android:pathData="M30,26h4v12h-4z"/>
<path android:fillColor="#32CD32" android:pathData="M38,8h4v30h-4z"/>
<path android:fillColor="#FFA500" android:pathData="M6,40h36v2h-36z"/>
</vector>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">OpenTerm 行情终端</string>
</resources>
File diff suppressed because it is too large Load Diff