public virtual void InitSdk(string sdk_decompiler_path, repack_tools.tool_apk_model apkinfo) { m_sdk_path = sdk_decompiler_path; m_apkinfo = apkinfo; m_sdkinfo = new repack_tools.tool_apk_model(); m_sdkinfo.DecompilerFolder = sdk_decompiler_path; m_sdkinfo.AndroidManifestPath = sdk_decompiler_path + @"\AndroidManifest.xml"; m_sdkinfo.ApktoolYml = sdk_decompiler_path + @"\apktool.yml"; m_sdkinfo.in_assets = sdk_decompiler_path + @"\assets"; m_sdkinfo.in_lib = sdk_decompiler_path + @"\lib"; m_sdkinfo.in_res = sdk_decompiler_path + @"\res"; m_sdkinfo.in_smali = sdk_decompiler_path + @"\smali"; m_sdkinfo.in_unknown = sdk_decompiler_path + @"\unknown"; m_sdkinfo.settings = new repack_tools.AndroidManifest_model(); m_AndroidManifest_doc = new XmlDocument(); m_AndroidManifest_doc.Load(m_sdkinfo.AndroidManifestPath); //获取SDK包名 m_sdkinfo.PrePackageName = m_sdkinfo.NewPackageName = m_AndroidManifest_doc.DocumentElement.Attributes["package"].Value; m_sdkinfo.settings.PackageName = apkinfo.PrePackageName; //获取权限列表 XmlNodeList nodePermissions = m_AndroidManifest_doc.DocumentElement.ChildNodes; m_sdkinfo.settings.Permissions.Clear(); for (int i = 0; i < nodePermissions.Count; i++) { if (nodePermissions[i].Name != "application") { m_sdkinfo.settings.Permissions.Add(nodePermissions[i].OuterXml); } } }
/// <summary> /// 初始化函数 /// </summary> /// <param name="apkpath">APK路径</param> /// <param name="signedapkpath">签名之后的APK存放目录</param> /// <param name="keystore">签名信息</param> public virtual void Init(string apkpath, string signedapkpath, repack_tools.tool_keystore keystore) { m_Func = new repack_tools.tool_func(); m_Func.InitApk(apkpath, signedapkpath, keystore); m_Apkpath = apkpath; m_SignedApkpath = signedapkpath; m_Keystore = keystore; }