build.gradle に次の依存関係があります。
dependencies {
compile 'com.google.guava:guava:18.0'
}
コンパイル時に機能し、出力 jar がソース コード用に生成されます (グアバ ライブラリの com.google.common.collect.Maps などのクラスを使用します)。
出力jarをdexファイルに変換するdexタスクがあります:
task dex(dependsOn: jar, type:Exec) {
project.dexDir.mkdirs()
commandLine 'dx', '--dex', '--no-strict', '--output=' + buildDir +'/dex/' + project.name + '.jar', jar.archivePath
}
問題は、出力 jar にグアバの依存関係がないことです。そのため、dex に変換され、Android デバイスにプッシュされてそこで実行されると、java.lang.ClassNotFoundException: 見つかりませんでしたクラス com.google.common が発生します。 .collect.Maps
他のソース コードから出力 jar を生成する javaCompile タスクの出力 jar に含まれる guava 依存関係を取得する方法はありますか? 事前にどうもありがとうございました!