通过ADB同步CDDA数据

林一二2023年09月13日 15:03

注意手机上可能会弹出确认信任弹框,要及时点击确认,不然命令会执行失败。

由于 Android 一系列存储限制,没法通过 adb 管理自己拥有的文件了。可能需要通过 Android file transferOpenMTP 或者 HandShaker 来管理,虽然它们复制大量小文件速度不快。

装包

adb install ~/Downloads/cdda-android-x64-*.apk

电脑→手机

删除电脑上的 .DS_Store

import os from 'os';

await $`cd "${os.homedir()}/Library/Application Support/Cataclysm" && find . -name '.DS_Store' -type f -delete`

同步电脑版存档到手机版

0

import os from 'os';

await $`adb shell rm -r /storage/emulated/0/Android/data/com.cleverraven.cataclysmdda.experimental/files/save`

await $`adb push "${os.homedir()}/Library/Application Support/Cataclysm/save" /storage/emulated/0/Android/data/com.cleverraven.cataclysmdda.experimental/files`

legacy

import os from 'os';

await $`adb shell rm -r /storage/emulated/legacy/Android/data/com.cleverraven.cataclysmdda.experimental/files/save`

await $`adb push "${os.homedir()}/Library/Application Support/Cataclysm/save" /storage/emulated/legacy/Android/data/com.cleverraven.cataclysmdda.experimental/files`

清空mod并把mac上的mod同步过去

0

import os from 'os';

let storageID = '0'
await $`adb shell rm -r /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files/mods`

await $`adb push "${os.homedir()}/Library/Application Support/Cataclysm/mods" /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files`

legacy

import os from 'os';

let storageID = 'legacy'
await $`adb shell rm -r /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files/mods`

await $`adb push "${os.homedir()}/Library/Application Support/Cataclysm/mods" /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files`

把电脑字体和设置同步到手机

0

import os from 'os';

let storageID = '0'
await $`adb shell rm -r /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files/font`;
await $`adb shell rm -r /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files/config`;

await $`adb push "${os.homedir()}/Library/Application Support/Cataclysm/font" /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files`

await $`adb push "${os.homedir()}/Library/Application Support/Cataclysm/config" /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files`

legacy

import os from 'os';

let storageID = 'legacy'
await $`adb shell rm -r /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files/font`;
await $`adb shell rm -r /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files/config`;

await $`adb push "${os.homedir()}/Library/Application Support/Cataclysm/font" /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files`
await $`adb push "${os.homedir()}/Library/Application Support/Cataclysm/config" /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files`

手机→电脑

备份手机版存档

import os from 'os';

let storageID = '0'
try {
	await $`rm -rf "${os.homedir()}/Library/Application Support/Cataclysm/save"`;
} catch {}

try {
	await $`adb pull /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files/save "${os.homedir()}/Library/Application Support/Cataclysm/save"`
} catch {
	storageID = 'legacy'
	await $`adb pull /storage/emulated/${storageID}/Android/data/com.cleverraven.cataclysmdda.experimental/files/save "${os.homedir()}/Library/Application Support/Cataclysm/save"`
}

备份手机版Mods

import os from 'os';

try {
	await $`rm -rf "${os.homedir()}/Library/Application Support/Cataclysm/mods"`;
} catch {}

await $`adb pull /storage/emulated/0/Android/data/com.cleverraven.cataclysmdda.experimental/files/mods "${os.homedir()}/Library/Application Support/Cataclysm/mods"`