通常、Android Studio で jar パッケージをビルドするときは、コンパイル中に自動的に生成される構成ファイル BuildConfig.class を使用しますが、この jar パッケージを他の場所で参照すると競合が発生する可能性があるため、パッケージ化するときにこれを無視する必要があります。 .文書。
task makeJar(type: Copy) {
delete 'build/outputs/xxx.jar'
from('build/intermediates/packaged-classes/release/')
//过滤不需要的class
exclude ("BuildConfig.class")
exclude ('**/BuildConfig.class')
into('build/outputs/')
include('classes.jar')
rename ('classes.jar', 'xxx.jar')
}
makeJar.dependsOn(build)
コードを追加した後、プロジェクトをクリアしてキャッシュをクリアできます。
上記のパッケージがパッケージ化されていて、BuildConfig.class がまだ存在する場合は、プロジェクトのコンパイル時に参照されたことを意味します。次のコードを使用して問題を解決できます。
afterEvaluate {
generateReleaseBuildConfig.enabled = false
generateDebugBuildConfig.enabled = false
}
再コンパイル後、問題は完全に解決されます。