내 앱이 프로 가우트 보호되기를 바랍니다. 이를 위해 나는 몇 가지 튜토리얼, 게시물을 통해 가서 this 포스트에서 마지막에 내가에만이 작업을 수행해야 함을 알게되었다 :Android - Proguard에서 오류 코드 1이 반환되었습니다.
If you're using ADT 17 or newer, the documentation is slightly inaccurate. The generated file is proguard-project.txt and will be in the root directory of your project.
To enable Proguard, you will need to ignore the "do not modify" warning in project.properties and uncomment the following line:
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
을 내가 서명되지 않은 응용 프로그램을 수출하려고 위의 제안 라인을 uncommeting 후. 그러나 progaurd returned error with code 1
이라고하는 내보내기 오류가 발생했습니다. 오류 대화 상자에서 세부 정보 단추를 클릭하면 다음과 같은 오류 로그가 표시됩니다.
Proguard returned with error code 1. See console
Proguard Error 1
Output:
You should check if you need to specify additional program jars.
Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [acra-
4.4.0.jar:META-INF/MANIFEST.MF])
Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry
[libGoogleAnalyticsV2.jar:META-INF/MANIFEST.MF])
Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [google-play-
services_lib.jar:META-INF/MANIFEST.MF])
Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry
[vpilibrary.jar:META-INF/MANIFEST.MF])
Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry
[abslibrary.jar:META-INF/MANIFEST.MF])
java.io.IOException: Can't write [C:\Users\SURESH\AppData\Local\Temp
\android_6223056648746329994.jar] (Can't read [C:\Users\SURESH\Desktop\ActionBarSherlock-
4.2.0\ABSlibrary\bin\abslibrary.jar] (Unexpected end of ZLIB input stream))
at proguard.OutputWriter.writeOutput(OutputWriter.java:264)
at proguard.OutputWriter.execute(OutputWriter.java:160)
at proguard.ProGuard.writeOutput(ProGuard.java:372)
at proguard.ProGuard.execute(ProGuard.java:153)
at proguard.ProGuard.main(ProGuard.java:492)
Caused by: java.io.IOException: Can't read [C:\Users\SURESH\Desktop\ActionBarSherlock-
4.2.0\ABSlibrary\bin\abslibrary.jar] (Unexpected end of ZLIB input stream)
at proguard.InputReader.readInput(InputReader.java:230)
at proguard.InputReader.readInput(InputReader.java:200)
at proguard.OutputWriter.writeOutput(OutputWriter.java:253)
... 4 more
Caused by: java.io.EOFException: Unexpected end of ZLIB input stream
at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:223)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:141)
at java.util.zip.ZipInputStream.read(ZipInputStream.java:154)
at java.util.zip.ZipInputStream.closeEntry(ZipInputStream.java:100)
at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:78)
at proguard.io.JarReader.read(JarReader.java:58)
at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)
at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)
at proguard.InputReader.readInput(InputReader.java:226)
... 6 more
왜 이런 생각입니까? 내가 제대로 progaurd를 구성하거나 단계를 놓치고 있습니까?
실제로 나는 처음으로 위의 오류가 발생했습니다. 두 번째로 내보내기를 시도 할 때 정상적으로 내보내졌고 서명 프로세스가 계속되었습니다. 서명 프로세스를 완료 한 후 기기에서 앱을 테스트하려고 시도했는데 앱이 출시 즉시 충돌했습니다. 이것은 crash http://pastebin.com/TWbjsNp3의 logcat 메시지입니다. –
@ suuresh 다른 질문입니다. SILENT 필드는 리플렉션에 의해 액세스됩니다. -keep 옵션을 사용하여 보존해야합니다. ProGuard 설명서를 참조하십시오. –
ProGuard가 처리 할 때 안드로이드 앱이 다른 안드로이드 라이브러리 프로젝트를 가리키는 경우에도 동일한 오류가 발생합니다. – Alanmars