2015-02-18 2 views
2

При экспорте моего приложения для Android от Eclipse IDE, я получаю сообщение об ошибке, как показано ниже:Proguard вернулся с кодом ошибки 1. См консоль java.io.IOException

Proguard returned with error code 1. See console 
Warning: library class android.net.http.AndroidHttpClient extends or implements program class org.apache.http.client.HttpClient 
     You should check if you need to specify additional program jars. 
Warning: there were 1 instances of library classes depending on program classes. 
      You must avoid such dependencies, since the program classes will 
      be processed, while the library classes will remain unchanged. 
java.io.IOException: Please correct the above warnings first. 
    at proguard.Initializer.execute(Initializer.java:321) 
    at proguard.ProGuard.initialize(ProGuard.java:211) 
    at proguard.ProGuard.execute(ProGuard.java:86) 
    at proguard.ProGuard.main(ProGuard.java:492) 

project.properties

# This file is automatically generated by Android Tools. 
# Do not modify this file -- YOUR CHANGES WILL BE ERASED! 
# 
# This file must be checked in Version Control Systems. 
# 
# To customize properties used by the Ant build system edit 
# "ant.properties", and override values to adapt the script to your 
# project structure. 
# 
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): 
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt:proguard-google-api-client.txt 

# Project target. 
target=android-21 

ProGuard-проект

# To enable ProGuard in your project, edit project.properties 
# to define the proguard.config property as described in that file. 
# 
# Add project specific ProGuard rules here. 
# By default, the flags in this file are appended to flags specified 
# in ${sdk.dir}/tools/proguard/proguard-android.txt 
# You can edit the include path and order by changing the ProGuard 
# include property in project.properties. 
# 
# For more details, see 
# http://developer.android.com/guide/developing/tools/proguard.html 

# Add any project specific keep options here: 

# If your project uses WebView with JS, uncomment the following 
# and specify the fully qualified class name to the JavaScript interface 
# class: 
#-keepclassmembers class fqcn.of.javascript.interface.for.webview { 
# public *; 
#} 
-dontwarn com.google.android.gms.** 
-dontwarn javax.jdo.** 
-dontwarn com.google.api.client.googleapis.extensions.android.gms.** 
-dontwarn org.apache.commons.** 
-dontwarn org.ietf.jgss.** 
-dontnote 

Я добавил dontwarn и dontnote заявления в proguard confing file с этим я разрешил несколько предупреждений, но не смог решить оставшуюся проблему. Пожалуйста, помогите мне решить эту проблему. Спасибо.

+0

вы можете показать свойства проекта файл конфигурации для Proguard? – Opiatefuchs

+0

см. Отредактированный вопрос для получения дополнительной информации @Opiatefuchs – AndyN

+0

:), извините, и, пожалуйста, текстовый файл proguard, извините, на данный момент я забыл, как правильное имя файла .. – Opiatefuchs

ответ

0

Поскольку этот вопрос из-за библиотеки класса android.net.http.AndroidHttpClient и org.apache.http.client.HttpClient, я добавил -dontwarn заявления для обоих классов библиотеки для Proguard-файл проекта. что я добавил:

-keep class org.apache.http.** { *; } 
-dontwarn org.apache.http.* 
-dontwarn android.net.http.* 

и все готово. Спасибо вам всем за помощь в этом.

0

Я также столкнулся с этой проблемой. Исправьте очистку проекта и его экспорт.

+1

Я пробовал это, прежде чем спрашивать здесь. Не работает для меня вообще. – AndyN

1

Добавьте это в файл ProGuard-проекта:

-keep class org.apache.http.** { *; } 
    -dontwarn org.apache.http.* 

Затем вернуться, если до сих пор существует ошибки.

+0

Получение 'proguard.ParseException: ожидание типа java до ';'' ошибка в строке '-keep class org.apache.http.** {; } ' – AndyN

+0

Устранена ошибка parseException, заменив'; 'на' *; ', но снова получив ту же ошибку, что и в вопросе. – AndyN

+0

тоже после чистого проекта? – Opiatefuchs

3

Вам просто нужно добавить код ниже в код проекта proguard-project.txt файл.

-dontwarn ["error package name or Error file path here"] 

пример как:

-dontwarn com.example.media.* 

и если у вас есть больше (безумные) ошибки приходят, то просто добавьте

-dontskipnonpubliclibraryclassmembers 

Может быть, это полезно для вас.

1

угождают использованы комментарии перед данным кодом сильфона proguard.config = $ {sdk.dir} /tools/proguard/proguard-android.txt:proguard-project.txt:proguard-google-api-client. TXT

в файле project.properties

+0

использовал комментарии, если ваш proguard.config = $ {sdk.dir} /tools/proguard/proguard-android.txt:proguard-project.txt:proguard-google-api-client.txt – Hemant

Смежные вопросы