按下面步骤操作即可。你现在的签名文件应该是：

```text
C:\Users\sansen\release.jks
```

## 第一步：移动签名文件到项目目录

打开 **CMD**，执行：

```bat
cd /d E:\MyProject\ts-mobile-go
mkdir keystore
move C:\Users\sansen\release.jks keystore\tsmobile-release.jks
```

确认文件存在：

```bat
dir E:\MyProject\ts-mobile-go\keystore\tsmobile-release.jks
```

看到该文件后继续。

---

## 第二步：确认签名别名

执行：

```bat
keytool -list -v -keystore E:\MyProject\ts-mobile-go\keystore\tsmobile-release.jks
```

输入你刚才创建时的密钥库口令。

找到这一行：

```text
Alias name:
```

如果显示：

```text
Alias name: tsmobile
```

就使用下面的 `tsmobile`。

如果显示其他名称，后面配置时使用实际名称。

---

## 第三步：配置 Gradle 密码

打开文件：

```text
C:\Users\sansen\.gradle\gradle.properties
```

如果文件不存在，就新建它。

写入以下内容：

```properties
TSMOBILE_STORE_FILE=E:/MyProject/ts-mobile-go/keystore/tsmobile-release.jks
TSMOBILE_STORE_PASSWORD=你的密钥库口令
TSMOBILE_KEY_ALIAS=tsmobile
TSMOBILE_KEY_PASSWORD=你的密钥库口令
```

因为你创建时没有单独设置密钥密码，所以：

```properties
TSMOBILE_KEY_PASSWORD
```

和：

```properties
TSMOBILE_STORE_PASSWORD
```

填同一个口令。

注意：

- 不要加引号；
- 等号两边不要加空格；
- `TSMOBILE_KEY_ALIAS` 如果不是 `tsmobile`，改成第二步查到的别名；
- 这个文件不要提交到 Git。

例如：

```properties
TSMOBILE_STORE_FILE=E:/MyProject/ts-mobile-go/keystore/tsmobile-release.jks
TSMOBILE_STORE_PASSWORD=MyPassword123
TSMOBILE_KEY_ALIAS=tsmobile
TSMOBILE_KEY_PASSWORD=MyPassword123
```

---

## 第四步：添加 Git 忽略规则

在项目根目录创建文件：

```text
E:\MyProject\ts-mobile-go\.gitignore
```

内容写入：

```gitignore
# Release signing files
/keystore/
/*.jks
/*.keystore
```

这样 `keystore/tsmobile-release.jks` 不会被提交。

如果项目使用 Git，也可以执行：

```bat
cd /d E:\MyProject\ts-mobile-go
git status --short
```

确认没有显示：

```text
keystore/tsmobile-release.jks
```

---

## 第五步：检查签名配置

在项目根目录执行：

```bat
cd /d E:\MyProject\ts-mobile-go
android\gradlew.bat -p android signingReport
```

正确结果应该类似：

```text
Variant: release
Config: release
Store: E:\MyProject\ts-mobile-go\keystore\tsmobile-release.jks
Alias: tsmobile
```

如果看到：

```text
Store: null
Alias: null
```

说明 `gradle.properties` 没有正确读取。

如果看到：

```text
Keystore file ... not found
```

说明 `TSMOBILE_STORE_FILE` 路径写错。

---

## 第六步：构建发布版

配置确认无误后执行：

```bat
build-release.bat
```

成功后得到：

```text
E:\MyProject\ts-mobile-go\android\app\build\outputs\apk\release\app-release.apk
```

这个 APK 可以直接安装：

```bat
adb install -r android\app\build\outputs\apk\release\app-release.apk
```

同时还会生成：

```text
E:\MyProject\ts-mobile-go\android\app\build\outputs\bundle\release\app-release.aab
```

其中：

- `app-release.apk`：直接安装；
- `app-release.aab`：上传 Google Play 等应用商店，不能直接安装。

最后一定要备份：

```text
E:\MyProject\ts-mobile-go\keystore\tsmobile-release.jks
```

并记住密钥库口令。以后发布新版本必须继续使用同一个签名文件。