mirror of
https://github.com/revanced/ARSCLib.git
synced 2025-04-29 22:04:25 +02:00
continent method for framework
This commit is contained in:
parent
17a9e18fd2
commit
f1f6300e64
@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* Copyright (C) 2022 github.com/REAndroid
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@ -13,31 +13,32 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.reandroid.apk;
|
||||
package com.reandroid.apk;
|
||||
|
||||
import com.reandroid.archive.APKArchive;
|
||||
import com.reandroid.archive.ByteInputSource;
|
||||
import com.reandroid.archive.InputSource;
|
||||
import com.reandroid.archive.InputSourceUtil;
|
||||
import com.reandroid.arsc.chunk.PackageBlock;
|
||||
import com.reandroid.arsc.chunk.TableBlock;
|
||||
import com.reandroid.arsc.chunk.xml.AndroidManifestBlock;
|
||||
import com.reandroid.arsc.chunk.xml.ResXmlAttribute;
|
||||
import com.reandroid.arsc.chunk.xml.ResXmlElement;
|
||||
import com.reandroid.arsc.util.FrameworkTable;
|
||||
import com.reandroid.arsc.value.ValueType;
|
||||
import com.reandroid.archive.APKArchive;
|
||||
import com.reandroid.archive.ByteInputSource;
|
||||
import com.reandroid.archive.InputSource;
|
||||
import com.reandroid.archive.InputSourceUtil;
|
||||
import com.reandroid.archive2.Archive;
|
||||
import com.reandroid.arsc.chunk.PackageBlock;
|
||||
import com.reandroid.arsc.chunk.TableBlock;
|
||||
import com.reandroid.arsc.chunk.xml.AndroidManifestBlock;
|
||||
import com.reandroid.arsc.chunk.xml.ResXmlAttribute;
|
||||
import com.reandroid.arsc.chunk.xml.ResXmlElement;
|
||||
import com.reandroid.arsc.util.FrameworkTable;
|
||||
import com.reandroid.arsc.value.ValueType;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/*
|
||||
/*
|
||||
* Produces compressed framework apk by removing irrelevant files and entries,
|
||||
* basically it keeps only resources.arsc and AndroidManifest.xml
|
||||
*/
|
||||
public class FrameworkApk extends ApkModule{
|
||||
public class FrameworkApk extends ApkModule{
|
||||
private final Object mLock = new Object();
|
||||
private int versionCode;
|
||||
private String versionName;
|
||||
@ -222,12 +223,14 @@
|
||||
return getName();
|
||||
}
|
||||
public static FrameworkApk loadApkFile(File apkFile) throws IOException {
|
||||
APKArchive archive=APKArchive.loadZippedApk(apkFile);
|
||||
return new FrameworkApk(archive);
|
||||
Archive archive = new Archive(apkFile);
|
||||
APKArchive apkArchive = new APKArchive(archive.mapEntrySource());
|
||||
return new FrameworkApk(apkArchive);
|
||||
}
|
||||
public static FrameworkApk loadApkFile(File apkFile, String moduleName) throws IOException {
|
||||
APKArchive archive=APKArchive.loadZippedApk(apkFile);
|
||||
return new FrameworkApk(moduleName, archive);
|
||||
Archive archive = new Archive(apkFile);
|
||||
APKArchive apkArchive = new APKArchive(archive.mapEntrySource());
|
||||
return new FrameworkApk(moduleName, apkArchive);
|
||||
}
|
||||
public static boolean isFramework(ApkModule apkModule) {
|
||||
if(!apkModule.hasAndroidManifestBlock()){
|
||||
@ -267,4 +270,10 @@
|
||||
archive.addAll(inputSourceMap.values());
|
||||
return frameworkApk;
|
||||
}
|
||||
public static void optimize(File in, File out, APKLogger apkLogger) throws IOException{
|
||||
FrameworkApk frameworkApk = FrameworkApk.loadApkFile(in);
|
||||
frameworkApk.setAPKLogger(apkLogger);
|
||||
frameworkApk.optimize();
|
||||
frameworkApk.writeApk(out);
|
||||
}
|
||||
}
|
||||
|
@ -413,7 +413,7 @@ public class FrameworkTable extends TableBlock {
|
||||
if(headerBlock.getChunkType()!= ChunkType.TABLE){
|
||||
return super.toString();
|
||||
}
|
||||
if(!isOptimized()){
|
||||
if(!mOptimized){
|
||||
return "Unoptimized: "+super.toString();
|
||||
}
|
||||
return getFrameworkName()+'-'+getVersionCode();
|
||||
|
Loading…
x
Reference in New Issue
Block a user