iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
Rust

用 Tauri 打造你的應用程式系列 第 6

[Day 06] 第一個 Tauri 手機應用程式

  • 分享至 

  • xImage
  •  

經過前面兩天桌面應用的學習,今天我們將踏入行動開發的全新領域!

Android 開發環境需求

基本上照著官方文件上的步驟就可以了。

1. 下載並安裝 Android Studio 完整安裝

首先下載並安裝最新版本的 Android Studio。這不僅是 Android 開發的標準 IDE,更重要的是它提供了 Tauri 所需的完整工具鏈。Android Studio 包含了 Android SDK、模擬器、偵錯工具等所有必要套件,是 Android 開發不可或缺的基礎。

安裝過程中請確保選擇「Standard」安裝選項,這會自動安裝大部分必要的套件。安裝完成後,建議先啟動一次 Android Studio,讓它完成初始化設定並下載任何缺失的套件。

2. 設定 JAVA_HOME 環境變數

[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Android\Android Studio\jbr", "User")

3. 安裝 SDK

接著要使用 Android Studio 的 SDK Manager 安裝 SDK,SDK Manager 可以從這裡打開:

要安裝的項目是這五個:

  • Android SDK Platform
  • Android SDK Platform-Tools
  • Android SDK Build-Tools
  • NDK (Side by side)
  • Android SDK Command-line Tools

不過其實在剛剛安裝 Android Studio 的時候就已經裝好前 3 個,只剩下後 2 個還要再安裝 (都在 SDK Tools 頁籤中)。

勾選後,按下 Apply 按鈕,就會開始引導安裝,最後再次 Apply 就好了。

4. 設定 ANDROID_HOMENDK_HOME 環境變數

[System.Environment]::SetEnvironmentVariable("ANDROID_HOME", "$env:LocalAppData\Android\Sdk", "User")
$VERSION = Get-ChildItem -Name "$env:LocalAppData\Android\Sdk\ndk" | Select-Object -Last 1
[System.Environment]::SetEnvironmentVariable("NDK_HOME", "$env:LocalAppData\Android\Sdk\ndk\$VERSION", "User")

5. 安裝 Android 相關套件

rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android

初始化 Android 專案

在開始這步驟之前,建議重開所有 terminal 以確保先前設定的環境變數都有順利更新。

在現有的 Tauri 專案中執行初始化命令:

npm run tauri android init

這個命令會執行多項重要操作:在 src-tauri 目錄下建立 gen/android 資料夾,包含完整的 Android 專案結構。它會自動產生 AndroidManifest.xmlbuild.gradle 等 Android 開發必須的設定檔。

初始化過程中,Tauri 會分析你的專案設定,將 tauri.conf.json 中的應用程式資訊對應到 Android 專案中。包括應用程式名稱、版本號、圖示等都會自動設定。

開啟開發者模式

如果各位是 Windows 系統,請記得要 開啟開發人員模式 !!!

如果沒開啟,等等執行 npm run tauri android dev 時就會看到一整排的 Info Waiting for emulator to start...

開發與除錯流程

啟動開發模式

在 terminal 執行這個指令 (第一次執行需要等一小段時間):

npm run tauri android dev

Tauri 會自動偵測可用的 Android 裝置,編譯應用程式並安裝到裝置上。這個過程包含了複雜的交叉編譯流程:前端 Vue 程式碼會被打包,Rust 程式碼會被編譯為 ARM 或 x86 原生程式庫,最後整合成完整的 APK 檔案。

如果各位能看到下面這個畫面,就代表成功了~

除錯技巧

這個 Android Emulator 是沒有提供瀏覽器的開發工具 (DevTools) 的,這對於平時開發網頁習慣的人來說,實在是覺得很不自在。如果只是想要在前端 console.log 的話,問題不大,在 terminal 是可以看到的。

舉例來說,假如我在範例程式中加一行:

async function greet() {
  // Learn more about Tauri commands at https://tauri.app/develop/calling-rust/
  greetMsg.value = await invoke("greet", { name: name.value });
+ console.log("button clicked");
}

在我點擊按鈕之後,就可以在 terminal 看到:

09-18 14:47:17.269  7969  7969 I Tauri/Console: File: http://tauri.localhost/src/App.vue?t=1758206830148 - Line 12 - Msg: button clicked

但是,如果你還需要更多 DevTools 的功能,這邊提供各位一個方法:你可以打開 chrome 瀏覽器並進入 chrome://inspect/#devices。稍等幾秒後,就會在下方的 Remote Target 看到這台 Android Emulator 了。

接著,點擊左下方「inspect」按鈕,就可以看到熟悉的令人安心的 DevTools 了~

跨平台開發的便利性

不知道大家有沒有注意到,我們只是換一個指令而已。

我們的桌面應用程式碼幾乎不需要任何修改就能在 Android 上運行,這就是 Tauri 厲害的地方啊!Tauri 的跨平台抽象層確保了一致的開發體驗,無論是 Command 系統、事件處理還是狀態管理,都能無縫運行在不同平台上。

小結

今天分享了如何建置手機應用程式的開發環境,並將先前的桌面應用程式轉換成手機應用程式 (Android)。

基礎篇到今天就結束了,接下來會進入核心篇,開始介紹 Tauri 核心的用法與觀念~


上一篇
[Day 05] 專案架構
系列文
用 Tauri 打造你的應用程式6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言