Я создаю многомодульный проект с модулем приложения, модулем сервера и общим модулем. Когда я запускаю ./gradlew build в каталоге Lets Go root, он возвращается без каких-либо ошибок. Если я открою проект в android studio, хотя получаю некоторые странные ошибки, и мой редактор дизайна ничего не показывает из-за неправильной синхронизации c. Даже если все на вкладке syn c помечено зеленой галочкой, оно все равно выдает ошибки. Я уже сделал недействительными кэши, но это не помогает. Я пытаюсь дать как можно больше информации, поэтому следующая часть может быть немного длинной. Но я думаю, что я заказал их в том, что является наиболее или менее актуальным.
Син c ошибки:
На проекте позволяет Go:
Gradle Daemon started in 876 ms
<ij_msg_gr>Other<ij_msg_gr><ij_nav>/Users/koen/Vakken/Architecture_and_design/letsgo/LetsGo/app/build.gradle<ij_nav><i><b>project ':app': Unable to resolve all content root directories</b><eol>Details: java.lang.NullPointerException: null</i>
<ij_msg_gr>Tests model errors<ij_msg_gr><ij_nav>/Users/koen/Vakken/Architecture_and_design/letsgo/LetsGo/app/build.gradle<ij_nav><i><b>project ':app'</b><eol>Details: java.lang.NullPointerException: null</i>
CONFIGURE SUCCESSFUL in 9s
В проекте: сервер (хотя я не думаю, что это должен быть другой синтаксис c)
Task 'wrapper' not found in project ':server'.
Журнал ошибок находится на https://pastebin.com/nq6HpmGi
в gradle.properties я установил следующие переменные:
kotlin_version=1.3.61
gradle_version=3.6.1
./gradlew projects
output
Root project 'LetsGo'
+--- Project ':app'
+--- Project ':common'
\--- Project ':server'
Быстрый сброс моих файлов Gradle:
settings.gradle
include ':app', ':common', ':server'
rootProject.name='LetsGo'
build.gradle
Позволяет Go
buildscript {
...
dependencies {
// Gradle/Kotlin Core
classpath "com.android.tools.build:gradle:$gradle_version"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
...
}
}
allprojects {
group 'com.kvw.letsgo'
version '0.0.1'
repositories {
...
}
}
project(':app') {
repositories {
...
}
}
project(':server'){
repositories {
...
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
: сервер
plugins{
id 'kotlin'
id 'application'
...
}
mainClassName = "io.ktor.server.netty.EngineMain"
sourceSets {
main.kotlin.srcDirs = main.java.srcDirs = ['src']
test.kotlin.srcDirs = test.java.srcDirs = ['test']
main.resources.srcDirs = ['resources']
test.resources.srcDirs = ['testresources']
}
dependencies {
implementation project(':common')
implementation fileTree(dir: 'libs', include: ['*.jar'])
...
}
: app
plugins {
id 'com.android.application'
id 'kotlin-android'
...
}
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.kvw.letsgo.client"
minSdkVersion 23
targetSdkVersion 29
versionCode 1
versionName "1.0"
...
}
...
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
...
}
dependencies {
// Local
implementation project(':common')
implementation fileTree(dir: 'libs', include: ['*.jar'])
...
}
И, наконец, для полноты вот вывод tree LetsGo -L 2
LetsGo
├── LetsGo.iml
├── app
│ ├── app.iml
│ ├── build
│ ├── build.gradle
│ ├── libs
│ ├── proguard-rules.pro
│ └── src
├── build
│ ├── intermediates
│ └── kotlin
├── build.gradle
├── common
│ ├── build
│ ├── build.gradle
│ ├── common.iml
│ ├── libs
│ └── src
├── gradle
│ └── wrapper
├── gradle.properties
├── gradlew
├── gradlew.bat
├── local.properties
├── server
│ ├── build
│ ├── build.gradle
│ ├── resources
│ ├── server.iml
│ ├── src
│ └── test
├── settings.gradle
└── versions.gradle