Lỗi: Không tìm thấy cấu hình có tên 'mặc định' trong Android Studio


117

Tôi đang sử dụng thư viện volley để thực hiện hoạt động mạng trong Android. Vì vậy, tôi đang cố gắng thêm thư viện này vào dự án của mình, được tạo trong Android Studio và hệ thống gradle.

Tôi đã thêm thư viện volley trong dự án của mình nhưng khi đồng bộ hóa với gradle thì tôi nhận được thông báo lỗi. Tôi đã thử tất cả các câu trả lời mà tôi thấy ở đây nhưng không có gì hiệu quả với tôi.

Thông báo lỗi : Không tìm thấy cấu hình có tên 'mặc định' trong Android Studio

Vô-lê / build.gradle

apply plugin: 'android-library'

android {

    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    sourceSets {
        defaultConfig {
            minSdkVersion 8
            targetSdkVersion 19
        }

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

        }
    }
}

app / build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile project(':library:volley')
}

root / build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

allprojects {
    repositories {
        mavenCentral()
    }
}

settings.gradle

include ':app'
include ':library:volley'

Bạn đã thêm thư mục thư viện vào đúng vị trí như tên dự án / thư viện chưa ??
Ajay S

Tôi đã thêm thư mục thư viện trong thư mục ứng dụng
Bot



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

Câu trả lời:


68

Thêm thư mục thư viện của bạn vào vị trí gốc của dự án của bạn và sao chép tất cả các tệp thư viện vào đó. Đối với YourProject / thư viện cũ sau đó đồng bộ hóa nó và mọi thứ có vẻ ổn đối với tôi.


5
Nó cũng có thể có nghĩa là tệp build.gradle hoặc tệp .iml bị thiếu bên trong các thư mục thư viện
WKS

7
@aleb để có được thông báo lỗi đầy đủ, bạn chỉ cần chạy lệnh terminal: ./gradlew assembleDebug. Bạn có thể làm điều đó từ Android Studiohoặc một ứng dụng đầu cuối bên ngoài.
11

Bạn có thể đăng ví dụ và hình ảnh? cảm ơn, vì phương pháp này không làm việc
delive

Cảm ơn người bạn đã cứu ngày của tôi. Cảm ơn bạn <3
Gufran Khurshid

1
Điều này khiến tôi nhận ra rằng tôi đã thiếu mô-đun con của mình, điều này được mở rộng rõ ràng hơn bởi câu trả lời của @ ViliusK.
Ionoclast Brigham

96

Thử:

git submodule init
git submodule update

1
Điều này chắc chắn hoạt động cho các thư viện được thêm vào dưới dạng submodule, cảm ơn!
Arne

@Vilius, tôi chạy cái này từ thư mục nào trong Terminal? Tôi đã cố gắng chạy nó trong thư mục dự án của mình, nhưng nó báo Not a git repository (or any of the parent directories). Tôi có một ứng dụng mẫu mà tôi đã cố nhập và nó không được thiết lập cho gradle, vì vậy họ đã gói nó lại. Tôi tự hỏi nếu đó là một phần của vấn đề. Trong thực tế, tôi thậm chí không có một settings.gradletập tin. Chỉ build.gradlevà một số người khác.
Azurespot

2
Bạn nên chạy từ dir gốc của dự án. Nó phải là một dự án từ git repo. Và nó phải là một dự án với các tiểu dự án. Tìm trong build.gradlehồ sơ cho một cái gì đó giống nhưcompile project(':libs:my-custom:library')
ViliusK

1
> Một mô-đun con cho phép bạn giữ một kho lưu trữ Git khác trong một thư mục con của kho lưu trữ của bạn. Kho lưu trữ khác có lịch sử riêng của nó, không can thiệp vào lịch sử của kho lưu trữ hiện tại. Điều này có thể được sử dụng để có các phụ thuộc bên ngoài như thư viện của bên thứ ba chẳng hạn. nguồn
ViliusK

3
Làm thế nào để git con có bất cứ điều gì để làm với lỗi xây dựng gradle?
teddy

22

Đây có lẽ là một trường hợp hiếm gặp, nhưng đối với tôi, một thư viện được bao gồm trong settings.gradle không có ở đó.

Ví dụ: I had: include ':libraries:Android-RateThisApp:library'in my settings.gradle

nhưng thư mục Android-RateThisApp trống. Ngay sau khi tôi kiểm tra mô-đun con này, đồng bộ hóa gradle thành công.


Có, bạn có thể phải git submodule initgit submodule update. Đó là trường hợp phổ biến khi kiểm tra một dự án với các mô-đun con.
ViliusK

không hiếm chút nào .... đây là trường hợp của tôi với lỗi sắp xếp này..RẤT NHIỀU lần.
sirvon

Đây là trường hợp của tôi! Cập nhật phản ứng bản địa-bản đồ và nó thay đổi đường dẫn đến thư mục android
cbartondock

14

Nếu bạn muốn sử dụng cùng một thư mục thư viện cho một số dự án, bạn có thể tham chiếu nó trong gradle đến một vị trí bên ngoài như sau:

settings.gradle:

include 'app', ':volley'
project(':volley').projectDir = new File('../libraries/volley')

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

dependencies {
    ...
    compile project(':volley')
...}

Điều này phù hợp với tôi khi tôi có toàn bộ dự án dưới dạng mô-đun con nhưng tôi chỉ muốn sử dụng mô-đun thư viện của dự án đó (và loại trừ ứng dụng mẫu).
phreakhead

6

Tôi cũng gặp phải vấn đề này nhưng tôi làm theo các bước sau: - 1) Tôi thêm mô-đun (Thư viện) vào tên thư mục cụ thể ThirdPartyLib

Để giải quyết vấn đề này, tôi vào settings.gradle thay vì chỉ thêm follwing: -

project (':'). projectDir = new File ('ThirdPartyLib /')

: - là tên mô-đun ...


3

Để chẩn đoán lỗi này, hãy nhanh chóng truy cập vào một thiết bị đầu cuối hoặc sử dụng thiết bị đầu cuối được tích hợp trong Android Studio (có thể truy cập trên thanh trạng thái dưới cùng). Thay đổi thư mục chính cho DỰ ÁN của bạn (ở đâu settings.gradle).

1.) Kiểm tra để đảm bảo rằng bạn settings.gradlebao gồm tiểu dự án. Một cái gì đó như thế này. Điều này đảm bảo bản dựng đa dự án của bạn biết về dự án con thư viện của bạn.

include ':apps:App1', ':apps:App2', ':library:Lib1'

Nơi văn bản giữa dấu hai chấm là các thư mục con.

2.) Chạy lệnh gradle sau đây để xem liệu Gradle có thể cung cấp cho bạn danh sách các tác vụ cho thư viện hay không. Sử dụng cùng một settings.gradleđịnh nghĩa trong định nghĩa. Điều này sẽ phát hiện ra các vấn đề với tập lệnh xây dựng Thư viện một cách riêng biệt.

./gradlew :library:Lib1:tasks --info

3.) Đảm bảo đầu ra từ bước cuối cùng liệt kê một tác vụ "assemblyDefault". Nếu nó không đảm bảo Thư viện đang bao gồm plugin Thư viện Android trong build.gradle. Như thế này ở trên cùng.

apply plugin: 'com.android.library'

Tôi biết câu hỏi của người đăng ban đầu đã được trả lời nhưng tôi tin rằng câu trả lời đã phát triển trong năm qua và tôi nghĩ rằng có nhiều lý do dẫn đến lỗi. Tôi nghĩ rằng quy trình giải quyết này sẽ hỗ trợ những người gặp phải các vấn đề khác nhau.


3

Kiểm tra settings.gradletệp. Các mô-đun được bao gồm có thể bị thiếu hoặc trong một thư mục khác. Ví dụ: với dòng dưới đây settings.gradle, tìm kiếm common-libmô-đun gradle bên trong thư mục dự án của bạn:

include ':common-lib'

Nếu nó bị thiếu, bạn có thể tìm và sao chép mô-đun này vào dự án của mình hoặc tham khảo đường dẫn của nó trong settings.gradletệp:

include ':common-lib'
project(':common-lib').projectDir = new File('<path to your module i.e. C://Libraries/common-lib>') // 

0

Đối với tôi, (theo một số nhận xét tôi đã thấy), vấn đề là gradle không thể tìm thấy build.gradle cho thư viện đã nhập. Cấu hình này là dễ hiểu nhưng thông báo lỗi hơi khó hiểu. Ví dụ: tôi đang sử dụng dự án android-map-utils và phải đưa nó vào settings.gradle bằng cách nối 2 dòng này như thế này.

include ':android-map-utils'
project(':android-map-utils').projectDir = new File(settingsDir, '..\\..\\modules\\android-maps-utils-master\\library')

Đường dẫn của thư viện có liên quan đến tệp settings.gradle trong dự án của tôi. Sau đó, tôi chỉ đơn giản là tham chiếu nó trong phần phụ thuộc của tệp build.gradle trong ứng dụng của tôi như thế này

...

    dependencies {
    ....
        compile project(':android-map-utils')
    ....

    }

Tôi khuyên bạn nên nhập từng mô-đun một, biên dịch và kiểm tra nó.


0

Nếu giả sử bạn phát hiện ra lỗi này sau khi xóa một số mô-đun nút nhất định, thì tốt nhất là không nên hiện diện thư viện trong build.gradle (Mô-đun: ứng dụng). Nó có thể được gỡ bỏ theo cách thủ công và đồng bộ lại dự án.


0

Tôi cũng gặp phải vấn đề tương tự và vấn đề là các thư viện bị thiếu trong một số tệp sau đây.

settings.gradle, app / build.gradle, package.json, MainApplication.java

Giả sử thư viện là react-native-vector-icon thì nó sẽ được đề cập trong các tệp sau;

Trong tệp app / build.gradle dưới phần phụ thuộc, thêm:

biên dịch dự án (': react-native-vector-icon')

Trong tệp settings.gradle trong thư mục android, hãy thêm những thứ sau:

bao gồm dự án ': react-native-vector -cons' (': react-native-vector-icon'). projectDir = new File (rootProject.projectDir, '../node_modules/react-native-vector-icons/android' )

Trong MainApplication.java, thêm thông tin sau:

Nhập phần phụ thuộc: import com.oblador.vectoricons.VectorIconsPackage;

và sau đó thêm: VectorIconsPackage () mới trong phương thức getPackages ().


0

Loại bỏ một số phụ thuộc gốc phản ứng đã giải quyết được vấn đề

Xóa những dòng này thì vấn đề đã được giải quyết. Dòng này được tạo bởi liên kết rnpm nhưng là một lỗi.

compile project(':react-native-gps')
compile project(':react-native-maps')
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.