Android proguard在导出已签名的应用程序包时返回错误代码1

Android proguard在导出已签名的应用程序包时返回错误代码1,android,Android,Proguard返回错误代码1。参见控制台 Warning: com.google.api.client.extensions.jdo.JdoDataStoreFactory$JdoValue: can't find superclass or interface javax.jdo.spi.PersistenceCapable Warning: com.google.api.client.extensions.jdo.JdoDataStoreFactory: can't find refe

Proguard返回错误代码1。参见控制台

 Warning: com.google.api.client.extensions.jdo.JdoDataStoreFactory$JdoValue: can't find superclass or interface javax.jdo.spi.PersistenceCapable
 Warning: com.google.api.client.extensions.jdo.JdoDataStoreFactory: can't find referenced class javax.jdo.PersistenceManagerFactory
 Warning: com.google.api.client.extensions.jdo.JdoDataStoreFactory: can't find referenced class javax.jdo.PersistenceManagerFactory
 Warning: com.google.api.client.extensions.jdo.JdoDataStoreFactory: can't find referenced class javax.jdo.PersistenceManagerFactory
 Warning: com.google.api.client.extensions.jdo.JdoDataStoreFactory: can't find referenced class javax.jdo.PersistenceManagerFactory
这是proguard配置文件 这是ProGuard的配置文件。

#优化:如果您不想优化,请使用 #proguard-android.txt配置文件,而不是此文件 #关闭优化标志。添加优化将引入 #某些风险,例如,并非所有优化都由 #ProGuard适用于Dalvik的所有版本。下面的旗帜将转向 #关闭已知存在问题的各种优化,但列表中可能没有 #完整的或最新的。(可以使用“算术”优化 #如果您只针对Android 2.0或更高版本,请使用。)请确保 #如果你走这条路,要彻底测试。 -优化!代码/简化/算术,!代码/简化/转换,!字段/,!类/合并/ -优化过程5 -允许访问修改 -不要翻转

# The remainder of this file is identical to the non-optimized version
# of the Proguard configuration file (except that the other file has
# flags to turn off optimization).

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose

-keepattributes *Annotation*

-keep public class javax.jdo.** { *; }
-keep interface javax.jdo.** { *; }

-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
-keep class com.android.vending.billing.**

# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames class * {
    native <methods>;
}

# keep setters in Views so that animations can still work.
# see http://proguard.sourceforge.net/manual/examples.html#beans
-keepclassmembers public class * extends android.view.View {
   void set*(***);
   *** get*();
}

# We want to keep methods in Activity that could be used in the XML attribute onClick
-keepclassmembers class * extends android.app.Activity {
   public void *(android.view.View);
}

# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

-keepclassmembers class **.R$* {
    public static <fields>;
}

# The support library contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version.  We know about them, and they are safe.
-dontwarn android.support.**
-dontwarn com.lowagie.text.pdf.**
-dontwarn javax.management.**
-dontwarn java.lang.management.**
-dontwarn org.apache.log4j.**
-dontwarn org.apache.commons.logging.**
-dontwarn org.slf4j.**
-dontwarn org.json.**
-dontwarn com.dropbox.sync.**

#Added for SDS
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService

-keep public class android.widget.Toast
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }
-keep class de.psdev.licensesdialog.** { *; }
-keep interface de.psdev.licensesdialog.** { *; }
-keep class com.googlecode.** { *; }
-keep interface com.googlecode.** { *; }
-keep class org.simpleframework.xml.** { *; }
-keep interface org.simpleframework.xml.** { *; }

-keep class com.facebook.** { *; }
-keepattributes Signature
-keep class com.softxpert.sds.frontend.activities.RecommendUsFacebookActivity

-keep class twitter4j.** { *; }

-keep class com.dropbox.ledger.** { *; }
-keep interface com.dropbox.ledger.** { *; }


#keep all classes that might be used in XML layouts
-keep public class * extends android.view.View
-keep public class * extends android.app.Fragment
-keep public class * extends android.support.v4.Fragment

#down warns for test package
 -dontwarn **CompatHoneycomb
 -dontwarn org.htmlcleaner.*
 -dontwarn org.junit.*
 -dontwarn javax.xml.stream.events.*
 -dontwarn javax.xml.stream.*
 -dontwarn javax.*
 -dontwarn org.apache.commons.logging.*
 -dontwarn javax.servlet.http.*
 -dontwarn org.opencv.*
 -dontwarn org.openid4java.**
 -dontwarn org.openid4java.message.*
 -dontwarn com.google.android.**
 -dontwarn android.support.v4.**
 -dontwarn com.google.api.client.extensions
 #ACRA specifics
# we need line numbers in our stack traces otherwise they are pretty useless
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable

# ACRA needs "annotations" so add this... 
-keepattributes *Annotation*

# keep this class so that logging will show 'ACRA' and not a obfuscated name like 'a'.
# Note: if you are removing log messages elsewhere in this file then this isn't necessary
-keep class org.acra.ACRA {
    *;
}

# keep this around for some enums that ACRA needs
-keep class org.acra.ReportingInteractionMode {
    *;
}

-keepnames class org.acra.sender.HttpSender$** {
    *;
}

-keepnames class org.acra.ReportField {
    *;
}

# keep this otherwise it is removed by ProGuard
-keep public class org.acra.ErrorReporter
{
    public void addCustomData(java.lang.String,java.lang.String);
    public void putCustomData(java.lang.String,java.lang.String);
    public void removeCustomData(java.lang.String);
}

# keep this otherwise it is removed by ProGuard
-keep public class org.acra.ErrorReporter
{
    public void handleSilentException(java.lang.Throwable);
}
#此文件的其余部分与未优化版本相同
#Proguard配置文件(除了另一个文件
#关闭优化的标志)。
-dontusemixedcaseclassnames
-DontskipnonPublicLibraryClass
-冗长的
-keepattributes*注释*
-保持公共类javax.jdo.*{*;}
-保持接口javax.jdo.*{*;}
-保持公共类com.google.vending.licensing.ILicensingService
-保持公共类com.android.vending.licensing.ILicensingService
-保留com.android.vending.billing类**
#有关本机方法,请参见http://proguard.sourceforge.net/manual/examples.html#native
-KeepClassSwithMemberNames类*{
本地人;
}
#在视图中保留setter,以便动画仍然可以工作。
#看http://proguard.sourceforge.net/manual/examples.html#beans
-keepclassmembers公共类*扩展了android.view.view{
无效集*(***);
***得到*();
}
#我们希望在活动中保留可以在XML属性onClick中使用的方法
-keepclassmembers类*扩展了android.app.Activity{
public void*(android.view.view);
}
#有关枚举类,请参见http://proguard.sourceforge.net/manual/examples.html#enumerations
-keepclassmembers枚举*{
公共静态**[]值();
公共静态**valueOf(java.lang.String);
}
-keep class*实现android.os.Parcelable{
公开静态最终android.os.Parcelable$Creator*;
}
-keepclassmembers类**.R$*{
公共静态;
}
#支持库包含对较新平台版本的引用。
#如果此应用程序链接的是较旧的应用程序,请不要警告这些问题
#平台版本。我们知道他们,他们是安全的。
-dontwarn android.support**
-dontwarn com.lowagie.text.pdf**
-dontwarn javax.management**
-dontwarn java.lang.management**
-dontwarn org.apache.log4j**
-dontwarn org.apache.commons.logging**
-dontwarn org.slf4j**
-dontwarn org.json**
-dontwarn com.dropbox.sync**
#添加SDS
-keep public class*扩展android.app.Activity
-keep public class*扩展android.app.Application
-keep public class*扩展了android.app.Service
-keep public class*扩展了android.content.BroadcastReceiver
-keep public class*扩展了android.content.ContentProvider
-keep public class*扩展了android.app.backup.BackupAgentHelper
-keep public class*扩展了android.preference.preference
-保持公共类com.android.vending.licensing.ILicensingService
-保持公共类android.widget.Toast
-keep class android.support.v4.app.*{*;}
-保留android.support.v4.app接口。**{*;}
-保持类com.actionbarsherlock.*{*;}
-保留接口com.actionbarsherlock.*{*;}
-保持类de.psdev.licensesdialog.*{*;}
-保持接口de.psdev.licensesdialog.*{*;}
-保留类com.googlecode.*{*;}
-保留接口com.googlecode.*{*;}
-保持类org.simpleframework.xml.*{*;}
-保持接口org.simpleframework.xml.*{*;}
-保持类com.facebook.*{*;}
-保留署名
-保持类com.softxpert.sds.frontend.activities.RecommendUsFacebookActivity
-保持类twitter4j.*{*;}
-保持类com.dropbox.ledger.*{*;}
-保留接口com.dropbox.ledger.*{*;}
#保留XML布局中可能使用的所有类
-keep public class*扩展了android.view.view
-keep public class*扩展了android.app.Fragment
-keep public class*扩展了android.support.v4.Fragment
#测试包的关闭警告
-唐特沃恩**
-dontwarn org.htmlcleaner*
-dontwarn org.junit*
-dontwarn javax.xml.stream.events*
-dontwarn javax.xml.stream*
-DontwarnJavax*
-dontwarn org.apache.commons.logging*
-dontwarn javax.servlet.http*
-dontwarn org.opencv*
-dontwarn org.openid4java**
-dontwarn org.openid4java.message*
-dontwarn com.google.android**
-dontwarn android.support.v4**
-dontwarn com.google.api.client.extensions
#ACRA细节
#我们需要在堆栈跟踪中使用行号,否则它们将毫无用处
-重命名SourceFileAttribute源文件
-keepattributes源文件,LineNumberTable
#ACRA需要“注释”,所以添加此。。。
-keepattributes*注释*
#保留该类,以便日志记录将显示“ACRA”,而不是像“a”这样的模糊名称。
#注意:如果要删除此文件中其他位置的日志消息,则不需要这样做
-保持类org.acra.acra{
*;
}
#为ACRA需要的一些枚举保留此项
-保持类org.acra.ReportingInteractionMode{
*;
}
-keepnames类org.acra.sender.HttpSender$**{
*;
}
-keepnames类org.acra.ReportField{
*;
}
#保留此文件,否则ProGuard会将其删除
-保持公共类org.acra.ErrorReporter
{
public void addCustomData(java.lang.String、java.lang.String);
公共数据(java.lang.String、java.lang.String);
public void removeCustomData(java.lang.String);
}
#保留此文件,否则ProGuard会将其删除
-保持公共类org.acra.ErrorReporter
{
public void handleSilentException(java.lang.Throwable);
}

在项目的
proguard项目中
-injars libs/jdo-1.0.0.jar