mirror of
https://github.com/revanced/ARSCLib.git
synced 2025-04-29 22:04:25 +02:00
dump/restore signatures as slit
This commit is contained in:
parent
d41bc5857c
commit
3c6df812ee
@ -62,9 +62,9 @@ public class ApkJsonDecoder {
|
||||
if(signatureBlock == null){
|
||||
return;
|
||||
}
|
||||
apkModule.logMessage("Dumping signatures: " + ApkUtil.SIGNATURE_FILE_NAME);
|
||||
File file = toSignatureFile(outDir);
|
||||
signatureBlock.writeRaw(file);
|
||||
apkModule.logMessage("Dumping signatures ...");
|
||||
File dir = toSignatureDir(outDir);
|
||||
signatureBlock.writeSplitRawToDirectory(dir);
|
||||
}
|
||||
private void writePathMap(File dir) throws IOException {
|
||||
PathMap pathMap = new PathMap();
|
||||
@ -200,9 +200,9 @@ public class ApkJsonDecoder {
|
||||
String name = "public.xml";
|
||||
return new File(file, name);
|
||||
}
|
||||
private File toSignatureFile(File dir){
|
||||
File file = new File(dir, apkModule.getModuleName());
|
||||
return new File(file, ApkUtil.SIGNATURE_FILE_NAME);
|
||||
private File toSignatureDir(File dir){
|
||||
dir = new File(dir, apkModule.getModuleName());
|
||||
return new File(dir, ApkUtil.SIGNATURE_DIR_NAME);
|
||||
}
|
||||
private File toPathMapJsonFile(File dir){
|
||||
File file = new File(dir, apkModule.getModuleName());
|
||||
|
@ -50,14 +50,14 @@ public class ApkJsonEncoder {
|
||||
return module;
|
||||
}
|
||||
private void restoreSignatures(File dir, ApkModule apkModule){
|
||||
File file = new File(dir, ApkUtil.SIGNATURE_FILE_NAME);
|
||||
if(!file.isFile()){
|
||||
File sigDir = new File(dir, ApkUtil.SIGNATURE_DIR_NAME);
|
||||
if(!sigDir.isFile()){
|
||||
return;
|
||||
}
|
||||
logMessage("Loading signature: " + file.getName());
|
||||
logMessage("Loading signatures ...");
|
||||
ApkSignatureBlock signatureBlock = new ApkSignatureBlock();
|
||||
try {
|
||||
signatureBlock.read(file);
|
||||
signatureBlock.scanSplitFiles(sigDir);
|
||||
apkModule.setApkSignatureBlock(signatureBlock);
|
||||
} catch (IOException exception){
|
||||
logError("Failed to load signatures: ", exception);
|
||||
|
@ -101,9 +101,9 @@ import java.util.*;
|
||||
if(signatureBlock == null){
|
||||
return;
|
||||
}
|
||||
logMessage("Dumping signatures: " + ApkUtil.SIGNATURE_FILE_NAME);
|
||||
File file = new File(outDir, ApkUtil.SIGNATURE_FILE_NAME);
|
||||
signatureBlock.writeRaw(file);
|
||||
logMessage("Dumping signatures ...");
|
||||
File dir = new File(outDir, ApkUtil.SIGNATURE_DIR_NAME);
|
||||
signatureBlock.writeSplitRawToDirectory(dir);
|
||||
}
|
||||
private void writePathMap(File dir) throws IOException {
|
||||
PathMap pathMap = new PathMap();
|
||||
|
@ -45,14 +45,14 @@ public class ApkModuleXmlEncoder {
|
||||
restoreSignatures(mainDirectory);
|
||||
}
|
||||
private void restoreSignatures(File dir) throws IOException {
|
||||
File file = new File(dir, ApkUtil.SIGNATURE_FILE_NAME);
|
||||
if(!file.isFile()){
|
||||
File sigDir = new File(dir, ApkUtil.SIGNATURE_DIR_NAME);
|
||||
if(!sigDir.isFile()){
|
||||
return;
|
||||
}
|
||||
ApkModule apkModule = getApkModule();
|
||||
apkModule.logMessage("Loading signature: " + file.getName());
|
||||
apkModule.logMessage("Loading signatures ...");
|
||||
ApkSignatureBlock signatureBlock = new ApkSignatureBlock();
|
||||
signatureBlock.read(file);
|
||||
signatureBlock.scanSplitFiles(sigDir);
|
||||
apkModule.setApkSignatureBlock(signatureBlock);
|
||||
}
|
||||
private void restorePathMap(File dir) throws IOException{
|
||||
|
@ -194,6 +194,7 @@ public class ApkUtil {
|
||||
public static final String TAG_INTEGER_ARRAY = "integer-array";
|
||||
|
||||
public static final String SIGNATURE_FILE_NAME = "signatures" + ApkSignatureBlock.FILE_EXT;
|
||||
public static final String SIGNATURE_DIR_NAME = "signatures";
|
||||
|
||||
private static final int MAX_FILE_NAME_LENGTH = 50;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user