2013-09-02 74 views
7

Tôi có một số vấn đề với việc xây dựng đa cấp với gradle. Tôi đọc tất cả các câu hỏi tương tự nhưng không có gì giúp đỡ. Cấu trúc của các dự án của tôi trông giống như:lỗi xây dựng gradle đa cấp: gói không tồn tại

App/ 
    settings.gradle 
    app/ 
     build.gradle 
    libraries/ 
     Core(git submodule)/ 
      Core/ 
       build.gradle 
      libraries/ 
       ZBarLibrary/ 
        build.gradle 
      settings.gradle 

App/settings.gradle

include ':App', ':libraries:Core', ':libraries:ZBarLibrary' 
project(':libraries:Core').projectDir = new File(settingsDir, 'libraries/Core/Core') 
project(':libraries:ZBarLibrary').projectDir = new File(settingsDir, 'libraries/Core/libraries/ZBarLibrary') 

App/app/build.gradle

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

repositories { 
    mavenCentral() 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 14 
     targetSdkVersion 16 
    } 
} 

dependencies { 
    compile 'com.android.support:support-v4:18.0.0' 
    compile project(':libraries:Core') 
} 

ứng dụng/thư viện/Core/Core/xây dựng .gradle

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

repositories { 
    mavenCentral() 
} 

dependencies { 
    instrumentTestCompile "junit:junit:4.5+" 
    compile project(':libraries:ZBarLibrary') 
    compile fileTree(dir: 'libs', include: '*.jar') 

} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 14 
     targetSdkVersion 16 
    } 
} 

App/libraries/Core/libr aries/ZBarLibrary/build.gradle

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 
apply plugin: 'android-library' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 14 
     targetSdkVersion 16 
    } 

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

Lệnh "xây dựng gradle" trong Thư mục ứng dụng tạo lỗi: "gói com ... không tồn tại". Gói này được sử dụng trong mô-đun ứng dụng nhưng nó được tìm thấy trong App/libraries/Core/Core/src/main/java. Bạn có thể giúp tôi?

Trả lời

4

Nếu bạn đang sử dụng cốt lõi như thư viện, bạn nên thay đổi apply plugin: 'android'-apply plugin: 'android-library' trong ứng dụng/thư viện/Core/Core/build.gradle

+0

tôi nhận thấy rằng không có thư viện. Hơn nữa, thiết lập thư mục cho ZBarLibrary từ setting.gradle không làm việc cho tôi. – piobab

+0

FYI Tôi nhận được thông báo rằng 'android-library' hiện không còn được dùng nữa và bạn nên sử dụng com.android.library – Scott

3

Để giải quyết các lỗi gói không tìm thấy, trong hồ sơ app mô-đun của build.gradle tôi thêm

dependencies { 
    // ... 
    compile project(':library') 
} 

mà thêm các module library như một sự phụ thuộc vào mô-đun app

6

build.gradle mô-đun ứng dụng của bạn nên chứa (trong số những thứ khác) tập tin build.gradle

apply plugin: 'com.android.application' 
dependencies { 
    compile project(':my_library_module') 
} 

Module thư viện của bạn nên chứa

apply plugin: 'com.android.library' 
Các vấn đề liên quan