2015-03-16 19 views
8

Benzer sorulardaki tüm yanıtlar, geçici olarak düzenlenen gradle dosyaları hakkında konuşuyor. Ancak AAR dosyasını içe aktarmak ve build.gradle dosyalarını kontrol etmek için Android Studio'yu kullandım ve hepsi doğru görünüyor.Android Studio, içe aktarılan AAR modülünden gelen sembolleri özemiyor.

Benim sorun budur:

failed imports

Ben ettik ithal ShowCaseView v5.0.0 AAR ama benim Tutorial.java dosyasındaki sınıfları almaya çalıştığınızda (kırmızı renkle görebilir) Android Studio sınıfları tanımıyor. Android Studio'nun tanıdığı tek içe aktarma noktası com.github.amlcurran.showcaseview.R.

Ayrıca, & projeyi yeniden oluşturmayı denedim ve &, Android Studio'yu yeniden açın, ancak yardımcı olmaz.

P.S. lütfen eksik XML dosyalarını, bunları projeye kopyalamamdan önce görmezden gelmeyin.

configurations.create("default") 
artifacts.add("default", file('ShowCaseView-5.0.0.aar')) 

Benim uygulamanın build.gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     applicationId "com.giraffeweather" 
     minSdkVersion 19 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:21.0.3' 
    compile project(':ShowCaseView-5.0.0') 
} 

Android Studio projenin build.gradle:

Gradle

ShowCaseView-5.0.0> build.gradle dosyaları

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

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

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

gradle ayarlar dosyası settings.gradle:

include ':app', ':ShowCaseView-5.0.0' 
+0

aşağıdaki eklemek için dosyayı build.gradle güncelleştirmek "build.gradle dosyalarını kontrol ve hepsi görünmek Doğru "-" build.gradle "(ve bu durumda, görünüşte' settings.gradle') dosyalarını yayınlamadığınızdan emin olmanıza yardımcı olamayız. Neden sadece AAR'ı bir kütüphane olarak görüyorsunuz, çünkü [kütüphanenin belgeleri] (https://github.com/amlcurran/ShowcaseView#project-set-up)? – CommonsWare

+0

Yanıtları, build.gradle ve settings.gradle dosyalarına karşı benzer sorularda kontrol ettim ve bu cevaplarda olduğu gibi. Aslında, Android Studio onları benim için yarattığından beri bununla ilgili herhangi bir sorun olmayacağını düşündüm. Gradle hakkında ya da bu 'compile 'com.github.amlcurran.showcaseview: library: 5.0.0' komutunu nasıl kullanacağımı bilmiyorum - bence siz buna atıfta bulunuyorsunuz.Eclipse ADT'den Android Studio'ya geçtim ve bu "gradle" kelimesini ilk defa gördüğümde. Ayrıca, neden bir AAR alıp aktarmadığımı bilmek istiyorum. JAR gibi sınıf dosyalarını referanslayamıyorum. – Ozzy

+0

"Yaptığım cevaplar, build.gradle ve settings.gradle dosyalarına karşı benzer sorularda kontrol ettim ve bu cevaplarda olduğu gibi" - bu onları göremeyeceğimiz anlamına gelmez, çünkü onları göremeyiz . "Bu gördüğüm ilk kez" gradle "kelimesini görüyorum - bu, [Android Studio'ya genel bakış] 'daki ilk mermide bulunuyor (http://developer.android.com/tools/studio/index.html). Ayrıca aradığınız kütüphane gibi [bağımlılıklar dahil] (http://developer.android.com/tools/building/configuring-gradle.html#buildFileBasics) ile ilgili belgeler de bulunmaktadır. – CommonsWare

cevap

0

Ben AAR içe yaklaşık sıfır insanlar biliyorum bu sayede dosyaları ve hatta düzgün çalışıp çalışmadığını hiçbir fikrim yok. Sonuçlarınız bunun olmadığını gösteriyor.

Bintray en JCenter gelen kütüphaneyi çekerek geçmek için: ShowCaseView-5.0.0 dizini silin:

Adım # 1: compile 'com.github.amlcurran.showcaseview:library:5.0.0'

Adım # 2 ile compile project(':ShowCaseView-5.0.0') değiştirin: Adım # 3 , ':ShowCaseView-5.0.0'

settings.gradle Sil

+0

Tamam, işe yaradı! teşekkürler :) Hala neden bir AAR almak için bir sihirbaz yaparlar ve işe yaramazsa anlamıyorum. – Ozzy

+4

@Ozzy: Android Studio'nun mevcut sürümü ile Android 1.1.0 için Gradle eklentisi arasında belki de bir çatışma olduğu anlaşılıyor: https://groups.google.com/forum/#!topic/adt-dev/1Ho_c8dALQQ – CommonsWare

+1

BinTray veya Jcenter aracılığıyla yayınlanmayan bir kapalı kaynak kitaplığı alıyorum ve bir AAR olarak sağlanmıştır. Yukarıda açıklandığı gibi aynı sorunu yaşıyorum. Bu çözüm benim için işe yaramıyor –

1

Projenin build.gradle dosyasında "ShowCaseView-5.0.0.aar" konumunu belirtmeniz gerekiyor. EG, ShowCaseView-5.0.0.aar dosya projenin kök dizin altında "kütüphanelerini" adlı bir klasörde, sen

allprojects { 
    repositories { 
     flatDir { 
      dirs 'libs' 
     } 
    } 
} 
İlgili konular