2013-11-22 3 views
5

Android Studio에서 Android 라이브러리로 Gradle을 사용하여 go이라는 모듈을 포함하는 Android 프로젝트가 있습니다. 여기에는 com.nwoods.go이라는 단일 Java 패키지가 들어 있습니다. 이 스택 오버플로 제출을 위해서, 내가 패키지 com.nwoods.ugurdemo1에 MainActivity 클래스가 ugurdemo1라는 응용 프로그램 모듈이 같은 안드로이드 프로젝트 내부 FooBar

라는 클래스가 포함되어 있습니다.Android Studio에서 다른 모듈의 소스로 컴파일

Android Studio ugurdemo1 모듈의 프로젝트 구조를 컴파일 할 때 라이브러리 go에 따라 수정했습니다. ugurdemo1의 MainActivity에서 FooBar을 참조하고 사용하고 싶습니다. go. 이를 위해, 나는 전형적인 자바 import 문을 클래스를 서문 :

 
    import com.nwoods.go.FooBar; 
    ... 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     FooBar myFooBarObject = null; 

안드로이드 스튜디오는 여전히 깨끗한 내 소스의 다시 수행 한 후 FooBar의 기호를 확인할 수 없습니다. 스택 오버플로에 대한 비슷한 질문은 종속성 대화 상자에서 컴파일 시간 설정을 편집하여 해결되었지만 다시는 작동하지 않습니다. 도움이된다면 현재 실행 중입니다 Android Studio IO Preview (0.3.6)

+1

build.gradle settings.gradle library_module: build.gradle library: build.gradle android_app: build.gradle 

환호하지만, 내 프로젝트는 Gradle을 통해 문제가 없으므로 여전히 0.8.4에서는 해결되지 않은 AS 문제입니다. – jonalmeida

답변

2

문제는 프로젝트 그러나 여기에서 추적중인 안드로이드 스튜디오 자체에서 버그가 수하지 않을 수 있습니다 https://code.google.com/p/android/issues/detail?id=65915

은 "수정"루트 프로젝트 디렉토리를 제외한 모든 모듈에서 settings.gradle을 삭제하는 것입니다.예를 들어

, 내 상황에서, 내 프로젝트 구조는 다음과 같습니다

build.gradle 
settings.gradle 
library_module: 
    build.gradle 
    settings.gradle 
     library: 
     build.gradle 
     settings.gradle 
android_app: 
    settings.gradle 
    build.gradle 

삭제 한 후에는, 구조는 다음과 같이 보았다 : 동일한 문제에 직면

+1

이 주셔서 감사합니다. 우리는/기다릴 버그 개발 도구를 다루는 시간이 않았기 때문에 우리는 시간에 도구를 변경했다. 그러나 가치있는 것을 위해,이 https://code.google.com/p/android/issues/detail?id=65915#c29 년 3 월 2015 패치 된 것 같다 –

8

올바른 작업을 수행 한 것처럼 들리지만 확인하려면 Gradle의 모듈 종속성을 설정할 수있는 Project Structure 종속성 패널의 스크린 샷을 참조하십시오.

Screenshot of Android Studio Project Structure dialog

이 모듈은 이미 메이븐 스타일의 수입을 통해 검색이 라이브러리에 종속하고, 또한 푸 모듈에 대한 종속성이있다. 새 종속성을 추가하려면 맨 아래에있는 + 단추를 클릭하고 종속성 유형 (표시된)을 선택하십시오.

손으로 Gradle 빌드 파일을 편집 할 수도 있습니다. 내 예에서는 "2"모듈의 디렉토리에 build.gradle 파일이 있습니다. 그것은이처럼 보이는 dependencies 블록이 있습니다

dependencies { 
    compile 'com.android.support:support-v4:+' 
    compile 'com.android.support:appcompat-v7:+' 
    compile project(':Foo') 
} 

당신은 새 모듈 종속성을 추가하는 더 compile project 줄을 추가 할 수 있습니다; 콜론으로 구분 된 구문을 사용하여 프로젝트의 루트 디렉토리를 기준으로 모듈의 위치를 ​​제공하십시오.

build.gradle 파일을 손으로 편집하는 경우 툴바의 "파일 동기화"버튼을 클릭하면 Android Studio에서 파일을 다시 읽고 변경 사항을 적용합니다.

관련 문제