Android Studio 0.3.0 と、プレーンな古い Java ライブラリ プロジェクト、2 つの Android ライブラリ プロジェクト、および 3 つの Android アプリを含むプロジェクト フォルダーに問題があります。すべてGradleで構築されています。
問題は、Android Studio への最初のインポートが正常に機能する (Android Studio の を使用しImport Project...
てからファイルを選択するsettings.gradle
) ことですが、Gradle サイドバーの更新ボタンを押すと、「The modules below are not backed by Gradle already. ide プロジェクトからも削除するものを確認してください:」と表示され、削除するすべてのモジュールが一覧表示されます。ターミナルからすべてが正常にビルドされます。
の出力gradle projects
は(編集された名前で)です:
------------------------------------------------------------
Root project
------------------------------------------------------------
Root project 'root'
+--- Project ':android-lib1'
+--- Project ':android-app1'
+--- Project ':android-app2'
+--- Project ':android-app3'
+--- Project ':android-lib2'
\--- Project ':java-lib'
ルートフォルダーには、次のものがありますsettings.gradle
。
include ':java-lib'
include ':android-lib1'
include ':android-lib2'
include ':android-app1'
include ':android-app2'
include ':android-app3'
私build.gradle
のルートフォルダ:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
allprojects {
repositories {
mavenCentral()
ivy {
name 'repo'
artifactPattern 'http://repo.example.com:8081/artifactory/libs-release-local/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]'
credentials {
username 'example'
password 'example'
}
}
}
}
task wrapper(type: Wrapper) {
gradleVersion = '1.8'
}
build.gradle
java-lib の場合:
apply plugin: 'java'
apply plugin: 'eclipse'
compileJava.options.encoding = 'UTF-8'
group 'example'
version '0.1.0'
status 'release'
sourceCompatibility = '1.6'
targetCompatibility = '1.6'
dependencies {
compile 'com.google.protobuf:protobuf-java:2.5.0'
compile 'com.google.guava:guava:15.0'
compile 'org.slf4j:slf4j-api:1.7.5'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
uploadArchives {
repositories {
add project.repositories.repo
}
}
build.gradle
2 つの Android ライブラリの場合 (依存関係とバージョン番号を除いて、これらは同じです。
apply plugin: 'android-library'
dependencies {
compile project(':java-lib')
}
android {
compileSdkVersion 18
buildToolsVersion "18.1.1"
defaultConfig {
versionCode 1
versionName '0.1.0'
minSdkVersion 9
targetSdkVersion 18
}
}
最後にbuild.gradle
、Android アプリの場合 (これもほぼ同じです):
apply plugin: 'android'
dependencies {
compile project(':android-lib1')
compile project(':android-lib2')
}
android {
compileSdkVersion 18
buildToolsVersion "18.1.1"
defaultConfig {
versionCode 1
versionName '0.1.0'
}
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
if (project.hasProperty('storeFile')) {
android.signingConfigs.release.storeFile = file(storeFile)
}
if (project.hasProperty('storePassword')) {
android.signingConfigs.release.storePassword = storePassword
}
if (project.hasProperty('keyAlias')) {
android.signingConfigs.release.keyAlias = keyAlias
}
if (project.hasProperty('keyPassword')) {
android.signingConfigs.release.keyPassword = keyPassword
}
おそらく、Android Studio 0.3.0 のバグでしょうか? 以前のバージョンでは経験しませんでしたが、ビルド ファイルだけのものではないことを確認したいと思います。
読んでくれてありがとう!