(目前知道的方法就是這些,后面如果有更好的方法在來更新)
首先對遠(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)的文檔和使用方法才行。