Adding *.jar
to the Project is done by using build.gradle
file:
- If you want to add a
jar
file to the project, Facebook had already done on your behalf!
Just add a libs
folder into the android/app
directory of the project with your jar
file and enjoy!
- If you want to add a
jar
file to a native-module
then add the line of compile fileTree(dir: "libs", include: ["*.jar"])
into the dependencies
part of build.gradle
file of the native-module.
Example-1:
After I added okhttp-3.4.1.jar file into the lib folder, I also add that package name to the dependencies part as the following:
dependencies {
compile fileTree(dir: "libs", include: ["*.jar"])
compile 'com.facebook.react:react-native:0.19.+'
}
Example-2:
If I need another package -that is found in Maven repo- I have to add into dependencies block as following (for instance I wanna add fresco
):
dependencies {
compile 'com.facebook.fresco:fresco:1.9.0'
}
Then Gradle will find and install dependency library Fresco for me.
Usually, every Android project has already Maven repo. configurations in build.gradle
file which is found in top of folder of the project.
For example:
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
Example-3:
(I have never tried this however it should be worked)
If I have an drawee-debug.aar
file I can add it into my project by putting it into lib
folder as directed on Example-1 then I have to change fileTree
line as following:
compile fileTree(dir: "libs", include: ["*.jar", "*.aar"]) // "*.aar" is added
Example-4:
(alternate way of Example-3)
If I have an drawee-debug.aar
file also I can add it into my project by putting it into lib
folder as directed on Example-1 then I have to change and add some lines as following:
dependencies {
compile (name:'drawee-debug', ext:'aar')
}
allprojects {
repositories {
...
flatDir {
dirs 'libs', './libs'
}
...
}
}
In this way, libs
directory is defined in allprojects
folder and aar
file specified in dependencies
block, like othe examples.
Note that after Gradle v3.0.1 implementation
is used instead compile
key word.
Kudos: https://stackoverflow.com/a/37092426/3765109
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…