# tauri_learn_202512 **Repository Path**: dywy/tauri_start ## Basic Information - **Project Name**: tauri_learn_202512 - **Description**: tauri安卓应用的签名、编译 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-21 - **Last Updated**: 2025-12-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Tauri + Leptos This template should help get you started developing with Tauri and Leptos. ## Recommended IDE Setup [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer). ``` dy@ak47:~/develop/tauri_and_leptos$ cargo create-tauri-app ✔ Project name · tauri-app ✔ Identifier · com.dy.tauri-app ✔ Choose which language to use for your frontend · Rust - (cargo) ✔ Choose your UI template · Leptos - (https://leptos.dev/) Template created! To get started run: cd tauri-app cargo tauri android init For Desktop development, run: cargo tauri dev For Android development, run: cargo tauri android dev ############################### dy@ak47:~/develop/tauri_and_leptos/tauri-app$ cargo tauri android init Info Using Android Studio's default Java installation: /opt/android-studio/jbr Info ANDROID_HOME not set, trying to locate Android SDK... Info Using installed Android SDK: /home/dy/Android/Sdk Info Using installed NDK: /home/dy/Android/Sdk/ndk/29.0.13113456 Generating Android Studio project... Info "/home/dy/develop/tauri_and_leptos/tauri-app/src-tauri" relative to "/home/dy/develop/tauri_and_leptos/tauri-app/src-tauri/gen/android/tauri_app" is "../../../" victory: Project generated successfully! Make cool apps! 🌻 🐕 🎉 dy@ak47:~/develop/tauri_and_leptos/tauri-app$ . ~/.profile dy@ak47:~/develop/tauri_and_leptos/tauri-app$ cargo tauri android init Info Using installed NDK: /home/dy/Android/Sdk/ndk/29.0.13113456 Generating Android Studio project... Info "/home/dy/develop/tauri_and_leptos/tauri-app/src-tauri" relative to "/home/dy/develop/tauri_and_leptos/tauri-app/src-tauri/gen/android/tauri_app" is "../../../" victory: Project generated successfully! Make cool apps! 🌻 🐕 🎉 lsof -i :1420 ``` - 安卓应用的开发(按照指南操作) - 安装android-studio,这一步egui、flutter、tauri都一样 - 设置环境变量 - 从镜像下载gradle(官网超时),使用本地服务器提供模拟服务 - 应用要签名 ``` export JAVA_HOME=/opt/android-studio/jbr export ANDROID_HOME="$HOME/Android/Sdk" export NDK_HOME="$ANDROID_HOME/ndk/$(ls -1 $ANDROID_HOME/ndk)" export ANDROID_SDK_ROOT="$HOME/Android/Sdk" export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin:/opt/android-studio/bin:$PATH" ``` ``` python3 -m http.server 8080 --directory /home/dy/pkg ``` - cargo tauri android init - [安卓代码签名](https://www.tauri.net.cn/252.html) 要在 Play 商店上发布,您需要使用数字证书对应用程序进行签名。 安卓使用两个签名密钥:上传和应用签名。 开发者将使用上传密钥签名的 .aab 或 .apk 文件上传到Play商店。 最终用户下载使用应用签名密钥签名的 .apk 文件。 1. 在 Mac/Linux 中,执行如下命令: ``` keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload ``` 2. 从应用程序中引用密钥库 创建一个名为 [project]/src-tauri/gen/android/keystore.properties 的文件,其中包含对你的密钥库的引用。 ``` storePassword= keyPassword= keyAlias=upload storeFile=<密钥存储文件的位置,例如 /Users//upload-keystore.jks 或 C:\\Users\\\\upload-keystore.jks> ``` 3. 从应用程序中引用密钥库。通过编辑 [project]/src-tauri/gen/android/app/build.gradle.kts 文件,配置 gradle 在发布模式下构建应用时使用您的上传密钥。 - 在文件开头添加所需的导入。 ``` import java.util.Properties + import java.io.FileInputStream ``` 2.在 buildTypes 代码块之前添加 release 签名配置。 ``` + signingConfigs { + create("release") { + val keystorePropertiesFile = rootProject.file("keystore.properties") + val keystoreProperties = Properties() + if (keystorePropertiesFile.exists()) { + keystoreProperties.load(FileInputStream(keystorePropertiesFile)) + } + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = file(keystoreProperties["storeFile"] as String) + storePassword = keystoreProperties["storePassword"] as String + } + } buildTypes { ... } ``` 3.在 buildTypes 块中的 release 配置中使用新的 release 签名配置。 ``` buildTypes { getByName("release") { + signingConfig = signingConfigs.getByName("release") } } ``` - 修改项目中的配置文件(改为本地服务) `src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties ` ``` #Tue May 10 19:22:52 CST 2022 distributionBase=GRADLE_USER_HOME #distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip distributionUrl=http\://127.0.0.1:8080/gradle-8.14.3-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME ``` - cargo tauri android build