2013-11-25 3 views
0

오늘 Android Studio에 문제가 발생했습니다.AndroidStudio 라이브러리 리소스 공유

  • 응용 프로그램 (이 실행 가능한 응용 프로그램입니다)
  • UI (이것은 라이브러리)
  • UI - 일반 (이것이 라이브러리)
  • UI 태블릿 (:

    나는이 프로젝트 트리가 이 라이브러리)

  • UI 전화 (이 라이브러리는)

응용 프로그램이 우리에게있다 전자의 UI UI를 사용 UI 태블릿 및 UI 전화 UI-전화 사용 UI - 일반 UI 태블릿 △ ▽를 사용하여 공통

UI-일반적인 이제 일반적인 자바 코드, 당김 문자열 자원

을 포함, 나는 프로젝트를 컴파일하려고하는데 다음 오류가 있습니다 : "오류 : import home.test.ui.common.R;에 home.test.ui.common 패키지가 없습니다."

자바 클래스는 일반적인 사용할 수 있지만, R 클래스는 존재하지 않았다 ... 파일 빌드 \ 소스 \ 연구 \ 디버그 \ 역의 \ 안드로이드 \ ▽를 \ 공통 내 프로젝트를 위해 일반적으로

Gradle을의 파일을 생성 : -UI를

... 
apply plugin: 'android-library' 

dependencies { 
    compile project(":ui-common") 
    compile project(":ui-phone") 
    compile project(":ui-tablet") 
} 
... 

-UI 공통

... 
apply plugin: 'android-library' 

dependencies { 
} 
... 

-UI 전화

,

라이브러리도 포함되어

... 
apply plugin: 'android-library' 

dependencies { 
    compile project(":ui-common") 
} 
... 

- 신청

.iml 파일
... 
apply plugin: 'android' 

dependencies { 
    compile project(":ui") 
} 
... 

-UI 태블릿 : UI 전화 및 UI 태블릿 프로젝트 을 :

<orderEntry type="module" module-name="ui-common" exported="" /> 
ui 프로젝트 용

:

응용 프로그램 프로젝트

<orderEntry type="module" module-name="ui" exported="" /> 

10

<orderEntry type="module" module-name="ui-phone" exported="" /> 
<orderEntry type="module" module-name="ui-tablet" exported="" /> 

내가 어떻게 할 수있는 설치 프로젝트의 UI 일반적인 UI 태블릿 및 UI 전화 프로젝트와 공유 리소스에 대한?

업데이트 1 ui-common \ build \ source \ r에는 릴리스 폴더 만 포함되어 있으므로 디버그 폴더는 생성되지 않습니다. ui-phone 프로젝트에서 ui-common에 대한 'compile'에서 'compile debug'로 종속성 유형을 변경하려고합니다. 이 컴파일 된 후 ui-phone 프로젝트는 정상적으로 실행되지만 다른 프로젝트에서는 오류가 발생합니다. 왜 안드로이드 스튜디오/gradle 디버그 출력을 생성하지?다른 라이브러리 모두 (디버그 및 릴리스 정상적으로 생성)

답변

0

확인, 내 문제가 해결되었습니다. 내 실수 패키지 이름 및 리소스 병합에 상대

ui-phone 프로젝트에서 리소스가 이미 병합했기 때문에 ui-phone.R을 사용해야합니다!