0

AndroidライブラリJARを作成しようとしていますが、自動ビルドにantを使用したいと思います。

ただし、ant releaseを使用すると、jarファイルにTargetApi.classとSuppressLint.classを含む追加のandroid/annotationフォルダーが追加されることに気付きました。これにより、jarを使用してアプリを実行しようとすると、問題が発生します。

java.lang.IllegalArgumentException: already added: Landroid/annotation/SuppressLint;

冗長に見えるこれらのクラスを追加しようとしないようにするにはどうすればよいですか?

具体的には、問題はantが私のlibにannotations.jarを含めていることであるように思われます。その後、他のプロジェクトがそのlibをインポートすると、それ自体のannotations.jarとの競合が発生します。

編集:作成するoriginal.jarにはannotations.jarクラスがありませんが、obfuscated.jarにはあるため、これはProGuard関連であると判断されました。このステップをバイパスする方法がまだわかりません。

4

1 に答える 1

0

ProGuard構成では、パッケージ名のファイルのみを保持します。

于 2012-05-01T16:50:13.683 に答える