Cấu hình phân cấp Android Studio với tên 'mặc định' không tìm thấy


181

Tôi đang gặp sự cố khi biên dịch ứng dụng của mình với Android Studio (0.1.5). Ứng dụng sử dụng 2 thư viện mà tôi đã đưa vào như sau:

cài đặt. Nâng cấp

include ':myapp',':library',':android-ColorPickerPreference'

xây dựng. nâng cấp

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

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(':library')
    compile project(':android-ColorPickerPreference')

}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

Khi biên dịch tôi nhận được thông báo này:

  Gradle: A problem occurred configuring project ':myapp'.
   > Failed to notify project evaluation listener.
   > Configuration with name 'default' not found.

Bạn có thể giúp tôi với tin nhắn này? Cảm ơn!


5
các dự án thư viện được khai báo trong settings.gradle tất cả có cấu hình chính xác các tệp build.gradle trong thư mục gốc không? Ngoài ra: thư viện và: android-ColorPickerPreference cần phải nằm trong các thư mục cùng cấp trong cấu trúc thư mục của bạn với tệp settings.gradle của bạn?
speedynomads

Vấn đề này xảy ra với tôi khi tôi không có tệp build.gradle trong một trong các dự án thư viện của mình. Tạo tập tin này làm cho lỗi đi.
IgorGanapolsky

Trong trường hợp của tôi, một trong những tập tin cấu hình lớp của tôi bị thiếu. Nó không được đẩy đúng cách.
Zar E Ahmer

Làm thế nào để tạo tập tin gradle.build .. tôi cũng đang đối mặt với vấn đề tương tự?

Câu trả lời:


82

Trong trường hợp của tôi, sau khi biên dịch với gradle tasks --info, nhật ký đã có:

Đánh giá dự án ': library: VolleyL Library' bằng cách sử dụng tệp xây dựng trống.

Vì vậy, nó không thể tìm thấy tập tin build.gradle của thư viện. Lý do là cấu trúc thư mục.

Đó là

-libraries
--volley
---VolleyLibrary

Nó được coi là

-libraries
--VolleyLibrary

Làm thế nào bạn có được nó để đánh giá ': library: VolleyL Library'? Dòng đó trông như thế nào trong tệp build.gradle của bạn?
IgorGanapolsky

phụ thuộc {compile ': library: VolleyL Library'} Nó phải là một cái gì đó như thế này và không có gì nữa.
Guydemossyrock

1
Theo mẫu mã của bạn ở trên ,: Thư viện nên được viết hoa.
IgorGanapolsky

3
Làm thế nào để bạn biên dịch với "nhiệm vụ lớp --info"?
chập chững

8
./gradlew tasks --infoĐiều này sẽ hiển thị thông tin của tất cả các nhiệm vụ. Tôi nghĩ rằng điều này sẽ hữu ích để tìm hiểu những gì đang xảy ra.
lọc

60

Tôi quên kéo tất cả các mô hình con. Vậy tôi

compile project(':something')

không thể giải quyết.

Giải pháp

git submodule update --init

2
Vui lòng giải thích về thư mục nào tôi nên chạy lệnh này - thư mục dự án hoặc thư mục mô hình con
Ajith Memana

1
Điều này nên được chấp nhận câu trả lời. thông báo lỗi gây hiểu lầm trong hầu hết các trường hợp có nghĩa là bạn đã quên sao chép các mô hình con
vigilancer

1
Trong trường hợp của tôi, tôi khó quên loại bỏ mô hình con khỏi tệp settings.gradle. Vì vậy, hãy cẩn thận! : D
Yaroslav Havrylovych

20
compile fileTree(dir: '//you libraries location//', include: ['android-ColorPickerPreference'])

Sử dụng dòng trên trong tệp lớp của ứng dụng của bạn thay vì

compile project(':android-ColorPickerPreference')

Hy vọng nó giúp


19

Các thủ tục sau đây đã giải quyết vấn đề của tôi:

  • Chuyển đến cài đặt tiểu dự án / mô-đun / thư viện-mô-đun. (nhấn F4sau khi chọn mô-đun)
  • Nhấp chuột phải vào Thêm> Android-Gradle .
  • Thêm build.gradle vào mô-đun của bạn.
  • Thêm đoạn script sau

    buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
     }
    
    
      apply plugin: 'android-library'
    
    repositories {
    mavenCentral()
    }
    
    android {
    compileSdkVersion 18
    buildToolsVersion "18.1.0"
    
    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
    
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    
    }
       } 
    1. thêm include ':yourModuleName'vào cài đặt của bạn. Nâng cấp

Khi tôi chọn cài đặt mô-đun dự án thư viện không phải là một tùy chọn và f4 không làm gì cả.
Daniel Baughman

1
@DanielBaughman vui lòng làm rõ truy vấn của bạn, nhưng trong trường hợp bạn vẫn không thể tìm thấy cài đặt mô-đun, bạn có thể thực hiện 2 việc: 1) Truy cập Tệp> Mô-đun nhập và làm theo các bước, Android Studio sẽ tự động thêm tệp build.gradle và cũng thêm các phụ thuộc. 2) Thêm thủ công tệp build.THER viết tập lệnh trong đó và vấn đề của bạn sẽ được giải quyết.
Ahmad Ali Nasir

1
Cảm ơn sự giúp đỡ của bạn. Những gì tôi đã làm thực sự là đặt thư mục mà tôi đang nhập vào dự án - nhập mô-đun, và sau đó, trong các thuộc tính dự án của tôi, đã tham chiếu mô-đun nguồn mà tôi đã nhắm mục tiêu để được nhập làm thư viện thay vì thư mục mô-đun mới mà nó tạo. Tôi điều chỉnh tham chiếu đó và nó đã sửa nó.
Daniel Baughman

12

Tôi cũng đã gặp phải lỗi này - Tôi đã quên tạo tập lệnh build.gradle cho dự án thư viện.


10

Một nguyên nhân khác - tôi đã cố gắng đưa mô-đun vào cài đặt. Nâng cấp bằng cách sử dụng

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

Vấn đề duy nhất là, tôi vừa nhập mô-đun từ Eclipse và quên di chuyển thư mục bên ngoài dự án ứng dụng của mình, tức là đường dẫn '../../MyModule'không tồn tại.


Điều này ít nhiều cũng là vấn đề của tôi. Tôi đã có quá nhiều ../trên đường và nó không chỉ đúng chỗ. Điều này đặc biệt khó theo dõi vì Android Studio / Gradle sẽ tạo thư mục nếu nó không tồn tại. Thay vì ném một lỗi đơn giản nói "Không."
Joshua Pinter

7

Giải pháp của tôi là chỉ cần xóa một dòng khỏi tệp settings.gradle, đại diện cho một mô-đun không tồn tại:

include ':somesdk'

và cũng loại bỏ dòng tương ứng khỏi build.gradle của dự án chính:

compile project(':somesdk')

6

Tôi đã có một vấn đề mô hình con git khi nhận được lỗi này. Hãy thử chạy gradle tasks --infođể mô tả vấn đề chi tiết hơn. Lần đầu tiên tôi sử dụng gradle tasks --debug, nó gần như không hữu ích như --info.


5

Giả sử bạn muốn thêm thư viện (ví dụ MyLib) vào dự án của mình, Bạn nên làm theo các bước sau:

  1. Chuẩn bị thư viện của bạn dưới dạng thư viện Android xếp loại nếu loại thư viện của bạn là Eclipse ADT
    Đối với công việc này, đủ để nhập nó vào Android Studio
  2. Sao chép thư mục thư viện của bạn, trong trường hợp này là thư mục MyLib và dán nó vào thư mục dự án chính của bạn. Đó là một cách thực hành tốt để tạo một thư mục mới trong thư mục dự án chính của bạn và đặt tên là Thư viện
  3. Truy cập Android Studio và mở tệp Settings.gradle , ở đó bạn nên đưa thư viện của mình vào dự án chính. Ví dụ include ':MyPrj', 'Libraries:MyLib'. Lưu ý : Thư mục hiện tại cho câu lệnh này bao gồm thư mục dự án chính của bạn. Nếu bạn dán dự án của bạn vào một thư mục, bạn phải đề cập đến địa chỉ của nó so với thư mục dự án chính. Trong trường hợp của tôi, tôi dán MyLib vào thư mục Thư viện . Đây Libraries tên không phải là một từ khóa và bạn có thể chọn tên khác cho nó
  4. Mở trang Cấu trúc dự án của bạn ( Tệp-> Cấu trúc dự án ... ) nhấp vào mô-đun, sau đó nhấp vào dự án chính của bạn vào tab phụ thuộc, +sau đó chọn phụ thuộc Mô-đun và có thư viện của bạn và bạn có thể chọn chúng theo ý muốn

Hy vọng nó sẽ giúp


để rõ ràng, hãy truy cập dự án github sliding-menu github.com/jfeinstein10/SlidingMothy/tree/master/l Library và kiểm tra cấu trúc của nó! Có định dạng cũ của dự án xây +dựng tập tin android build.gradle !! Cảm ơn, @ABFORCE +1
cá chết

Bài đăng này đã giúp tôi nhập OpenCV4Android vào Android Studio, vì vậy tôi sẽ bảo đảm cho phương pháp này.
Craig

5

Trong trường hợp của tôi, tôi đã sử dụng các tệp Gradle hoạt động trong Windows nhưng không thành công trên Linux. Các include ':SomeProject'compile project(':SomeProject')là trường hợp nhạy cảm và không được tìm thấy.


4

Đối với tôi, thư mục bị thiếu đã được khai báo trong settings.gradle .


3

Mọi thứ trông có vẻ ổn ngay từ lần đầu tiên, nhưng một số câu hỏi ở đây đã tìm thấy một câu trả lời có thể hữu ích: https://stackoverflow.com/a/16905808/7944

Ngay cả người viết câu trả lời ban đầu cũng không nghe có vẻ siêu tự tin, nhưng nó đáng để theo dõi. Ngoài ra, bạn không nói gì về cấu trúc thư mục của mình và vì vậy tôi cho rằng đó là thứ mặc định nhàm chán, nhưng không thể biết chắc được.


2

Một nguyên nhân tiềm năng khác của lỗi chính xác này: Tôi thấy lỗi này đã được khắc phục bằng cách nhận xét một số thư viện không sử dụng trong phần phụ thuộc build.gradle. Hãy chắc chắn rằng những đường dẫn này và tất cả đều đúng.

Tôi sẽ nhìn thật gần vào mục dự án biên dịch của bạn (': android-ColorPickerPreference') trong build.gradle - thử nhận xét mã liên quan và dòng này trong build.gradle và xem liệu nó có biên dịch không - sau đó đi từ đó giải quyết đường dẫn hoặc vấn đề thư viện.


2

Tôi đã có vấn đề tương tự và tìm thấy cách rất đơn giản để thêm một thư viện vào dự án.

  1. Tạo thư mục "libs" trong thư mục gốc của dự án của bạn.
  2. Sao chép tệp JAR vào thư mục đó.
  3. Quay trở lại Android Studio, tìm tệp JAR của bạn và nhấp chuột phải vào tệp đó, chọn "Thêm dưới dạng thư viện ...", nó sẽ chỉ hỏi bạn mô-đun nào bạn muốn thêm nó, chọn "ứng dụng".

Bây giờ trong mô-đun "ứng dụng" của bạn, bạn có thể sử dụng các lớp từ JAR đó, nó sẽ có thể định vị và thêm các khai báo "nhập" tự động và biên dịch ổn. Vấn đề duy nhất có thể là nó thêm phụ thuộc với đường dẫn tuyệt đối như:

compile files('/home/user/proj/theproj/libs/thelib-1.2.3.jar')

trong "ứng dụng / build.gradle" của bạn.

Mong rằng sẽ giúp!


2

Tôi đã giải quyết vấn đề này bằng cách sửa một số đường dẫn trong cài đặt. Nâng cấp như hiển thị bên dưới:

include ':project-external-module'

project(':project-external-module').projectDir = file('/project/wrong/path')

Tôi đã bao gồm một mô-đun bên ngoài cho dự án của tôi và có đường dẫn sai cho nó.


1

Tôi gặp vấn đề này khi tôi dán thủ công google-play-services_lib vào dự án của mình. Rõ ràng, các dịch vụ chơi không có tệp build.gradle trong đó. Giải pháp, tôi đã học được, là đặt sự phụ thuộc này vào build.gradle của dự án của tôi (thay vì sao chép cứng thư mục dịch vụ play):

    compile 'com.google.android.gms:play-services:4.0.+'

1

Khi tôi nhập thư viện của mình bằng tay, tôi đã có vấn đề tương tự. Tôi đã cố gắng thêm thư viện của mình với tệp> mô-đun nhập và nó đã giải quyết được vấn đề của tôi.


1

Trong trường hợp của tôi, tôi đã nhận được lỗi này khi tôi viết sai tên mô-đun của thư viện (phụ thuộc) trong build.gradle tệp.

Vì vậy, hãy nhớ kiểm tra xem tên của mô-đun là chính xác.

xây dựng. nâng cấp

dependencies {
    compile project(':module-name-of-the-library')
}

1

Gần đây tôi đã gặp phải lỗi này khi tôi giới thiệu một dự án đã được khởi tạo thông qua một mô hình con git.

Cuối cùng tôi đã phát hiện ra rằng build.gradletập tin gốc của mô hình con (một dự án java) không có plugin java được áp dụng ở cấp độ gốc.

Nó chỉ có

apply plugin: 'idea'

Tôi đã thêm plugin java:

apply plugin: 'idea'
apply plugin: 'java'

Khi tôi áp dụng plugin java, thông báo 'không tìm thấy mặc định' biến mất và quá trình xây dựng thành công.


1

Ngoài ra ... kiểm tra xem bạn có các tệp mô-đun trong dự án của bạn không.

Ví dụ: tôi có một ứng dụng sử dụng mô-đun Volley. Trong quá trình nghiên cứu về phát triển Android, tôi đã vô tình xóa các tệp trong thư mục "bóng chuyền" ..

~/git/Sandbox/android/HelloWorld/volley $ ll
total 8
drwxrwxr-x 2 ivanleon ivanleon 4096 Jun 16 22:26 ./
drwxrwxr-x 6 ivanleon ivanleon 4096 Jun 17 01:51 ../

Tôi vừa nhân bản dự án (xem dưới đây) và sau đó, tôi đã thực hiện Đồng bộ hóa dự án tại Android Studio (Công cụ> Android> Dự án đồng bộ hóa với tệp Gradle) và bản dựng Gradle hoàn thành bình thường (Bảng điều khiển Gradle: góc dưới bên phải của Android Studio) ;).

~/git/Sandbox/android/HelloWorld/volley $ git clone https://android.googlesource.com/platform/frameworks/volley
Cloning into 'volley'...
remote: Counting objects: 164, done
remote: Finding sources: 100% (164/164)
remote: Total 3222 (delta 307), reused 3222 (delta 307)
Receiving objects: 100% (3222/3222), 1.22 MiB | 114.00 KiB/s, done.
Resolving deltas: 100% (307/307), done.
Checking connectivity... done.

~/git/Sandbox/android/AndroidGetJSON $ ls volley
Android.mk      build         build.xml         pom.xml       
proguard-project.txt      src    bintray.gradle  build.gradle
custom_rules.xml  proguard.cfg  rules.gradle          volley.iml

0

Build.gradle của bạn cho mô-đun / thư viện có thể đơn giản như:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

Nếu mô-đun của bạn chỉ là một tập hợp các lớp .java POJO.

Nếu đó là mô hình / lớp thực thể và bạn đang sử dụng các chú thích và có một số phụ thuộc, bạn có thể thêm các chú thích vào:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.j256.ormlite:ormlite-core:4.48'
    compile 'com.j256.ormlite:ormlite-android:4.48'
    compile 'com.j256.ormlite:ormlite-jdbc:4.48'
}

0

Điều này xảy ra khi bạn biên dịch thư mục / dự án đã nhập hoặc sao chép dưới dạng mô-đun trong thư mục thư viện. Vấn đề này đã được nêu ra khi tôi không bao gồm các build.gradletập tin. Khi tôi thêm các tập tin tất cả đều tốt.


0

Đối với tôi, nó hóa ra là một liên kết tượng trưng tương đối (với dự án được tham chiếu) không thể được sử dụng theo cấp. (Tôi đã tham khảo một thư viện). Đó là một trường hợp cạnh khá sắc sảo nhưng có lẽ nó sẽ giúp được ai đó trong tương lai.

Tôi đã giải quyết nó bằng cách đặt một liên kết tượng trưng tuyệt đối.

Trước ln -s ../librarysauln -s /the/full/path/to/the/library


0

Tôi cũng gặp phải vấn đề tương tự và nó đã được giải quyết bằng cách thay đổi một cờ (gradle.ext.set ("allowLocalEdits", true)) thành false trong settings.xml.


0

Đối với tôi, một trong những thư viện phụ thuộc không tồn tại trong đường dẫn chính xác, nhưng thông báo lỗi không chỉ ra thư viện THAT chính xác.

Ví dụ, những gì tôi bỏ lỡ là :library-3nhưng lỗi ném vào :library-1.

học sinh kém.


-1

Hãy thử thêm thư viện Volley và đồng bộ hóa và chạy chương trình. nếu ai đó đã kéo và tôi có sử dụng bóng chuyền và lỗi hiển thị là -Android Studio Gradle Cấu hình với tên 'default' không tìm thấy thì hãy làm theo bước thêm thư viện bóng chuyền trong lớp của bạn. hy vọng nó giúp. Tôi đã giải quyết vấn đề của mình theo cách này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.