Рассмотрим следующую структуру проекта:
MainProject
-.idea
-.grandle
-src
-SubProject
--libs //I created this folder manually
---rxjava-core-0.16.0-sources.jar
--src
---main //+ all the sources
--build.grandle
--SubProject.iml
-build.grandle
-//other files
Я скачал .jar с сайта http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.netflix.rxjava%22%20AND%20a%3A%22rxjava-core%22 (sources.jar) - но я пробовал и другие
Затем я создал папку lib в подпроекте, а затем поместил в нее .jar.
В Android Studio я щелкнул правой кнопкой мыши по библиотеке и выбрал «Добавить как библиотеку...» с уровнем: «Библиотека проекта» и модулем: «Подпроект».
В rxjava используется имя пакета "rx". У меня есть код, который импортирует этот пакет:
import rx.Observable;
import rx.Observer;
import rx.Subscription;
import rx.subscriptions.Subscriptions;
При сборке проекта возникает следующая ошибка:
Gradle: package rx does not exist
Gradle: package rx.util.functions does not exist
Gradle: cannot find symbol class Action1
...
Я обнаружил, что необходимо добавить строку в SubProject/build.grandle:
dependencies {
compile 'libs/rxjava-core-0.16.0-sources.jar' //added line
compile 'com.android.support:support-v4:19.0.0'
compile 'com.android.support:appcompat-v7:19.0.0'
}
но потом выдает:
Gradle: A problem occurred evaluating project ':SubProject'.
> The description libs/rxjava-core-0.16.0-sources.jar is invalid
Я попытался переместить .jar по структуре проекта, но пока безуспешно.
Как правильно добавить стороннюю библиотеку в проект? Это нормально, что я сам создал папку «libs»?
libs
самостоятельно. Взгляните на ЭТО ответ. - person MAC   schedule 11.01.2014