また、さまざまなオプションのモジュールのコンパイルで問題が発生しました。
私が見つけたもの:
Gradle 3.0.1以降、publishNonDefault true
libのbuild.gradle
ファイルに追加する必要がないようです。
クラスを逆コンパイルした後、BaseExtension
これが見つかりました:
public void setPublishNonDefault(boolean publishNonDefault) {
this.logger.warn("publishNonDefault is deprecated and has no effect anymore. All variants are now published.");
}
そして代わりに:
dependencies {
...
Compile project(path: ':lib', configuration: 'config1Debug')
}
以下を使用する必要があります。
dependencies {
...
implementation project(':lib')
}
重要なことは、にconfigurations {...}
パーツを追加することだけbuild.gradle
です。
したがって、アプリのbuild.gradle
ファイルの最後のバリアントは次のとおりです。
buildTypes {
debug {
...
}
release {
...
}
}
flavorDimensions "productType", "serverType"
productFlavors {
Free {
dimension "productType"
...
}
Paid {
dimension "productType"
...
}
Test {
dimension "serverType"
...
}
Prod {
dimension "serverType"
...
}
}
configurations {
FreeTestDebug
FreeTestRelease
FreeProdDebug
FreeProdRelease
PaidTestDebug
PaidTestRelease
PaidProdDebug
PaidProdRelease
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation project(':lib')
...
}
また、フィルターバリアントを使用して、ビルドバリアントを制限できます。
Psは次のsettings.gradle
ようにファイルにモジュールを含めることを忘れないでください:
include ':app'
include ':lib'
project(':lib').projectDir = new File('app/libs/lib')
3.4.2
バージョンにアップグレードし、最新にグラドルします、5.5.1
それでもコンパイル時に失敗した、またはリソースリンクが aaptで失敗した、またはライブラリ内のシンボルを見つけることができませんモジュール