44 lines
1.5 KiB
Bash
44 lines
1.5 KiB
Bash
#!/bin/bash
|
||
# Usage: ./switch-channel.sh <channel>
|
||
# channel: googleplay | flexion | rustore
|
||
#
|
||
# 切换渠道后重新用 Unity 打 Android 包即可打出对应渠道的 APK。
|
||
# 脚本会同步:AAR、Gradle 配置、AndroidManifest、Java 文件(ConfigManager、ChannelHelpers 等)
|
||
|
||
CHANNEL=${1:-googleplay}
|
||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
CHANNEL_DIR="$SCRIPT_DIR/$CHANNEL"
|
||
PROJ_DIR="$SCRIPT_DIR/../../sdk-intergration"
|
||
|
||
TYSDK_PLUGINS="$PROJ_DIR/Packages/tysdk/Plugins/Android"
|
||
ASSETS_PLUGINS="$PROJ_DIR/Assets/Plugins/Android"
|
||
|
||
# 校验渠道目录
|
||
if [ ! -d "$CHANNEL_DIR" ]; then
|
||
echo "ERROR: Unknown channel '$CHANNEL'. Available: googleplay, flexion, rustore"
|
||
exit 1
|
||
fi
|
||
|
||
echo "=== Switching to channel: $CHANNEL ==="
|
||
|
||
# 1. Sync channel AAR to tysdk package (only tuyoosdk, gasdk stays permanently)
|
||
echo "[AAR] Syncing tuyoosdk to $TYSDK_PLUGINS"
|
||
find "$TYSDK_PLUGINS" -maxdepth 1 -name "tuyoosdk_*.aar" -delete
|
||
cp "$CHANNEL_DIR/Plugins/Android/"*.aar "$TYSDK_PLUGINS/" 2>/dev/null
|
||
|
||
# 2. Sync Gradle + Manifest to Assets/Plugins/Android
|
||
echo "[Config] Syncing gradle/manifest to $ASSETS_PLUGINS"
|
||
for f in "$CHANNEL_DIR"/*.gradle "$CHANNEL_DIR"/*.properties "$CHANNEL_DIR"/AndroidManifest.xml; do
|
||
[ -f "$f" ] && cp "$f" "$ASSETS_PLUGINS/"
|
||
done
|
||
|
||
# 3. Sync Java files to tysdk package
|
||
echo "[Java] Syncing ConfigManager + ChannelHelpers to $TYSDK_PLUGINS"
|
||
for f in "$CHANNEL_DIR"/*.java; do
|
||
[ -f "$f" ] && cp "$f" "$TYSDK_PLUGINS/"
|
||
done
|
||
|
||
echo "=== Done. Channel: $CHANNEL ==="
|
||
echo ""
|
||
echo "Next: Open Unity and build Android APK."
|