android:isSplitRequired、android:debuggable、
android:testOnly
。 要使重新编译正常工作,需要 aapt 的二进制文件。首次启动应用时,系统会提示您安装。如果没有,请到“设置 » 编译 » 更换工具”中下载 ... "
基本路径:/system/framework/..
它们也可以位于 /system/vendor/framework 等相邻目录中。如果这些目录存在(很少见)。然后反编译并编译为常规 apk。若要保存原始 META-INF 和清单 – 请在反编译设置中启用“匹配原始文件”。
在构建时,调试数据存储在 Smali 文件中,如 .line、.param
等。
<application />
标签里的 android:debuggable
属性值设为 true
。 通知系统它是一个调试应用程序。允许您扩展访问此应用程序的日志记录。只有在特殊工具(例如 Android Studio,以及 ADB 级别的调试等)的帮助下,才能与该函数的功能进行交互。此选项不适用于 Logcat - 如果更改此参数,系统日志中的调试条目数不会改变。 若要将此类应用程序指定为当前要调试的应用程序,请在“系统设置”的开发者选项中“调试应用”里选择它(路径可能会有所不同)。
这个问题需要作出清楚的说明。
默认情况下,resources.arsc 中的资源 ID 是按等差数列设置的。在某些情况下,它可能已损坏 - 值类型中的某些位置可能不会被填充(未占用)。
这些位置是从 APKTOOL_DUMMY 桩代码设置的,以恢复数列的完整性。这些行不被任何人使用,也不影响任何东西。
小提示:如果从 res/values/public.xml 中删除了一个资源对象,那么在构建期间,它将尝试找到一个可用空位,并在其中设置其 ID。如果没有可用位置,它将被添加到其类别中项目列表的末尾。不建议使用 Smali 中指定的对象 ID 执行此操作 - 这将会导致崩溃,因为 ID 指定的资源已移动(不再存在)。
完全删除 public.xml 将迫使 Apktool 从头开始创建一个数列 – 因为起始和结束 ID 之间没有可用空位,然后 APKTOOL_DUMMY 将不会安装到任何地方。
对 APKTOOL_DUMMY 的需求完全由用户决定。如果反编译项目在 ID 之间具有特定的结构(特别是由于自定义属性和(或)代码混淆),则也可能需要这样做。
在构建期间,DEX 和 ARSC 文件会缓存在“build”文件夹中。如果在上一次构建之后未修改资源并重新构建 apk,那么 .arsc 将不会再次创建,而是从缓存的实例中提取,因为它的哈希值是相同的(未修改)。这也适用于 Smali(DEX 文件)。通过跳过重新编译来加快 apk 的构建速度。
删除文件夹只会释放空间。之后,在下一次构建期间,.dex 和 .arsc 将“从头开始”重新创建,文件夹将被重新创建。激活此选项可使您在成功构建后自动删除文件夹。如果需要,请激活它。
true、false、%1$d/%2$d
,现在还包括矢量图形、引用等,并在自动翻译后更正一些行。 进入“设置”→“签名”,选择“创建密钥”。
签名算法:
证书 Hash 算法的长度差异(在对 apk 进行签名后)。SHA256withRSA 是最佳选择。我们默认保留它。MD5 被认为是不安全的。详细的差异可以在互联网上找到。
密钥类型:
指定存储类型。默认指定为 JKS(也可称为 .keystore)。详细的差异可以在互联网上找到。
密钥路径:
密钥的输出存储位置。文件名是自动输入的,如有需要,您可以在末尾进行更改。
别名:
密钥的别名。在导入/操作期间指定。
存储和密钥密码:
在导入/使用密钥之前,用密码保护存储和密钥本身。为了方便起见,您可以使它们完全相同。
密钥大小:
指定要读取的密钥签名的位数(长度)。默认值为2048。增加大小会增加其加密强度,但分析起来更困难(速度较慢)。使用信息几何级数设置(2、4、8、16、32、64、128、256、512、1024、2048、4096,依此类推)
有效期:
从创建日期算起,密钥的真实性到期的时间。以年为单位。
需要以下信息来通知您有关签名所有者的信息。根据需要指定:
姓名、职位、组织、城市、地区/省、国家。
点击“保存”按钮完成创建,并将密钥库放置于先前指定的路径中。
点击“创建并使用”按钮还将导入最终文件以代替用户签名。
换句话说,保持目录结构很重要!
经过必要的操作之后,我们将以 apk 扩展名存档文件。有的。
请注意!
所有向后兼容的加密都可以转换回来。这是在底部输入窗口中完成的。主屏幕 → 右上角的三点 → “设置” → “关于” → “禁用更新检查”
在目标项目“编译此项目”上面有一个下拉菜单,其中有一个 MPatcher 项目。