Android Studio ajoutant la bibliothèque rxjava
Question
Envisagez la structure de projet suivante :
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
J'ai téléchargé le .jar depuis http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.netflix.rxjava%22%20AND%20a%3A%22rxjava-core%22 (sources.jar) - mais j'en ai aussi essayé d'autres
Ensuite, j'ai créé le dossier lib dans le sous-projet, puis j'y ai placé le .jar.
Dans Android Studio, j'ai fait la droite sur la bibliothèque et sélectionné "Ajouter en tant que bibliothèque ..." avec niveau:"Bibliothèque de projet" et module :"Sous-projet".
Le rxjava utilise le nom de package "rx". J'ai implémenté du code qui importe ce package :
import rx.Observable;
import rx.Observer;
import rx.Subscription;
import rx.subscriptions.Subscriptions;
Lors de la construction du projet, l'erreur suivante s'est produite :
Gradle: package rx does not exist
Gradle: package rx.util.functions does not exist
Gradle: cannot find symbol class Action1
...
J'ai trouvé qu'il était nécessaire de mettre une ligne dans 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'
}
mais ensuite ça lance :
Gradle: A problem occurred evaluating project ':SubProject'.
> The description libs/rxjava-core-0.16.0-sources.jar is invalid
J'ai essayé de déplacer le .jar dans la structure du projet mais jusqu'à présent, sans succès.
Comment ajouter correctement une bibliothèque tierce au projet ?Est-ce que je peux créer moi-même le dossier « libs » ?
La solution
tu pourrais juste essayer d'ajouter :
compile 'com.netflix.rxjava:rxjava-android:0.16.1'
et n'oubliez pas de cliquer sur le bouton "Synchroniser le projet avec les fichiers Gradle".
Autres conseils
La dernière dépendance pour la grade devrait être:
compile 'io.reactivex:rxjava:1.0.10'
ref Ce lien .
vous devez d'abord ajouter le code compile 'libs/rxjava-core-0.16.0-sources.jar'
vous pouvez choisir la bibliothèque dans le dossier libs et trouver le "Synchroniser + nom de la bibliothèque" pour la reconstruire, puis vous pouvez utiliser la bibliothèque.j'espère pouvoir t'aider