apk 역 컴 파일 오류 Could not decode ars c file Unsupported major. minor version 51.0

2926 단어 Android
인터넷 에서 다운로드 한 apk 역 컴 파일 도구 패키지, 실행: apktool d xxx. apk 시 다음 과 같은 오류 가 발생 했 습 니 다.
Exception in thread "main" brut.androlib.AndrolibException: Could not decode ars
c file
        at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:56)
        at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibRes
ources.java:491)
        at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.jav
a:74)
        at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.jav
a:66)
        at brut.androlib.Androlib.getResTable(Androlib.java:50)
        at brut.androlib.ApkDecoder.getResTable(ApkDecoder.java:189)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:114)
        at brut.apktool.Main.cmdDecode(Main.java:146)
        at brut.apktool.Main.main(Main.java:77)
Caused by: java.io.IOException: Expected: 0x001c0001, got: 0x00000000
        at brut.util.ExtDataInput.skipCheckInt(ExtDataInput.java:48)
        at brut.androlib.res.decoder.StringBlock.read(StringBlock.java:44)
        at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:10
2)
        at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:83)
        at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:49)
        ... 8 more

인터넷 에서 해결 방법 을 찾 습 니 다. apktool. jar 를 업데이트 해 야 한다 고 해서 최신 버 전 apktool 을 찾 았 습 니 다.2.0.0rc 4. jar 를 교체 합 니 다.그리고 apktool d xxx. apk 를 다시 실행 합 니 다. 오 류 는 다음 과 같 습 니 다.
4. 567913. 다시 검색 해결 방법 은 Jdk 버 전과 새 apktool 이 호 환 되 지 않 아서 Jdk 를 업그레이드 해 야 한다 고 합 니 다.
링크 참조:http://blog.zhanghang.org/index.php/2015/01/13/apktool%E5%8F%8D%E7%BC%96%E8%AF%91%E7%9A%84%E6%8A%A5%E9%94%99/
원 어 는:
Exception in thread "main" java.lang.UnsupportedClassVersionError: brut/apktool/
Main : Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
1)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: brut.apktool.Main. Program will exit.

나 는 Jdk 를 업그레이드 한 후에 역 컴 파일 을 정상적으로 사용 할 수 있다.이로써 내 로 컬 의 역 컴 파일 설정 은:
1. Jdk 버 전: 1.8.040;
2. apktool. jar 버 전: apktool2.0.0rc4.jar

좋은 웹페이지 즐겨찾기