最初のAndroidアプリを着用していますが、Android Studioが動作していません。最初にエラーが発生しました。
"Project with path ':wear' could not be found in project ':mobile'.
これは、"include ':wear"
にsettings.gradle
を追加することで解決しました。
しかし、新しいエラーが発生します:
"Error:Module version Test2:mobile:unspecified, configuration 'wearApp' declares a dependency on configuration 'default' which is not declared in the module descriptor for Test2:wear:unspecified" .
このエラーを解決するにはどうすればよいですか?
必要な場合に備えて:build.gradle
があります:
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.verbraeken.joost.test2"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
wearApp project(':wear')
testCompile 'junit:junit:4.12'
compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.google.Android.gms:play-services:8.3.0'
compile 'com.Android.support:design:23.1.1'
}
settings.gradle:
include ':mobile'
include ':wear'
Android Studio 3.0 新しいプラグインへの移行 のドキュメント:
dependencies {
// This is the old method and no longer works for local
// library modules:
// debugCompile project(path: ':foo', configuration: 'debug')
// releaseCompile project(path: ':foo', configuration: 'release')
// Instead, simply use the following to take advantage of
// variant-aware dependency resolution. You can learn more about
// the 'implementation' configuration in the section about
// new dependency configurations.
implementation project(':foo')
// You can, however, keep using variant-specific configurations when
// targeting external dependencies. The following line adds 'app-magic'
// as a dependency to only the 'debug' version of your module.
debugImplementation 'com.example.Android:app-magic:12.3'
}
これを変える
debugCompile project(path: ':foo', configuration: 'debug')
releaseCompile project(path: ':foo', configuration: 'release')
これに
implementation project(':foo')
エラー:モジュールバージョンTest2:mobile:unspecified、構成 'wearApp'は構成 'default'への依存関係を宣言しています
これは、モジュール(あなたの場合はwearApp)にbuild.gradle
ファイルまたはbuild.gradle
ファイル内の正しい構成がないことを意味します。
settings.gradle
でモジュールを定義するため、build.gradle
モジュールごとを指定する必要があります。
あなたの場合:
root
|-- mobile
|----build.gradle
|-- wear
|----build.gradle
|--build.gradle
|--settings.gradle
Android Studio 3.0を使用していない場合、build.gradle libでこれが機能しました:
publishNonDefault true
このような
Android {
compileSdkVersion maxApiLevel.toInteger()
buildToolsVersion androidBuildToolsVersion
publishNonDefault true
[...]
}
そして、あなたのinclude build.gradleで:
dependencies {
debugCompile project(path: ':foo', configuration: 'debug')
releaseCompile project(path: ':foo', configuration: 'release')
}
私はアプリをビルドするためにionic cordovaを使用しています。私の場合、build.gradeファイルは毎回更新されます。 "app_path> node_modules\cordova-Android\bin\templatesファイルを変更する必要があります\ cordova\lib\builders\GradleBuilder.js」から:
console.log('Subproject Path: ' + p);
var libName=p.replace(/[/\\]/g, ':').replace(name+'-','');
depsList += ' debugCompile(project(path: "' + libName + '", configuration: "debug"))';
insertExclude(p);
depsList += ' releaseCompile(project(path: "' + libName + '", configuration: "release"))';
insertExclude(p);
に:
console.log('Subproject Path: ' + p);
var libName=p.replace(/[/\\]/g, ':').replace(name+'-','');
depsList += ' compile project(\'' + libName + '\')';
insertExclude(p);
私のために働く
トリックは次のとおりです。
dependencies {
// If the main app and wearable modules have the same flavors,
// the following configuration uses automatic dependency matching.
wearApp project(':wearable')
}
現在、フレーバーやタイプビルドを設定する必要はありません。Gradle3.0以降では、各フレーバーとbuildTypeを検索します。詳細: https://developer.Android.com/studio/build/gradle-plugin-3-0-0-migration#variant_dependencies