2013-07-19 13 views
18

私のアンドロイドプロジェクトでJoda time APIを使用しましたが、 "Proguardがエラーコード1で返されました"というエラーを示す署名付きapkをエクスポートするとプロジェクトがコンパイルされませんでした。以下、」コンソールを参照してください誰もがこの上で私を助けることができるAndroid - ProguardがJoda Time jarファイルでコンパイルされなかった

[2013-07-20 00:50:25 - CC] Proguard returned with error code 1. See console 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.DateMidnight: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.DateTime: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.DateTimeZone: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.DateTimeZone: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Days: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Days: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Duration: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Hours: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Hours: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Instant: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.LocalDate: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.LocalDate: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.LocalDateTime: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.LocalDateTime: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.LocalTime: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.LocalTime: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Minutes: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Minutes: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.MonthDay: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.MonthDay: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Months: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Months: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.MutableDateTime: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.MutableDateTime: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.MutablePeriod: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Period: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Seconds: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Seconds: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Weeks: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Weeks: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.YearMonth: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.YearMonth: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Years: can't find referenced class org.joda.convert.FromString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.Years: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.base.AbstractDuration: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.base.AbstractInstant: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC] Warning: org.joda.time.base.AbstractPeriod: can't find referenced class org.joda.convert.ToString 
[2013-07-20 00:50:25 - CC]  You should check if you need to specify additional program jars. 
[2013-07-20 00:50:25 - CC] Warning: there were 37 unresolved references to classes or interfaces. 
[2013-07-20 00:50:25 - CC]   You may need to specify additional library jars (using '-libraryjars'). 
[2013-07-20 00:50:25 - CC] java.io.IOException: Please correct the above warnings first. 
[2013-07-20 00:50:25 - CC] at proguard.Initializer.execute(Initializer.java:321) 
[2013-07-20 00:50:25 - CC] at proguard.ProGuard.initialize(ProGuard.java:211) 
[2013-07-20 00:50:25 - CC] at proguard.ProGuard.execute(ProGuard.java:86) 
[2013-07-20 00:50:25 - CC] at proguard.ProGuard.main(ProGuard.java:492) 

は私proguard.cfgファイルが

-optimizationpasses 5 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-verbose 
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 

-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 

-keepclasseswithmembernames class * { 
    native <methods>; 
} 

-keepclasseswithmembers class * { 
    public <init>(android.content.Context, android.util.AttributeSet); 
} 

-keepclasseswithmembers class * { 
    public <init>(android.content.Context, android.util.AttributeSet, int); 
} 

-keepclassmembers class * extends android.app.Activity { 
    public void *(android.view.View); 
} 

-keepclassmembers enum * { 
    public static **[] values(); 
    public static ** valueOf(java.lang.String); 
} 

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

、のように見える、エラーログのですか?私は私のアプリを公開する必要があります。 解決策が評価されます。ありがとうございます。 ここで、ポストに基づいて

答えて

9

https://plus.google.com/112998433182673852267/posts/ApBBBjv9szw

実際に何が起こっているが、実際にジョダ-時間-2.0.jarにクラスファイルとして存在しない注釈で不足している「FromString」クラスということです。欠落している注釈クラスファイルがコンパイルに影響を及ぼさないと主張するものがありますが、正しいとは言えますが、これが正式にどこに記載されているのか分かりません。

プロジェクトのビルドパスにhttp://joda-convert.sourceforge.net/を追加する必要があります。

+0

こんにちは@Morrisonチャン、 .1 jarファイルの場合でも、この問題は存在します。今31の警告が減りました。これについて私を助けてくれますか? – Amarnath

+0

@Amarnath別の問題(警告/エラー)がある場合は、別の質問をした方がよいでしょう。それ以外の場合は質問を更新してください。 –

+0

こんにちは@モーリソンチャン、私は答えとして、最終的なエラーログを以下に追加しました。これについても私を助けてくれますか? – Amarnath

43

欠落しているクラスが必要とされていない場合は、警告を抑制することができます:私はジョダコンバート-1.3と付け加えた

-dontwarn org.joda.convert.** 

ProGuardのマニュアルを参照してください>トラブルシューティング>Warning: can't find referenced class

+0

こんにちは@Eric Lafortune、私は上記のコードを使用する必要があります。 project.propertiesまたはproguard.cfg? – Amarnath

+0

こんにちは@エリックLafortune、今私は構築することができます。アプリを実行しているときにアクションバーのsherlockにエラーが表示されます。 – Amarnath

+0

こんにちは、私は構築し、正常にprjを実行することができます。ご協力ありがとうございました。私はproguardファイルにアクションバーのsherlock suportコードを追加しました。 – Amarnath

関連する問題