android導(dǎo)入導(dǎo)出jar,aar,so以及遠(yuǎn)程庫

(目前知道的方法就是這些,后面如果有更好的方法在來更新)

首先對遠(yuǎn)程庫的導(dǎo)入導(dǎo)出
上傳一個(gè)遠(yuǎn)程庫,前提是會使用github遠(yuǎn)程倉庫托管代碼。然后就是上傳代碼,添加releases,然后發(fā)布到j(luò)itpack就OK了。
為什么發(fā)布jitpack?唯一的原因就是簡單,方便而已。。。
最后在項(xiàng)目中添加依賴就可以使用了。

關(guān)于jar和aar:

獲取jar和aar包的方法相同,首先你的項(xiàng)目中要有Library。
rebuild project一下項(xiàng)目就OK了,然后在工程目錄下library-build-intermediates-bundles-debug下得到classes.jar就是需要的jar包。
目錄下library-build-outputs-aar下的aar文件就是aar包。

使用jar的方法很簡單,把jar包放在app下的libs目錄中,然后右鍵Add As Library就OK。
導(dǎo)入aar包也簡單,同樣將aar包放入libs目錄下,然后在app的build.gradle中(和android{}標(biāo)簽同級)添加如下代碼:

   repositories {
      flatDir { dirs 'libs' }
  }

然后添加依賴:(ss是你aar包的名稱,不包括后綴)

    implementation(name: 'ss', ext: 'aar')

OK。。

對于jar和aar包的導(dǎo)入也可以直接使用一句話全部導(dǎo)入

  implementation fileTree(include: ['*.jar'], dir: 'libs')

jar包和aar包的主要區(qū)別:

jar: 只包含了class文件與清單文件 ,不包含資源文件,如圖片等所有res中的文件。

aar: 包含jar包和資源文件,如圖片等所有res中的文件

也就是說aar包含的東西更多,如果library中包含資源的數(shù)據(jù)就必須使用aar。

關(guān)于so庫:

對于so庫的導(dǎo)出,這里不在介紹,我那篇ndk的文章中提到了,這里說一下如何導(dǎo)入

首先在main目錄下創(chuàng)建jniLibs目錄,將.so文件放入其中。

然后在java目錄下創(chuàng)建相應(yīng)的目錄,在此目錄下創(chuàng)建相應(yīng)的類,在類中創(chuàng)建相應(yīng)方法

例如若c文件中的方法名為

Java_a_b_c_JniUtils_getStringFormC

那么需要?jiǎng)?chuàng)建的目錄為a.b.c

需創(chuàng)建的類和方法為:

public class JniUtils {
    static {
        System.loadLibrary("password");   //靜態(tài)庫名稱要和生成靜態(tài)庫時(shí)用的庫名相同
    }
    public static native String getStringFormC();
}

由于必須知道方法名和庫名,所以使用so庫一定需要提供相應(yīng)的文檔和使用方法才行。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容