我目前正在尝试将旧项目从eclipse迁移到Android Studio。该项目包含一个“核心模块”(包含许多网络内容),一个Android应用程序和一个Java PC应用程序,它们都包含相互通信的核心模块。每个应用程序和核心都有自己的回购。
当使用eclipse应用程序时,PC应用程序和核心是同一工作区中的三个独立eclipse项目和两个依赖于核心项目的应用程序。
我成功地将Android应用程序移动到Android Studio,将核心移动到带有gradle的IntelliJ。 我现在尝试告诉Android Studio在构建应用时编译核心。我的文件结构如下所示:
GitHub
------\ AndroidApp
----------------\ build.gradle
----------------\ settings.gradle
----------------\ app
---------------------\ build.grale
------\ NetworkCore
----------------\ build.gradle
----------------\ settings.gradle
AndroidApp /的build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
AndroidApp / settings.gradle
include ':app', 'core'
project(':core').projectDir = new File('../NetworkCore')
AndroidApp /应用/的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
applicationId "xxxxxxxxxxx"
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:19.1.0'
compile project(':core')
}
NetworkCore /的build.gradle
group 'xxxxxxxxxx'
version '1.0-SNAPSHOT'
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}
NetworkCore / settings.gradle
rootProject.name = 'xxxxxxx'
问题
Android Studio将核心检测为模块,并正确列出左侧边栏中的所有文件。但是当编译Android Studio时,无法从核心发现类,有时甚至是app模块中的类(如Fragment类等)。
我做错了什么?非常感谢您提前:))
答案 0 :(得分:1)
您在AndroidApp/settings.gradle
文件中缺少冒号吗?
include ':app', ':core'
project(':core').projectDir = new File('../NetworkCore')