私の解決策を見つけて、プロパティ aapt.ignore.assets を使用して、最終的な apk で不要なものを削除します。SDK r22 tools/ant/build.xml からの抜粋
<!-- 'aapt.ignore.assets' is the list of file patterns to ignore under /res and /assets.
Default is "!.svn:!.git:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
Overall patterns syntax is:
[!][<dir>|<file>][*suffix-match|prefix-match*|full-match]:more:patterns...
- The first character flag ! avoids printing a warning.
- Pattern can have the flag "<dir>" to match only directories
or "<file>" to match only files. Default is to match both.
- Match is not case-sensitive.
-->
<property name="aapt.ignore.assets" value="" />
このプロパティの意図しない副作用は、「コード生成」中にも使用され、ドローアブル ID が生成されず、proguard が文句を言うことです。構成に dontwarn を追加する必要があります。
また、これらのリソースを、リソースが使用されていないときに呼び出されない独自のクラスにラップすることもできます。それらが共通のクラスにある場合、使用されていなくても、Java 静的初期化子はそれらをリンクしようとしてクラッシュするためです。