Files
bot-rates/android/README.md

3.0 KiB
Raw Blame History

Android 版Kotlin + Jetpack Compose不需要 Android Studio

用 CLIsdkmanager + gradle)從零到 APK 全程在 terminal 完成。編輯用任何 editor / Claude Code 即可。

一次性環境設定

1. JDK 17 與 Gradle

brew install openjdk@17 gradle

# 讓系統找得到 openjdk@17
sudo ln -sfn "$(brew --prefix)/opt/openjdk@17/libexec/openjdk.jdk" \
  /Library/Java/JavaVirtualMachines/openjdk-17.jdk

# 加到 ~/.zshrc
export JAVA_HOME="$(/usr/libexec/java_home -v 17)"

2. Android SDK只裝 cmdline-tools / platform-tools / build-tools不裝 IDE

brew install --cask android-commandlinetools

# 加到 ~/.zshrc
export ANDROID_HOME="/opt/homebrew/share/android-commandlinetools"  # Apple Silicon
# 若是 Intel Macexport ANDROID_HOME="/usr/local/share/android-commandlinetools"
export PATH="$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools"

# 裝必要元件
sdkmanager --install "platform-tools" "platforms;android-34" "build-tools;34.0.0"
yes | sdkmanager --licenses

確認路徑被 Gradle 看得到,在 android/ 下建一個 local.properties

sdk.dir=/opt/homebrew/share/android-commandlinetools

(或讓 ANDROID_HOME 環境變數生效也行Gradle 會自己找。)

3. 產生 Gradle wrapper只要做一次之後就都用 ./gradlew

cd android
gradle wrapper --gradle-version 8.9 --distribution-type bin

編譯

cd android
./gradlew assembleDebug
# 產物app/build/outputs/apk/debug/app-debug.apk

Release build未簽章只能自己用

./gradlew assembleRelease
# 產物app/build/outputs/apk/release/app-release-unsigned.apk

安裝到手機

# 1. 手機開「開發人員選項」→「USB 偵錯」
# 2. USB 接上
adb devices                   # 應列出裝置
adb install -r app/build/outputs/apk/debug/app-debug.apk

程式結構

單一 Activity + Compose所有邏輯在 app/src/main/java/tw/local/botrates/MainActivity.kt

  • fetchRates()HttpURLConnection 抓台銀 CSV同樣用欄位索引 13即期賣出解析
  • App()Compose UI每個幣別一列幣別+匯率 / 金額輸入 / TWD 結果 / 複製鈕
  • 複製用 ClipboardManager.setPrimaryClipToast 提示「已複製」

想改的地方

改什麼 位置
新增幣別 MainActivity.kt 頂端 TARGETS
買入/賣出 fetchRates() 內的 cols[13](見根 QUICKSTART.md 的欄位表)
視覺配色 RateRow() 裡的 Color(0xFF...) 常數
applicationId / 版本 app/build.gradle.ktsdefaultConfig

為什麼不用 Android Studio

AS 整包 2GB+,但實際需要的只有 JDK + Android SDK platform + build-tools加起來 300MB 左右。Gradle 本身也是 CLI 工具。Compose 的開發體驗在純 editor 下唯一損失的是即時 Preview但寫完 ./gradlew installDebug 直接跑在手機上看也沒差多少。