1

一連のアクティビティ、バックグラウンドサービス、およびその他のユーティリティパッケージ(純粋なJavaで記述されている)を備えた1つのAndroidアプリケーションを開発しました。アクティビティとバックグラウンドサービスを難読化したくないが、ユーティリティパッケージ(純粋なJavaコード)を難読化する必要があります。 )、そうすることは可能ですか?はいの場合、proguard.cfgファイルでそれを有効にする方法は?

または、より正確な方法:アプリケーションはプロジェクトのlibフォルダーに追加されたいくつかの外部jarを使用しています。これらのjarのみを難読化し、残りのアプリケーションコード(アクティビティ、サービスなど)を難読化しないようにします。eclipseとproguard.cfgを使用して同じことを達成する方法は?

よろしく、Piks

4

1 に答える 1

1

proguardがアクティブ化されている場合、AndroidはEclipseで署名付きAPKを作成するときに、使用されたライブラリファイルを自動的に含めるため、これを指定する必要はありません。

アプリケーションのパッケージ名がライブラリのパッケージ名と異なる場合は、ワイルドカードを使用して、これをproguard.cfgファイルに追加するだけです。

-keepnames class com.mypackagename.** {
 *;
}

パッケージ名が同じ場合は、手作業で難読化するクラスを指定する必要があります。たとえば、

-keepnames class com.mypackagename.MyApp {
 *;
}
-keepnames class com.mypackagename.subpackage.MyClass {
 *;
}
于 2012-05-14T11:15:26.400 に答える