2013-04-23 1 views
6

私は2つのプロジェクトProject_AとProject_Bを持っています。 Project_BはProject_Aのライブラリプロジェクトです。 Project_Bはlibsフォルダに外部jarを持っています。Proguard:Androidのライブラリプロジェクトを除外

私はProject_AでProGuardのを実行するときのように、私はエラーを取得する:エラーは、外部のjar内のファイルの存在を指し

(Unknown verification type [69] in stack map frame)) 

(Project_Bのlibsの中に存在する)

私は標準を使用していますproguard.cfgファイルをAndroid SDKに入れます。

私は "-keep class。**"を試しましたが、まだ同じエラーが発生しています。

Project_B(ライブラリプロジェクト)とそのjarファイルが難読化されないようにする方法が存在するかどうか教えてください。 ProguardをProject_Aだけで実行したいのですが、そのライブラリプロジェクトではありません。

+0

http://tools.android.com/recent/proguardimprovements。 @ http://proguard.sourceforge.net/index.html#manual/examples.html – Raghunandan

答えて

0

ProGuardはアプリケーションを適切に処理するためにクラス階層全体を必要とするため、実際にライブラリを省略することはできません。

ライブラリコードが壊れているようです。おそらく、破損しているツールで後処理されています。ツールによっては、検証情報を適切に更新しないものがあります。この情報はオプションですが、ProGuardはそれが適切に形成されることを期待しています。ライブラリーまたは後処理ツールの最新バージョンがあるかどうかを確認する必要があります。

+0

の例を確認してください。単一のjarファイルにマージするためにシェードプラグインを使用しました。同じエラーが発生しました.ProGuardは内部クラスを指しています"スタックマップフレームで未知の検証タイプ[73]"という外部ライブラリの " – nish1013

関連する問題