Eclipse에서 프로젝트를 마이그레이션하려고하는데 시도한 것이 아무것도 없습니다. 이클립스에는 3 개의 프로젝트 (2 개의 안드로이드 앱 프로젝트 및 1 개의 안드로이드 라이브러리 프로젝트)가 있습니다. 2 개의 앱 프로젝트는 라이브러리 프로젝트에 따라 다릅니다. gradle 내보내기를 수행하면 작동하지 않는 3 개의 프로젝트가 생성됩니다. 프로젝트를 재구성 할 수는 있지만 어떻게 해야하는지에 대한 문서를 찾지 못했습니다.
이클립스 익스포트에서 3 개의 프로젝트를 함께 작동시키는 방법이 있습니까? 내가 구조 조정을하는 것이 더 낫습니까? 그렇다면 어떻게 해야하는지에 대한 문서가 있습니까?
최신 정보
전체 프로젝트를 GitHub https://github.com/respectTheCode/android-studio-library-example에 업로드했습니다.
업데이트 1
Padma Kumar의 제안을 바탕으로 이것이 내가 시도한 것입니다.
- 라는 새 프로젝트를 만듭니다
MyApp - 을 클릭
File > New Module하고 선택Android Library하고 이름을 지정하십시오.MyLib - 딸깍 하는 소리
Build > Make Project
이 오류로 빌드가 실패합니다
Module "MyLib" was fully rebuilt due to project configuration/dependencies changes
Compilation completed with 1 error and 0 warnings in 19 sec
1 error
0 warnings
/.../MyApp/MyLib/build/bundles/debug/AndroidManifest.xml
Gradle: <manifest> does not have package attribute.
그런 다음 package매니페스트에 속성을 추가하여 만들었습니다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mylib" >
빌드 후이 오류가 발생합니다
Module "MyApp" was fully rebuilt due to project configuration/dependencies changes
Compilation completed with 2 errors and 0 warnings in 13 sec
2 errors
0 warnings
/.../MyApp/MyLib/src/main/java/com/example/mylib/MainActivity.java
Gradle: package R does not exist
Gradle: package R does not exist
종속성을 추가해도 오류에 영향을 미치지 않는 것 같습니다. 위에서 계속
- 딸깍 하는 소리
File > Project Structure > Modules > MyApp-MyApp Dependencies탭으로 전환- 클릭
+ > Module Dependency하여 선택MyLib - 클릭
Apply하고OK - 딸깍 하는 소리
Build > Make Project
업데이트 2
이단의 제안에 따르면 이것은 우리가 얻는 곳입니다.
2 하위 프로젝트 build.gradle에는 올바른 부분이 모두있는 것 같으며 플러그인 라인은 다음과 같습니다 MyApp/build.gradle.
buildscript {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/android-support-v4.jar')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
}
루트 프로젝트 build.gradle가 비어 있으므로 다음과 같이 두 개의 프로젝트를 추가했습니다.
dependencies {
compile project(":MyLib")
compile project(":MyApp")
}
빌드 할 때이 오류가 발생합니다.
Gradle:
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/kevin/GitHub/AppPress/MyApp/build.gradle' line: 2
* What went wrong:
A problem occurred evaluating root project 'MyApp'.
> Could not find method compile() for arguments [project ':MyLib'] on root project 'MyApp'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
업데이트 3
이 문제를 해결해 준 Ethan에게 감사합니다.
- 추가
compile project(':SubProjects:MyLib')받는 사람MyLib/build.gradle - 제거
compile files('libs/android-support-v4.jar')으로부터MyLib/build.gradle - 프로젝트를 닫고 gradle에서 루트 프로젝트 가져 오기
업데이트 4
0.1.2부터는 compile "com.android.support:support-v4:13.0.0"대신에 포함 할 수 있습니다 compile files('libs/android-support-v4.jar'). mavin에서 나왔으므로 이제 여러 프로젝트에 문제없이 포함시킬 수 있습니다.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.2'
}
}
apply plugin: 'android'
dependencies {
compile "com.android.support:support-v4:13.0.0"
compile project(':SubProjects:MyLib')
}
업데이트 5
0.1.3부터 툴바에 "프로젝트 동기화"버튼이 있습니다. .gradle파일 을 변경 한 후 프로젝트를 다시 가져 오는 대신 클릭 할 수 있습니다 .
compile 'com.google.android:support-v4:r6'대신의 (아래 build.gradle 예처럼) 각 프로젝트와 받는다는 플러그인에 compile files('libs/android-support-v4.jar')두 프로젝트가 같은 일을 포함 한 번 만 포함 할 것이라는 점을 깨달을 것이다 Gradle을.