アンドロイドでProGuardのを使います。
質問
私は、AndroidでProGuardのを使用しようとしています。私は、次のいずれかが(私は同じ又は非常に類似しているいくつかの他のものを発見した)例であると、使用にいくつかのProGuardのののscripsを発見しました。しかし、私はこのスクリプトを使用してProGuardのを試してみて、実行したとき、私はエラーを取得します:
」の前にJavaの型を期待 ';'ファイルの23行目で... "
私は、ProGuardのには完全に新しいです。誰かがここで間違って何が起こっているか説明することができます。
感謝します。
-injars bin(!.svn/**)
-outjars obfuscated
-libraryjars C:\android-sdk_r04-windows\android-sdk-windows\platforms\android-1.6\android.jar
-libraryjars C:\GoogleAnalyticsAndroid_0.7\libGoogleAnalytics.jar
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-printmapping proguard.map
-keepattributes SourceFile,LineNumberTable
-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 com.android.vending.licensing.ILicensingService
-keepclasseswithmembernames class * {
native ;
}
-keepclasseswithmembernames class * {
public (android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembernames class * {
public (android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
解決
問題がここにあります:
native ;
にそれを変更してみてください
native <methods>;
他のヒント
私は上記のコメントとして
は、問題は、私は、スクリプトを得、そこからブログは角括弧を使って何を「食べる」ように見えたという事実から生じると思われます。私は場合に誰がそれを探して、修正されたコードを投稿するいいだろうことを決めました。次のように修正されたコードがあります:
-injars bin(!.svn/**)
-outjars obfuscated
-libraryjars C:\android-sdk\platforms\android-4\android.jar
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-printmapping proguard.map
-keepattributes SourceFile,LineNumberTable
-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 com.android.vending.licensing.ILicensingService
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
コンパイラは、実質的に問題が何であるかを語っているようです。
あなたのコンパイラが与えたエラーメッセージを見てから、それが見えます
"Expecting java type before ';' in line 23 of file ..."
私は、カウントを失ったが、この行は23行であるように見えます:
native ;
私はあなたについて知らないが、それはすべてで有効なJavaのように見えません。
所属していません StackOverflow