不能修复的Andr​​oid Proguard的返回的错误code 1的错误 [英] Cannot fix Android Proguard Returned with error code 1 error

查看:515
本文介绍了不能修复的Andr​​oid Proguard的返回的错误code 1的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试使用ProGuard的在我的Andr​​oid应用程序只需添加

  proguard.config = $ {sdk.dir} /tool​​s/proguard/proguard-android.txt
 

我的project.properties文件,将APK导出失败的消息 Proguard的返回错误code 1

这是我的 project.properties 文件

 目标=机器人-18
android.library.reference.1 = .. / LVL
proguard.config = $ {sdk.dir} /tool​​s/proguard/proguard-android.txt
 

这是错误堆栈:

  Proguard的返回错误code 1.见控制台
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataProxy:无法找到父类或接口java.awt.datatransfer.Transferable
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.NativeClipboard:无法找到父类或接口java.awt.datatransfer.Clipboard中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:com.sun.mail.imap.protocol.IMAPSaslAuthenticator:找不到引用的类javax.security.sasl.Sasl中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:com.sun.mail.imap.protocol.IMAPSaslAuthenticator:找不到引用的类javax.security.sasl.Sasl中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:com.sun.mail.imap.protocol.IMAPSaslAuthenticator:找不到引用的类javax.security.sasl.SaslClient
    [2013年8月28日18点27分13秒 - 的MyApp]警告:com.sun.mail.imap.protocol.IMAPSaslAuthenticator:找不到引用的类javax.security.sasl.SaslClient
    [2013年8月28日18点27分13秒 - 的MyApp]警告:com.sun.mail.imap.protocol.IMAPSaslAuthenticator:找不到引用的类javax.security.sasl.SaslClient
    [2013年8月28日18点27分13秒 - 的MyApp]警告:com.sun.mail.imap.protocol.IMAPSaslAuthenticator:找不到引用的类javax.security.sasl.SaslClient
    [2013年8月28日18点27分13秒 - 的MyApp]警告:com.sun.mail.imap.protocol.IMAPSaslAuthenticator $ 1:找不到引用的类javax.security.sasl.RealmChoiceCallback
    [2013年8月28日18点27分13秒 - 的MyApp]警告:javax.activati​​on.CommandInfo:找不到引用的类java.beans.Beans中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:javax.activati​​on.CommandInfo:找不到引用的类java.beans.Beans中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.ContextStorage:找不到引用的类java.awt.Toolkit
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.ContextStorage:找不到引用的类java.awt.GraphicsEnvironment
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.ContextStorage:找不到引用的类java.awt.Toolkit
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.ContextStorage:找不到引用的类java.awt.Toolkit
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.ContextStorage:找不到引用的类java.awt.Toolkit
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.ContextStorage:找不到引用的类java.awt.GraphicsEnvironment
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.ContextStorage:找不到引用的类java.awt.GraphicsEnvironment
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.ContextStorage:找不到引用的类java.awt.GraphicsEnvironment
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DTK:找不到引用的类java.awt.datatransfer.DataFlavor中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DTK:找不到引用的类java.awt.datatransfer.DataFlavor中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DTK:找不到引用的类java.awt.datatransfer.DataFlavor中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DTK:找不到引用的类java.awt.datatransfer.DataFlavor中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DTK:找不到引用的类java.awt.datatransfer.SystemFlavorMap中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DTK:找不到引用的类java.awt.datatransfer.SystemFlavorMap中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DTK:找不到引用的类java.awt.datatransfer.SystemFlavorMap中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DTK:找不到引用的类java.awt.datatransfer.SystemFlavorMap中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DTK:找不到引用的类java.awt.datatransfer.SystemFlavorMap中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DTK:找不到引用的类java.awt.datatransfer.SystemFlavorMap中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DTK:找不到引用的类java.awt.datatransfer.SystemFlavorMap中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataProvider:找不到引用的类java.awt.datatransfer.DataFlavor中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataProvider:找不到引用的类java.awt.datatransfer.DataFlavor中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataProvider:找不到引用的类java.awt.datatransfer.DataFlavor中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataProvider:找不到引用的类java.awt.datatransfer.DataFlavor中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataProxy:找不到引用的类java.awt.datatransfer.Transferable
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataProxy:找不到引用的类java.awt.datatransfer.SystemFlavorMap中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataProxy:找不到引用的类java.awt.datatransfer.SystemFlavorMap中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataProxy:找不到引用的类java.awt.datatransfer.UnsupportedFlavorException
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataProxy:找不到引用的类java.awt.datatransfer.DataFlavor中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataProxy:找不到引用的类java.awt.datatransfer.DataFlavor中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataSnapshot:找不到引用的类java.awt.datatransfer.SystemFlavorMap中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:org.apache.harmony.awt.datatransfer.DataSource:找不到引用的类java.awt.datatransfer.DataFlavor中
    [2013年8月28日18点27分13秒 - 的MyApp]警告:有247未解析引用的类或接口。
    [2013年8月28日18点27分13秒 - 的MyApp]你可能需要指定其他的jar包(用-libraryjars)。
    [2013年8月28日18点27分13秒 - 的MyApp] java.io.IOException异常:请首先纠正上述警告。
    [2013年8月28日18点27分13秒 - 的MyApp]在proguard.Initializer.execute(Initializer.java:321)
    [2013年8月28日18点27分13秒 - 的MyApp]在proguard.ProGuard.initialize(ProGuard.java:211)
    [2013年8月28日18点27分13秒 - 的MyApp]在proguard.ProGuard.execute(ProGuard.java:86)
    [2013年8月28日18点27分13秒 - 的MyApp]在proguard.ProGuard.main(ProGuard.java:492)
 

解决方案

添加这些行ProGuard的配置文件(proguard的-android.txt)

  -keep类android.support.v4 ** {*。 }
    -dontwarn android.support.v4。**
    -dontwarn javax.activati​​on中。**
    -dontwarn javax.security。**
    -dontwarn java.awt中。**
    -libraryjars< java.home> /lib/rt.jar
    。-keep类的javax ** {*;}
    。-keep类的com.sun ** {*;}
    。-keep类米亚瓦** {*;}
    。-keep类org.apache.harmony ** {*;}
    -keep公共类邮件{*;}
    -dontshrink
 

请参阅 Proguard的故障排除

请注意,如果你使用

  proguard.config = $ {sdk.dir} /tool​​s/proguard/proguard-android.txt
 

您的配置文件是不是 ProGuard的-android.txt 在项目中的根,但在Android SDK文件夹一般ProGuard的配置文件。 如果你想使用 ProGuard的-android.txt 在你的项目的根,你必须使用

  proguard.config = ProGuard的,project.txt
 

在project.properties文件。

When I try to use proguard in my android application simply adding

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt

to my project.properties file, the APK export fails with the message Proguard Returned with error code 1

This is my project.properties file

target=android-18
android.library.reference.1=../LVL
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt

This is the error stack:

    Proguard returned with error code 1. See console
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find superclass or interface java.awt.datatransfer.Transferable
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.NativeClipboard: can't find superclass or interface java.awt.datatransfer.Clipboard
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.Sasl
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.Sasl
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.SaslClient
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.SaslClient
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.SaslClient
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.SaslClient
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator$1: can't find referenced class javax.security.sasl.RealmChoiceCallback
    [2013-08-28 18:27:13 - MyApp] Warning: javax.activation.CommandInfo: can't find referenced class java.beans.Beans
    [2013-08-28 18:27:13 - MyApp] Warning: javax.activation.CommandInfo: can't find referenced class java.beans.Beans
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.Toolkit
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.Toolkit
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.Toolkit
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.Toolkit
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.DataFlavor
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.DataFlavor
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.DataFlavor
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.DataFlavor
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProvider: can't find referenced class java.awt.datatransfer.DataFlavor
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProvider: can't find referenced class java.awt.datatransfer.DataFlavor
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProvider: can't find referenced class java.awt.datatransfer.DataFlavor
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProvider: can't find referenced class java.awt.datatransfer.DataFlavor
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find referenced class java.awt.datatransfer.Transferable
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find referenced class java.awt.datatransfer.SystemFlavorMap
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find referenced class java.awt.datatransfer.SystemFlavorMap
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find referenced class java.awt.datatransfer.UnsupportedFlavorException
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find referenced class java.awt.datatransfer.DataFlavor
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find referenced class java.awt.datatransfer.DataFlavor
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataSnapshot: can't find referenced class java.awt.datatransfer.SystemFlavorMap
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataSource: can't find referenced class java.awt.datatransfer.DataFlavor
    [2013-08-28 18:27:13 - MyApp] Warning: there were 247 unresolved references to classes or interfaces.
    [2013-08-28 18:27:13 - MyApp]          You may need to specify additional library jars (using '-libraryjars').
    [2013-08-28 18:27:13 - MyApp] java.io.IOException: Please correct the above warnings first.
    [2013-08-28 18:27:13 - MyApp]   at proguard.Initializer.execute(Initializer.java:321)
    [2013-08-28 18:27:13 - MyApp]   at proguard.ProGuard.initialize(ProGuard.java:211)
    [2013-08-28 18:27:13 - MyApp]   at proguard.ProGuard.execute(ProGuard.java:86)
    [2013-08-28 18:27:13 - MyApp]   at proguard.ProGuard.main(ProGuard.java:492)

解决方案

Add these lines to proguard config file (proguard-android.txt)

    -keep class android.support.v4.** { *; }   
    -dontwarn android.support.v4.**
    -dontwarn javax.activation.**
    -dontwarn javax.security.**
    -dontwarn java.awt.**
    -libraryjars <java.home>/lib/rt.jar
    -keep class javax.** {*;}
    -keep class com.sun.** {*;}
    -keep class myjava.** {*;}
    -keep class org.apache.harmony.** {*;}
    -keep public class Mail {*;}        
    -dontshrink

See Proguard Troubleshooting

Note that if you use

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt

Your config file isn't the proguard-android.txt in your project root but the general proguard config file in the android sdk folder. If you want to use the proguard-android.txtin your project root you have to use

proguard.config=proguard-project.txt

in project.properties file.

这篇关于不能修复的Andr​​oid Proguard的返回的错误code 1的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆