Я хотел, чтобы мое приложение было защищено progaurd. Для этого я пошел через некоторые учебники, посты и, наконец, от 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 или пропуская шаги?
Фактически я получил вышеуказанную ошибку только в первый раз. Когда я попытался экспортировать его во второй раз, он был экспортирован нормально, и я продолжил процесс подписания. После завершения процесса подписания я попытался протестировать приложение на устройстве, и приложение сразу же сработало при запуске. это сообщение logcat при сбое http://pastebin.com/TWbjsNp3 –
@suresh Это другой вопрос. Поле SILENT доступно путем отражения. Вы должны сохранить его с помощью опции -keep. См. Руководство ProGuard. –
Я получаю ту же ошибку, если мое приложение для Android ссылается на другой проект библиотеки Android, когда ProGuard обрабатывает. – Alanmars