2016-06-16 1 views
1

현재 프로젝트의 종속성으로 https://github.com/firebase/FirebaseUI-Android의 로컬 복제본을 추가하려고합니다. FirebaseUI를 수정하고 싶기 때문에 표준 방식으로 가져 오기를 원하지 않습니다. 현재 나는이 노력하고있어 :종속성 결과로 안드로이드 스튜디오 프로젝트에 외부 프로젝트를 추가하면 파일을 찾을 수 없습니다.

settings.gradle :

include ':firebaseui' 
project(':firebaseui').projectDir = new File(settingsDir, '../FirebaseUI') 

내 모듈의 build.gradle :

dependencies { 
    compile project(":firebaseui") 
} 

하지만 내가 얻을 :

Error:(42, 0) Could not read script 'C:\Users\Gonzalo\AndroidStudioProjects\MyProject\common\constants.gradle' as it does not exist. 

FirebaseUI \ build에서 가져 오기. Gradle을 : 그것은 FirebaseUI의 build.gradle 또는 광산에 문제가

allprojects { project -> 
    // Get constants, this is where we store things 
    // like the list of submodules or the version 
    project.apply from: "$rootDir/common/constants.gradle" 
... 

인가? mavenLocal()의 repo를 통해

답변

1

사용 이진 deps :

  1. git clone https://github.com/firebase/FirebaseUI-Android
  2. cd FirebaseUI-Android
  3. gradlew tasks // 당신은 publishToMavenLocal
  4. 열기 FirebaseUI-Android
  5. 변경 사항을 확인 IntelliJ에 별도의 인스턴스로 볼 수
  6. 실행 gradlew publishToMavenLocal 자신의 프로젝트에서
  7. , 모든 그 후 당신의 dependencies

compile 'com.firebaseui:firebase-ui:0.4.1'를 추가하려면 repositories

  • mavenLocal()를 추가, 당신은 갈 수 있습니다.

    1. 하면 응용 프로그램 문제는 무엇 $rootDir 수단이다
  • +1

    캐시 나 gradle이 외부 (공식) 버전을 얻는 데 문제가 있었지만 로컬 버전이 포함되었는지 확인하기 위해 버전을 0.4.2로 변경해야했습니다. – Gonzalo

    +0

    예 일반적으로 -SNAPSHOT을 추가하여 버전을 변경합니다. –

    0

    다시 컴파일 gradlew publishToMavenLocal

  • 를 통해 다시 게시 라이브러리
  • 을 변경합니다. firebase 코드 만 만들려고하면 부모 $ rootDir이 부모 폴더를 반환합니다. constant.gradle의 상대 위치가 유효합니다.

    이제 프로젝트의 하위 프로젝트로 firebase를 추가하면 $ rootDir이 루트 디렉토리가되고 $rootDir/common/constants.gradle은 더 이상 유효한 경로가 아닙니다. 당신과 경로를 교체 멀리받을 수 있습니다 :

    $rootDir../FirebaseUI/common/constants.gradle 
    

    그러나 당신이 중포 기지 코드에 지역 변경을하는 경우를 제외, 나는 두 번째 제라드의 추천은 받는다는의 repo에서 이진 종속성을 사용하는 것입니다.

  • 관련 문제