0

Android コードの難読化に問題があります。私は Proguard バージョン 4.7 と Eclipse を IDE として使用しています。私はこれに変更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.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * implements android.view.View.OnTouchListener
-keep class * extends android.view.View { 
  public <init>(android.content.Context); 
  public <init>(android.content.Context, android.util.AttributeSet); 
  public <init>(android.content.Context, android.util.AttributeSet, int); 
  public void set*(...); 
}
-keep class * extends android.preference.Preference { 
  public <init>(android.content.Context); 
  public <init>(android.content.Context, android.util.AttributeSet); 
  public <init>(android.content.Context, android.util.AttributeSet, int); 
  public void set*(...); 
}    
# LVL License binder class
-keep class com.android.vending.licensing.ILicensingService    
# This is necessary for LVL among others. According to proguard doc java accesses enum fields by introspection.
-keepclassmembers enum * {
  public static **[] values();
  public static ** valueOf(java.lang.String);
}
#Optimization settings
-dontoptimize

プロジェクトをコンパイルするとエラーが発生し、解決できません。エラーは次のとおりです。

Unable to execute dex: Multiple dex files define Lchangebackground/app/OnSwipeListener
Conversion to Dalvik Format failed: Unable to execute dex: Multiple dex files define Lchangebackground/app/OnSwipeListener
4

1 に答える 1

0

これは通常、ライブラリを 2 回インクルードしていること、またはクラスパスに他の問題があることを意味します。すべての jar を libs/ の下に置き、プロジェクトをクリーンアップします。同じライブラリの異なるバージョンを確認し、参照されたライブラリ プロジェクトを介してライブラリを含めます。

于 2012-05-25T05:33:56.470 に答える