【问题标题】:Android Proguard error with Google Drive APIGoogle Drive API 的 Android Proguard 错误
【发布时间】:2013-10-07 07:37:00
【问题描述】:

我声明在我的项目中使用 Google Drive API。如果我使用调试密钥库在手机上运行该项目,一切正常。

当我尝试创建签名的 APK 时,proguard 向我抛出以下错误

[2013-10-07 12:59:01 - My Project] Proguard returned with error code 1. See console
[2013-10-07 12:59:01 - My Project] Proguard returned with error code 1. See console
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find superclass or interface java.awt.datatransfer.Transferable
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.NativeClipboard: can't find superclass or interface java.awt.datatransfer.Clipboard
[2013-10-07 12:59:01 - My Project] Warning: javax.activation.CommandInfo: can't find referenced class java.beans.Beans
[2013-10-07 12:59:01 - My Project] Warning: javax.activation.CommandInfo: can't find referenced class java.beans.Beans
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.Toolkit
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.DataFlavor
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.TextFlavor: can't find referenced class java.awt.datatransfer.DataFlavor
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.TextFlavor: can't find referenced class java.awt.datatransfer.DataFlavor
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.TextFlavor: can't find referenced class java.awt.datatransfer.SystemFlavorMap
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.TextFlavor: can't find referenced class java.awt.datatransfer.SystemFlavorMap
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.TextFlavor: can't find referenced class java.awt.datatransfer.SystemFlavorMap
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.TextFlavor: can't find referenced class java.awt.datatransfer.SystemFlavorMap
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.TextFlavor: can't find referenced class java.awt.datatransfer.SystemFlavorMap
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.TextFlavor: can't find referenced class java.awt.datatransfer.DataFlavor
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.TextFlavor: can't find referenced class java.awt.datatransfer.SystemFlavorMap
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.TextFlavor: can't find referenced class java.awt.datatransfer.SystemFlavorMap
[2013-10-07 12:59:01 - My Project] Warning: org.apache.harmony.awt.datatransfer.TextFlavor: can't find referenced class java.awt.datatransfer.DataFlavor
[2013-10-07 12:59:01 - My Project]       You should check if you need to specify additional program jars.
[2013-10-07 12:59:01 - My Project] Warning: there were 224 unresolved references to classes or interfaces.
[2013-10-07 12:59:01 - My Project]          You may need to specify additional library jars (using '-libraryjars').
[2013-10-07 12:59:01 - My Project] java.io.IOException: Please correct the above warnings first.
[2013-10-07 12:59:01 - My Project]  at proguard.Initializer.execute(Initializer.java:321)
[2013-10-07 12:59:01 - My Project]  at proguard.ProGuard.initialize(ProGuard.java:211)
[2013-10-07 12:59:01 - My Project]  at proguard.ProGuard.execute(ProGuard.java:86)
[2013-10-07 12:59:01 - My Project]  at proguard.ProGuard.main(ProGuard.java:492)

我也尝试将以下内容添加到 proguard-project.txt

-dontwarn org.apache.harmony.**
-dontwarn javax.activation.**

如果我添加上面的,APK 被创建,但 APP 在启动时崩溃

谁能帮帮我!

【问题讨论】:

    标签: android proguard


    【解决方案1】:

    您正在引用不属于 Android 运行时的类。删除引用它们的类,或者如果您只想抑制警告,请尝试添加

    -dontwarn java.awt.**,java.beans.** 到你的 proguard 配置中。

    ProGuard Troubleshooting Guide 中的其他信息。

    【讨论】:

    • 如果我们使用这个,APK会被创建..但是在我们安装之后..应用崩溃了!
    • 你在使用 javamail 吗?如果是这样,请参阅此处:stackoverflow.com/questions/5434699/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 2021-11-10
    • 2018-06-09
    • 2019-11-24
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多