static void CopySDKFile(string targetPath) { string Path = Application.dataPath + SDKFilePath; targetPath = targetPath.Remove(targetPath.Length - 1); ToolsHelper.CopyDirToDir(Path, targetPath); }
/// <summary> /// 复制版本包 实名认证文件 /// </summary> /// <param name="targetPath"></param> static void CopyVerPackgetFile(string targetPath) { string Path = Application.dataPath + "/GameFramework/SDK/VerPackageFile"; targetPath = targetPath.Remove(targetPath.Length - 1); ToolsHelper.CopyDirToDir(Path, targetPath); }
/// <summary> /// 安卓工程整理 /// </summary> static void AndroidProjectArrangement(string TargetPath) { ToolsHelper.Log($"生成的工程路径:{TargetPath}"); string ScrPath = "src/main"; try { //把src/main/目录下jniLibs文件改成libs string JniLibsPath = Path.Combine(TargetPath, ScrPath, "jniLibs"); string JniLibsTargerPath = Path.Combine(TargetPath, ScrPath, "libs"); Directory.Move(JniLibsPath, JniLibsTargerPath); //复制src/main文件夹下所有文件到根目录 ToolsHelper.CopyDirToDir(Path.Combine(Path.Combine(TargetPath, ScrPath)), TargetPath.Remove(TargetPath.Length - 1)); //删除src/文件夹 Directory.Delete(Path.Combine(TargetPath, "src"), true); //java目录改成src目录 Directory.Move(Path.Combine(TargetPath, "java"), Path.Combine(TargetPath, "src")); //复制SDK文件 CopySDKFile(TargetPath); } catch (Exception e) { ToolsHelper.Error(e.Message); } }
/// <summary> /// 正式发布版本修改SDK文件路径和位置 /// </summary> static void ReleaseSDKFileModify(string projectPath) { ToolsHelper.Log("发布修改代码包名"); string ScriptDir = "src/"; string packgeName = PlayerSettings.GetApplicationIdentifier(BuildTargetGroup.Android); string packgeNamePath = packgeName.Replace(".", "/"); string targetDir = projectPath + ScriptDir + packgeNamePath; string SourceDir = "com/wedobest"; string SourcePath = projectPath + ScriptDir + $"{SourceDir}/u3d/demo"; //吧com/wedobest文件下的内容copy到包文件夹中 ToolsHelper.CopyDirToDir(SourcePath, targetDir); Directory.Delete(projectPath + ScriptDir + SourceDir, true); //删除生成的UnityPlayerActivity.java文件 string UnityPlayerActivityPath = targetDir + "/UnityPlayerActivity.java"; if (File.Exists(UnityPlayerActivityPath)) { File.Delete(UnityPlayerActivityPath); } //修改JAVA文件的包名 var pattern = "*"; var allFileInfo = Directory.GetFiles(targetDir, pattern, SearchOption.AllDirectories); foreach (var item in allFileInfo) { ModifyJavaFile(item); } //修改AndroidManifest string MainfestPath = projectPath + "AndroidManifest.xml"; if (File.Exists(MainfestPath)) { try { string AndroidManifest = File.ReadAllText(MainfestPath); AndroidManifest = AndroidManifest.Replace("com.wedobest.u3d.demo", packgeName); AndroidManifest = AndroidManifest.Replace("pn5tLrJ0ZG+ndHN062QzZOt1ZW2qEQAAxREAAA==", GetAppSettingInfo(4)); File.WriteAllText(MainfestPath, AndroidManifest); } catch (Exception e) { Debug.LogError(e); } } else { Debug.LogError($"未找到AndroidManifest.xml文件+{MainfestPath}"); } //修改build.gradle文件 string buildgradle = projectPath + "build.gradle"; if (File.Exists(buildgradle)) { try { string[] lines = File.ReadAllLines(buildgradle); for (int i = 0; i < lines.Length; i++) { if (lines[i].Contains("UnityAdsTest")) { lines[i] = $"//{lines[i]}"; break; } } File.WriteAllLines(buildgradle, lines); } catch (Exception e) { Debug.LogError(e); } } else { Debug.LogError($"未找到build.gradle文件+{buildgradle}"); } //修改AdsConstant.java文件 string AdsConstantPath = projectPath + "src/com/pdragon/ad/AdsConstant.java"; if (File.Exists(AdsConstantPath)) { try { string[] lines = File.ReadAllLines(AdsConstantPath); for (int i = 0; i < lines.Length; i++) { if (lines[i].Contains("public final static String BUGLY_ID")) { lines[i] = $@" public final static String BUGLY_ID=""{GetAppSettingInfo(0)}"";"; } if (lines[i].Contains("public final static String BUGLY_KEY")) { lines[i] = $@" public final static String BUGLY_KEY=""{GetAppSettingInfo(1)}"";"; } } File.WriteAllLines(AdsConstantPath, lines); } catch (Exception e) { Debug.LogError(e); } } else { Debug.LogError($"未找到AdsConstant.java文件+{AdsConstantPath}"); } //修改PrjBuild.ini文件 string PrjBuild = projectPath + "PrjBuild.ini"; if (File.Exists(PrjBuild)) { try { string[] lines = File.ReadAllLines(PrjBuild); for (int i = 0; i < lines.Length; i++) { if (lines[i].Contains("sign=")) { lines[i] = $"sign={GetAppSettingInfo(5)}"; } } File.WriteAllLines(PrjBuild, lines); } catch (Exception e) { Debug.LogError(e); } } else { Debug.LogError($"未找到PrjBuild.ini文件+{PrjBuild}"); } }