Android Studio 添加第三方庫


Android Studio 添加第三方庫

本文演示怎么添加第三方庫:

  • so文件
  • Jar文件
  • Library庫文件
  • arr文件
  • jcenter、maven倉庫文件

 

so文件

方法一:

1.在src/main中新建jniLibs文件夾,把.so復制進去即可

 

 

 

方法二:

1.在app/中新建libs文件夾,吧.so復制進去

 

 

 

2.在app/build.gradle中添加以下五行腳本即可(注:以下腳本意思是會把libs文件夾當成jniLibs文件夾,可以直接用so庫了)

sourceSets {
    main {
        jniLibs.srcDirs = ['libs']
    }
}

 

貼上完整的app/build.gradle文件,紅色的部分是新增的

apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.0"

    defaultConfig {
        applicationId "com.example.firstapplication"
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
 sourceSets { main { jniLibs.srcDirs = ['libs'] } }
}

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

}

 

 

2.Jar文件

將jar文件復制至app module 目錄下的libs文件夾下,然后打開app module目錄下的build.gradle配置文件,在dependencies項中添加配置命令,這里有兩種配置方式可供選擇:

  • 一次性引入libs目錄下所有jar文件
compile fileTree(include: ['*.jar'], dir: 'libs')
  • 單個逐一引入jar文件
compile files('libs/universal-image-loader-1.8.6-with-sources.jar')

 

 

3.Library庫文件

將第三方Library庫文件復制到項目根目錄下,打開項目根項目目錄下的settings.gradle文件,添加配置命令,如:

include ':app', ':PullToRefresh'

然后打開app module目錄下build.gradle,添加配置命令,如:

compile project(':PullToRefresh')

小技巧: 推薦在項目根目錄下新建一個文件夾,如extras文件夾,將所有Library庫文件都復制到該文件夾下,方便統一瀏覽管理,這樣上面兩步對應的配置命令將變成:

include ':app', ':extras:PullToRefresh'

compile project(':extras:PullToRefresh')

 

 

4.aar文件

aar其實也是一個壓縮文件,相比jar文件,它能夠含帶res資源文件等,aar文件的引入方法有兩種:

  • Module形式引入

選擇File菜單,或者打開Project Structure界面,添加新的Module(New Module...),選擇Import .JAR/.AAR Package,選擇目標aar文件導入.導入之后,在項目根目錄會自動生成一個新的文件夾放置aar文件及其配置文件,如:

 

 

 然后打開app module 目錄下的build.gradle配置文件,在dependencies依賴中添加配置文件即可:

compile project(':qiniu-android-sdk-7.2.0')

注意:這種引入方式無法查看aar文件中的代碼和資源等文件.

  • libs目錄中引入

將aar文件復制到app module目錄下的libs目錄下的libs文件夾下,然后打開app module目錄下的build.gradle配置文件,在android一欄添加依賴:

repositories {
    flatDir {
        dirs 'libs'
    }
}

然后再在dependencies一欄中添加:

compile(name:'qiniu-android-sdk-7.2.0', ext:'aar')

對應完整的app module目錄下的build.gradle配置文件如:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.feng.demo"
        minSdkVersion 11
        targetSdkVersion 23
        versionCode 1
        versionName "1.0.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    repositories { flatDir { dirs 'libs' } }

}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile project(':extras:PullToRefresh')
    compile 'com.squareup.okhttp3:okhttp:3.2.0'
    compile(name:'qiniu-android-sdk-7.2.0', ext:'aar')
}

重新同步,編譯工程,然后可以在app的build目錄下生產對應aar的臨時文件,可以看到aar文件中的jar文件,資源文件等,看上去更像是一個解壓縮文件夾:

 

 

 

5.jcenter、maven倉庫文件

在項目根目錄的build.gradle文件中添加倉庫,如:

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

allprojects { repositories { jcenter() } }

task clean(type: Delete) {
    delete rootProject.buildDir
}

然后再各個Module的build.gradle配置文件的dependencies項中添加依賴,格式為: compile 'name:version', 如:

compile 'com.squareup.okhttp3:okhttp:3.2.0'

 

 

總結

以上便是針對Android Studio引入第三方庫文件的幾種方式,它們各有利弊,總結來看,就是在包含內容、源碼修改、版本更新三方面上的差異。Jar文件只包含java代碼,不像aar等其他文件能夠包含res資源文件;Library文件形式的引入可以讓開發人員根據自己的需求修改庫文件源碼,以達到適應自己項目的目的;而遠程倉庫形式的引入可以實現版本的自動檢測更新,保證自己項目使用的第三方庫文件始終是最新版本。

當然,一個優秀的第三方庫一般會提供多種方式的引入,考慮到Eclipse和AS用戶,至少要包含Jar文件和Gradle構建這兩種,其他一些供應者會根據自己的功能模式提供其他引入方式,比如七牛雲存儲便提供了aar的引入方式。大家可以根據自己的項目需求選擇合適的引入方式,畢竟,適合自己的才是最好的。

 

 

最后:請留下您的贊!阿里嘎多.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM