已知有2种方法。
方法:1 安装UNITY插件Localization
安装后工具在Edit->Project Settings
方法2:后处理的方式,来源Localization中的代码
回调接口IPostGenerateGradleAndroidProject
原理是拷贝Res文件到UNITY的工程里。
public class LocalizationBuildPlayerAndroid:IPostGenerateGradleAndroidProject { //资源地址 private string PlatformSourceFolder = Application.dataPath.Replace("/Assets", "") + "/PlatformSources/"; private string folderName = "AndroidLocalization" + "/"; public int callbackOrder { get; } public void OnPostGenerateGradleAndroidProject(string path) { CopyFolder (PlatformSourceFolder + folderName, path + "/"); } public static void CopyFolder(string from, string to) { if (!Directory.Exists(to)) Directory.CreateDirectory(to); // 子文件夹 foreach (string sub in Directory.GetDirectories(from)) CopyFolder(sub + "/", to + Path.GetFileName(sub) + "/"); // 文件 foreach (string file in Directory.GetFiles(from)){ try { File.Copy(file, to + Path.GetFileName(file), true); } catch (Exception ex) { Debug.LogWarning ("拷贝失败:" + ex.Message); } } } }
如果打包后无效果,需要在XML中添加了 android:label="@string/app_name"