2013-10-10 22 views
31

den Gradle projesini gerektir:Ben bir dizin/proje kurulum şu var başka bir dizine

C:\ 
    _dev\ 
     Projects\ 
      Logger 
      MyProject 

Kaydedici Gradle kullanan Android kütüphane projesi. MyProject, Logger kitaplığından yararlanmak isteyen standart bir Android proje projesidir.

Android Studio'yu kullanıyorum ve dış kitaplıklara Logger eklemeyi denedim. Bu gelişme sırasında çalışırken, inşa ederken bulunmayan sınıf hakkında mesajlar alıyorum.

Ben Gradle tamamen yeniyim ama MyProject içinde benim build.gradle aşağıdaki denedi:

küresel "bağımlılıkları" bölümüne bağımlılık ekleyerek
buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 
apply plugin: 'android' 

repositories { 
    mavenCentral() 
} 

android { 
    compileSdkVersion 18 
    buildToolsVersion "18.1.0" 

    defaultConfig { 
     minSdkVersion 16 
     targetSdkVersion 18 
    } 

    dependencies { 
     compile files("../Logger") 
    } 
} 

dependencies { 
    compile 'com.android.support:gridlayout-v7:18.0.0' 
    compile 'com.android.support:appcompat-v7:18.0.0' 
} 
+3

Bunu beğendiniz mi? http://stackoverflow.com/questions/17479076/android-studio-add-external-project-to-build-gradle – Lesleh

+0

Maalesef bunu denedim. , ': logger' projesini (': logger') içerir. ProjectDir = new File (settingsDir, '../SysLog') – euantorano

cevap

79

basit yolu MyProject projesini bir alt proje olarak Logger projesi ile yapmaktır. MyProject dizinde

settings.gradle:

dependencies { 
    compile 'com.android.support:gridlayout-v7:18.0.0' 
    compile 'com.android.support:appcompat-v7:18.0.0' 
    compile project(":logger") 
} 
+0

Teşekkürler, bu tam olarak ihtiyacım olan şey. Proje bunu eklediğimde başarıyla derlendi. – euantorano

+0

Gradle ana sayfasının gradle.properties dosyasından bir özellik değeri kullanabilir misiniz? – Rick

+0

Bu tam olarak benim elde ettiğim şeydi, ve tam olarak aradığım cevap tam olarak: -D – Antinous

3

deneyin değil, "android bağımlılıklar. Geliştirme sırasında "android" yapılandırması kullanılır, ancak çalışma zamanını paketlemez.

dependencies { 
    compile 'com.android.support:gridlayout-v7:18.0.0' 
    compile 'com.android.support:appcompat-v7:18.0.0' 
    compile files("../Logger") 
} 

Ayrıca burada gibi paylaşılan üst dizinde bir build.gradle ve settings.gradle sahip çok proje gradle yapılandırma kurma göz atmak faydalı olabilir: http://www.gradle.org/docs/current/userguide/multi_project_builds.html

+0

Sadece denedim, ne yazık ki. Hala aynı hataları alıyoruz. – euantorano

3

Android Studio 2.2.3:

ekle yılında

include ":logger" 
project(":logger").projectDir = file("../logger") 

Şimdi bir proje olarak bu lib başvurabilir build.gradleMyProject arasında settings.gradle.

include ':app', ':new_lib' 
project(':new_lib').projectDir = new File('../new_lib/app') 
  • yolu üzerinde çalışıyoruz projenin kökünden göreli olmalıdır.
  • Referans verdiğiniz modülün "app" uygulaması dizinine sahip olması gerekir.

Sonra Proje Yapısı düzenlemek | Bağımlılıklar kurmak için modüller.

+0

Bunu Android Studio'da denedim ama şimdi kök projem artık bir kitaplık ve derleme varyantları olarak görülmüyor sadece mevcut modül olarak ": new_lib" dediğiniz şeyi gösterin. Orijinal 'uygulama' artık modül listesinde değil. – ZeroStatic

İlgili konular