Proguard找不到引用的com.google.ads.internal.state.AdState类

时间:2012-10-23 22:20:09

标签: java android eclipse admob proguard

好的家伙,所以在导出/

时尝试让我的项目工作变得非常烦人

Progaurd一直给我这个错误:

Proguard returned with error code 1. See console

以下是我在控制台中收到的完整错误:

 Warning: com.google.ads.m: can't find referenced class com.google.ads.internal.state.AdState
[2012-10-23 18:14:20 - com.fttech.monkey_toss.Menu] Warning: com.google.ads.m: can't find referenced class com.google.ads.internal.state.AdState

[2012-10-23 18:14:20 - com.fttech.monkey_toss.Menu]       You should check if you need to specify additional program jars.

[2012-10-23 18:14:20 - com.fttech.monkey_toss.Menu] Warning: there were 2 unresolved references to classes or interfaces.

[2012-10-23 18:14:20 - com.fttech.monkey_toss.Menu]          You may need to specify additional library jars (using '-libraryjars').

[2012-10-23 18:14:20 - com.fttech.monkey_toss.Menu] java.io.IOException: Please correct the above warnings first.

[2012-10-23 18:14:20 - com.fttech.monkey_toss.Menu]     at proguard.Initializer.execute(Initializer.java:321)
[2012-10-23 18:14:20 - com.fttech.monkey_toss.Menu]     at proguard.ProGuard.initialize(ProGuard.java:211)
[2012-10-23 18:14:20 - com.fttech.monkey_toss.Menu]     at proguard.ProGuard.execute(ProGuard.java:86)
[2012-10-23 18:14:20 - com.fttech.monkey_toss.Menu]     at proguard.ProGuard.main(ProGuard.java:492)

有谁知道如何解决这个问题?

编辑:

这是我的proguarg-project.txt

# 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/deve ... guard.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 *;
#}
#admob, uncomment if using:
-keep public class com.admob.android.ads.** {*;}

# google analytics, uncomment if using:
#-keep class com.google.android.apps.analytics.PipelinedRequester$Callbacks

# google inapp billing, uncomment if using:
#-keep class com.android.vending.billing.**

# Box2D
-keep public class com.badlogic.** {*;} 

编辑:

这是我的新错误:

    java.io.IOException: Can't read [C:\Users\a\workspace2\AndEngine\bin\andengine.jar] (Can't process class [org/andengine/ui/activity/SimpleBaseGameActivity.class] (Unexpected end of ZLIB input stream))
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.InputReader.readInput(InputReader.java:230)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.InputReader.readInput(InputReader.java:200)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.InputReader.readInput(InputReader.java:178)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.InputReader.execute(InputReader.java:78)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.ProGuard.readInput(ProGuard.java:196)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.ProGuard.execute(ProGuard.java:78)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.ProGuard.main(ProGuard.java:492)
[2012-10-23 23:47:02 - Monkey Toss_New] Caused by: java.io.IOException: Can't process class [org/andengine/ui/activity/SimpleBaseGameActivity.class] (Unexpected end of ZLIB input stream)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.io.ClassReader.read(ClassReader.java:112)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.io.JarReader.read(JarReader.java:65)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.InputReader.readInput(InputReader.java:226)
[2012-10-23 23:47:02 - Monkey Toss_New]     ... 6 more
[2012-10-23 23:47:02 - Monkey Toss_New] Caused by: java.lang.RuntimeException: Unexpected end of ZLIB input stream
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.classfile.io.RuntimeDataInput.readInt(RuntimeDataInput.java:136)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:77)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
[2012-10-23 23:47:02 - Monkey Toss_New]     at proguard.io.ClassReader.read(ClassReader.java:91)
[2012-10-23 23:47:02 - Monkey Toss_New]     ... 11 more

1 个答案:

答案 0 :(得分:28)

此问题始于AdMob SDK 6.1.0和6.2.1(适用于Android)。 要修复错误,请将其添加到proguard.cfg文件中:

-dontwarn com.google.ads.**

来源:https://groups.google.com/d/msg/google-admob-ads-sdk/JllLSIXWtBk/ioXzTWKoYgMJ