0

パーセラー ライブラリを使用するプロジェクトをミニファイしようとすると、 proguardからの多くの警告のためにリリース apk をビルドできません。例えば:

警告: org.parceler.transfuse.gen.FilerResourceWriter: 参照されているクラス javax.tools.FileObject が見つかりません

私は、このメッセージで報告されたライブラリのほとんどを利用していません。私が知りたいのは、誰かがこの問題に遭遇して解決できたかどうかです。-dontwarn を使用してすべてのメッセージを抑制しようとしましたが、正しくないようです。さらに、まれにアプリがクラッシュすることもあります (これにより、警告メッセージの一部は実際に正しいと思いますが、ライブラリが必要です)必要なクラスを自動的に保持します)。

私のgradleスクリプトは次のとおりです。

apply plugin: 'com.android.application'

...

dependencies {
    ...
    compile 'org.parceler:parceler:1.0.3'
}
4

1 に答える 1

1

Parceler をランタイムの依存関係として含めているため、Proguard からこのエラーが表示されます。Parceler は、2 つの別個のライブラリとしてプロジェクトに含めるように設計されています。注釈プロセッサと API。Gradle を実行している場合、ビルド スクリプトは次のようになります。

compile "org.parceler:parceler-api:1.0.3"
apt "org.parceler:parceler:1.0.3"

パーセラーを取得するを参照してください。

apt はandroid-apt pluginです。第二に、提供されたスコープの下で実行することもできます。

最終的に、ビルド スクリプトは次のようになります。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        // replace with the current version of the Android plugin
        classpath 'com.android.tools.build:gradle:1.3.0'
        // the latest version of the android-apt plugin
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'

...

dependencies {
    ...
    compile "org.parceler:parceler-api:1.0.3"
    apt "org.parceler:parceler:1.0.3"
}
于 2015-09-01T01:33:28.843 に答える