2013-06-03 2 views
14

최근 Intellij에서 Android Studio로 마이그레이션했습니다. 나는 현재 빌드를 위해 gradle을 사용하기 위해 프로젝트를 마이그레이션하려고합니다. 나는 현재의 폴더 구조에 맞추기 위해 노력했으며, 파일을 gradle 파일 구조와 일치하도록 마이그레이션하려고 시도했다.gradle 빌드를 만들려고 할 때의 문제

나는 각 방향으로 오류가 있었지만 대답을 찾고 있었지만 우리가 얻고있는 것과 완전히 일치하는 것을 찾을 수는 없습니다.

Gradle을 파일 구조로 마이그레이션 할 때 내가 오류는 다음과 같습니다

문제는 프로젝트를 구성 발생 잘못 무엇

  • ':'.

    Failed to notify project evaluation listener. Configuration with name 'default' not found

나는 우리의 오래된 파일 구조를 사용하여 얻을 오류 : 볼 수있는 위치에

:<project>:processDebugResources 
/Users/kbrown/dev/AndroidClient/<project>/build/res/all/debug/values/values.xml:311: error: Error retrieving parent for item: No resource found that matches the given name '@style/Widget.Sherlock.ActionBar.Solid'. 
/Users/kbrown/dev/AndroidClient/<project>/build/res/all/debug/values/values.xml:312: error: Error: No resource found that matches the given name: attr 'background'. 
/Users/kbrown/dev/AndroidClient/<project>/build/res/all/debug/values/values.xml:314: error: Error: No resource found that matches the given name: attr 'backgroundSplit'. 

어떤 아이디어. ActionBarSherlock과 같은 라이브러리에 대한 몇 가지 참조가 있습니다.

build.gradle

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.4' 
    } 
} 
apply plugin: 'android' 

dependencies { 
    compile files('libs/android-support-v4.jar') 
    compile files('libs/retrofit-1.0.0-SNAPSHOT.jar') 
    compile project(':ThirdParty:ActionBarSherlock') 
    compile project(':ThirdParty:drag-sort-listview') 
    compile project(':ThirdParty:SlidingMenu') 
    compile project(':ThirdParty:Android-ViewPagerIndicator') 
} 


android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 17 
    } 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      resources.srcDirs = ['src'] 
      res.srcDirs = ['res'] 

     } 

     instrumentTest.setRoot('../UnitTests/src') 
    } 
} 

settings.gradle

include ':library:Android-ViewPagerIndicator',':library:SlidingMenu',':library:drag-sort-listview',':library:ActionBarSherlock',':<project>' 

모든 아이디어를 감상 할 수있다.

답변

2

:

dependencies { 
compile files('libs/android-support-v4.jar') 
compile files('libs/retrofit-1.0.0-SNAPSHOT.jar') 
compile project(':ThirdParty:ActionBarSherlock') 
compile project(':ThirdParty:drag-sort-listview') 
compile project(':ThirdParty:SlidingMenu') 
compile project(':ThirdParty:Android-ViewPagerIndicator') 
} 

당신은 당신의 settings.gradle에 있어야한다 :
include ':ThirdParty:Android-ViewPagerIndicator' ....보다는 include ':library:Android-ViewPagerIndicator' ...합니다.

+0

도움을 주신 모든 분들께 감사드립니다. 프로젝트가 수정되었습니다. 나는 여전히 새로운 디렉토리 구조를 따르는 작업을하고있다. 모든 종속성을 제거하면 작동합니다.ActionBarSherlock을 추가하자마자 * 무엇이 잘못 되었습니까 : 프로젝트 ': '구성에 문제가 발생했습니다. > 프로젝트 평가 리스너에게 알리지 못했습니다. > 이름이 'default'인 구성이 없습니다. 여기 – user2449336

+0

는 ActionBarSherlock의의 buildscript에 대한 빌드 { 저장소 { 받는다는 {URL 'http://repo1.maven.org/maven2'} } 종속 { 클래스 경로 'com.android.tools.build:gradle:0.4'입니다 } } 하는 플러그인을 적용 의존성 '안드로이드 라이브러리'{ 는 ('libs와/안드로이드 지원-v4.jar') } 안드로이드 { compileSdkVersion 17 buildToolsVersion "17.0.0" 을 파일을 컴파일 defaultConfig { 8의 minSdkVersion targetSdkVersion을 16 } sourceSets { \t 메인 { \t manifest.srcFile '라이브러리/AndroidManifest.xml을' \t resources.srcDirs = '라이브러리/SRC'] 의 \t res.srcDirs = '라이브러리/res ']}}} – user2449336

+4

덧글에 붙여 넣기 코드를 복사하는 대신 질문을 편집 해 주실 수 있습니다. 그렇게 명확하지는 않습니다. – lukas

8

Gradle이 Android 플러그인에서 정의한 기본 프로젝트 레이아웃을 사용할 수없는 경우가 종종 있습니다. oldstyle 레이아웃을 사용하도록 build.gradle을 구성하려하지만 일부 디렉토리 (즉, java.srcDirs)를 포함하는 것을 잊어 버린 것 같습니다. 다음과 같이 시도하십시오 :

sourceSets { 
    main { 
     manifest.srcFile 'AndroidManifest.xml' 
     java.srcDirs = ['src'] 
     resources.srcDirs = ['src'] 
     aidl.srcDirs = ['src'] 
     res.srcDirs = ['res'] 
     assets.srcDirs = ['assets'] 
    } 
} 

종속 프로젝트 중 하나가 올바르게 구성되지 않았을 수 있습니다. ActionBarSherlock 및 다른 타사 프로젝트 용 build.gradle 파일이 있습니까? 의존성을 주석으로 처리하고 한 번에 하나씩 다시 추가하여 오류 발생시기를 확인하십시오. 의존성을보고

+0

sourceLoader.build 파일을 sourceSets 데이터로 내 ActionBarSherlock 프로젝트에 추가해야했습니다. 내 문제, 고마워 +1을 해결했습니다 :) –

+0

일식이 작업 바 sherlock에 대한 build.gradle 파일을 생성하지 않는 이상한 일입니다. 제 3 자 종속성을 위해 수행되었지만. – topwik

+0

"build.gradle 파일을 갖고 계십니까?"이 문제가 발생하여 문제가 발생했습니다. – Zulaxia

0

다른 정확한 원인은 다음과 같습니다. build.gradle 종속성 섹션의 일부 사용하지 않는 라이브러리에 주석 처리하여이 오류를 해결했습니다. 이 경로 등이 모두 올바른지 확인하십시오.

관련 문제