【短視頻SDK】如何導入Android的AAR?動態庫so文件到底怎麼樣放呢?
開發者在拿到短視頻Android的SDK的時候會有些覺得不太一樣,為什麼SDK提供的是AAR文件和幾個so文件呢?我們常見的SDK不是都是jar包嗎?文本試圖將AAR是什麼,如何導入出現的問題進行一個歸納總結,希望開發者讀完能夠解決這種類型的問題.
1.什麼是AAR文件?如何導入AAR文件?
1.1 什麼是AAR文件?
開發者在開發的時候大家都遵循組件化的思路寫代碼,比如我們在寫一個圓形的自定義組件的時候,這個組件是一個獨立的組件,但是他可能不僅僅包含Java代碼,還有很多資源甚至是底層so文件,為了解決Android開發中組件引用的問題,引入aar格式。也是簡單的zip格式。
定義:The ‘aar’ bundle is the binary distribution of an Android Library Project.
Zip包中的內容可能包含有:
/AndroidManifest.xml
/classes.jar
/res/
/R.txt
/assets/
/libs/*.jar
/jni//*.so
/proguard.txt
1.2 如何導入AAR文件?
aar可通過以下三種方式引入到項目中:
- 公共Maven倉庫
- 私有Maven倉庫
- 本地aar文件
其中第一和第二點因為是需要發布Maven,這裏不做講解,僅僅講解如何導入本地AAR文件:
1.將AAR文件拷貝到Application Module/libs目錄下,如沒有libs目錄,創建就好。注意要在Application Module根目錄下,不是Project根目錄下。
2.在Application Module/build.gradle中添加
//repositories flatDir用來聲明文件目錄做為依賴庫’libs’路徑是build.gradle的相對路徑,目錄名稱可以任意,也可以同時聲明多個dirs。
repositories {
flatDir {
dirs 'libs'
}
}
3.在Application Module/build.gradle中添加依賴
dependencies {
//name指定你自己的AAR名稱即可.
compile(name:'AliyunSdk-RCE.aar', ext:'aar')
}
注意:除了這種模式導入本地之外事實上還有其他的模式就是新建module選擇以AAR導入,這樣選擇AAR文件即可.
2. so文件如何導入?
因為短視頻、播放器、直播都是需要C,C++開發的,所以需要提供動態庫so文件, 短視頻SDK現在so文件因為希望用戶能夠靈活的配置所以直接放出來讓開發者自己自由配置.那麼如何配置so文件呢?開發者常常出現的so文件找不到的原因又是為什麼呢?
2.1 引入so文件
目前引入so文件有兩種方式都是需要依賴gradle的編譯.注意位置和名稱
方法一:
將so文件拷貝到Application Module/src/main/jniLibs/armeabi-v7a目錄下(目錄如果沒有新建即可,名字必須要對應)
方法二:
1.將so文件拷貝到Application Module/libs/armeabi-v7a目錄下
2.在Application Module/build.gradle中添加
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
2.2 解決找不到so文件的錯誤
見【視頻雲端SDK】關於安卓指令集的兼容,Library xxx.so not found
最後更新:2017-08-31 16:32:53