1

私自身のカスタムフレームワーク/ jar/SDKを使用するアンドロイドアプリケーションを開発しています。このメインパッケージ内にSDKパッケージ名がcom.vrs.fmであると仮定します。サブパッケージとクラスはN個ありません。私のアプリケーションパッケージは、歴史的な理由からcom.vrs.appです。Proguard - 外部パッケージを保持しながら内部パッケージを難読化する

私のカスタムvrs SDKでプロゴアードを有効にしている間、私はクラスcom.vrsの下にクラスを保つ必要があるので、私は以下のproguardルールを追加しました。

-dontwarn com.vrs.** 
-keep class com.vrs.** { *; } 

これにより、私のアプリケーションコードも難読化されないようにしています。

今、私は私はあなたが保持されることから、特定のサブパッケージを除外するために、除外ルールを使用することができますcom.vrs.fm

答えて

2

com.vrs.appパッケージ下のクラスが、維持するクラスを難読化できることを、どのような方法/ルールがある知っていただきたいと思います。

-keep class !com.vrs.app.**, com.vrs.** { *; } 

まだ明示的に保持する必要がcom.vrs.app内の特定の部分がある場合はそのように、必要に応じて、あなたがして、追加のキープルールを追加することができます。

-keep class com.vrs.app.xxx.yyy { xxx; } 
+0

-keepクラス!com.vrs.app。**、com.vrs。** {; } 動かない。しかし、-keepクラス!com.vrs.app。*、com.vrs。** {*; } com.vrs.appではサブクラスcom.vrs.app.XXXではなくクラスのみを難読化しています。 – vrs

+0

答えとまったく同じルールを使用しましたか?私はそれが動作しない場合は驚かれるだろう。 com.vrs.app。**を保持する可能性がある別のルールがないか確認してください。 –

+0

ええ、私は答えと同じ規則を使いました。ファイル内の他のproguardのルールがそれを止めた可能性があります。 – vrs

関連する問題