android library java library,Android Library和Android APP、Java Library的區別

东方华晖
2023-12-01

Android Library和Android APP、Java Library的區別

Android Library在目錄結構上與Android App相同,它能包含構建APP所需的一切(如源代碼、資源文件、Android Manifest)。

Android App最終被編譯打包成能在Android設備上運行的APK文件,但是Android Library被編譯成供其它Android App依賴的Android Archive (AAR)文件。

Java Library最終被編譯打包成Java Archive(JAR)文件,它不能打包Android資源文件,但是Android Library不僅能打包Java文件還能打包Android資源文件。

Android Library的使用場景

當你需要向其它APP提供一個通用模塊時。例如:你需要向其它APP提供通用的賬戶管理模塊。

當你需要構建不同的APK,但這些APK有共同核心功能時。例如:你的APP有免費版和付費版,但是它們有相同的核心功能。

在這兩種情況下,只需將要重用的文件移動到Android Library中,然后將library添加為每個APP模塊的依賴項,APP就能直接調用library中的功能,而不需要關心library的具體實現。

如何把App Module轉換成Android Library Module

如果你的App Module的全部代碼都可以重用,那么你可以把這個App Module轉換成Android Library Module,步驟如下:

1、 打開App Module的build.gradle文件。

2、 刪除applicationId這一行。只有App Module才需要定義applicationId。

3、 把文件頂部的 apply plugin: 'com.android.application' 改為 apply plugin: 'com.android.library'

4、 保存文件,點擊Tools > Android > Sync Project with Gradle Files。

這樣就完成了App Module到Android Library Module的轉換。 轉換后Module的整個結構不變,但是它已經是一個Android Library Module了,編譯后將生成AAR文件,而不是APK文件。

在Project面板中選中Library Module,然后點擊Build > Build APK,就能編譯生成對應的AAR文件到build>outputs>aar目錄。

如何添加依賴Android Library

在其它App Module中使用Android Library中的代碼的步驟如下:

方法一:

添加編譯生成的AAR文件到Project。

a、 點擊File > New > New Module。

b、 點擊Import .JAR/.AAR Package,然后點擊Next。

c、 輸入AAR文件的路徑,然后點擊Finish。

方法二:

Import Android Library到Project(library的源代碼就成了Project的一部分)。

a、 點擊File > New > Import Module。

b、 輸入library的目錄地址,然后點擊Finish。

這樣library就被copy到Project,且你可以編輯library的代碼。

如果你想只維護一份library的代碼,那么應該使用方法一,而不應該使用方法二。

關於我

微信公眾號:infree6 或者直接掃碼

 类似资料: