1

proguard を使い始めたばかりで、このサイトにあるファイルを proguard.cfg ファイルとして使用しました。

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

-keep パブリック クラス * android.app.Activity を拡張 -keep パブリック クラス * android.app.Application を拡張 -keep パブリック クラス * android.app.Service を拡張 -keep パブリック クラス * android.content.BroadcastReceiver を拡張 -keep パブリック クラス * 拡張android.content.ContentProvider - パブリック クラスを維持する * android.app.backup.BackupAgentHelper を拡張する - パブリック クラスを維持する * android.preference.Preference を拡張する - パブリック クラスを維持する com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames クラス * { ネイティブ ; }

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

-keepclasseswithmembers class * { public (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 クラス * android.os.Parcelable を実装 { public static final android.os.Parcelable$Creator *; }

Eclipse を使用して署名済み apk エクスポートの最終ステップに到達すると、次のエラーが表示されます。

Proguard がエラー コード 1 で返されました。コンソールを参照してください

コンソールには次のように記載されています。

Proguard がエラー コード 1 で返されました。コンソール [2012-12-27 14:23:16 - FlashActivity] java.io.FileNotFoundException: C:\Users\Liam\workspace\FlashActivity\bin\proguard.txt (システムが見つからない指定されたファイル) [2012-12-27 14:23:16 - FlashActivity] at java.io.FileInputStream.open(Native Method) [2012-12-27 14:23:16 - FlashActivity] at java.io.FileInputStream .(不明なソース) [2012-12-27 14:23:16 - FlashActivity] で java.io.FileReader.(不明なソース) [2012-12-27 14:23:16 - FlashActivity] で proguard.FileWordReader.( FileWordReader.java:39) [2012-12-27 14:23:16 - FlashActivity] プロガードで。 ConfigurationParser.parse(ConfigurationParser.java:124) [2012-12-27 14:23:16 - FlashActivity] で proguard.ProGuard.main (ProGuard.java:484)

proguard.txt出力から判断すると、appsbinフォルダーにファイルがあるはずなのに、ファイルがありません。

作成する場合、このファイルには何を含める必要がありますか?

4

4 に答える 4

3

adt 17以降、proguard構成ファイルはproguard.cfgではなくproguard-project.txtです

http://tools.android.com/recent/proguardimprovementsを参照してください

于 2012-12-27T14:34:51.503 に答える
2

Android SDK をインタラクティブandroidツールで更新してから、プロジェクトを次のように更新する必要があります。

android update project --path MyProjectDirectory

これにより、このファイルを指すように作成proguard-project.txtおよび更新されます。project.properties

于 2012-12-29T10:23:31.817 に答える
0
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt')
    }
}

minifyEnabled が false であることを確認してください

于 2015-10-22T07:22:06.110 に答える