mirror of
https://github.com/revanced/Apktool.git
synced 2024-08-28 18:16:41 +02:00
bug: reproduce the bug were array resources are decoded as style bag
This commit is contained in:
parent
896569a822
commit
72368fc0d4
2
.gitignore
vendored
2
.gitignore
vendored
@ -20,7 +20,7 @@ bin/
|
||||
# IntelliJ
|
||||
*.iml
|
||||
.idea/*
|
||||
/out
|
||||
**/out/
|
||||
|
||||
# Patches
|
||||
*.patch
|
@ -0,0 +1,55 @@
|
||||
package brut.androlib.decode;
|
||||
|
||||
import brut.androlib.ApkDecoder;
|
||||
import brut.androlib.BaseTest;
|
||||
import brut.androlib.TestUtils;
|
||||
import brut.androlib.res.data.ResTable;
|
||||
import brut.androlib.res.data.value.ResArrayValue;
|
||||
import brut.androlib.res.data.value.ResValue;
|
||||
import brut.common.BrutException;
|
||||
import brut.directory.ExtFile;
|
||||
import brut.util.OS;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import static junit.framework.Assert.assertTrue;
|
||||
|
||||
public class DecodeArrayTest extends BaseTest {
|
||||
|
||||
@BeforeClass
|
||||
public static void beforeClass() throws Exception {
|
||||
TestUtils.cleanFrameworkFile();
|
||||
sTmpDir = new ExtFile(OS.createTempDirectory());
|
||||
TestUtils.copyResourceDir(MissingVersionManifestTest.class, "decode/issue1994/", sTmpDir);
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void afterClass() throws BrutException {
|
||||
OS.rmdir(sTmpDir);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void decodeStringArray() throws BrutException {
|
||||
String apk = "issue1994.apk";
|
||||
ApkDecoder apkDecoder = new ApkDecoder(new File(sTmpDir + File.separator + apk));
|
||||
|
||||
ResTable resTable = apkDecoder.getResTable();
|
||||
ResValue value = resTable.getResSpec(0x7f020001).getDefaultResource().getValue();
|
||||
|
||||
assertTrue("Not a ResArrayValue. Found: " + value.getClass(), value instanceof ResArrayValue);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void decodeArray() throws BrutException {
|
||||
String apk = "issue1994.apk";
|
||||
ApkDecoder apkDecoder = new ApkDecoder(new File(sTmpDir + File.separator + apk));
|
||||
|
||||
ResTable resTable = apkDecoder.getResTable();
|
||||
ResValue value = resTable.getResSpec(0x7f020000).getDefaultResource().getValue();
|
||||
|
||||
assertTrue("Not a ResArrayValue. Found: " + value.getClass(), value instanceof ResArrayValue);
|
||||
}
|
||||
}
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user