在开发 Android 应用时,我们可以生成一个 AAR 文件,并在不同的 android 项目中使用它。
创建一个 Android 库将节省您编译和运行项目的时间,并且您可以与其他人共享现有的服务、图像、资源、布局。
库使重用现有代码非常方便。
在构建库时,请记住这句话:
“如果你想从零开始做一个苹果派,你必须先发明宇宙。” ——卡尔·萨根,《宇宙》
所以让我们开始吧。
创建一个 Android 库
启动过程:
项目设置→打开一个新项目→选择一个空项目模板
这将创建一个空的 Android 项目。
单击 文件 > 新建 > 新模块。
在出现的 Create New Module 窗口中,单击 Android Library
然后为您的库命名并为库中的代码选择最低 SDK 版本,然后单击 Finish。
库模块出现在左侧的“项目”面板中。
在文件的顶部,如果它不存在,则应包含以下行。
apply plugin: 'com.android.library'
~/woah/build.gradle
plugins {
id 'org.jetbrains.kotlin.android'
id 'com.android.library'
}
android {
compileSdk 31
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.7.0'
}
尝试简单地 构建 > 重建项目或在终端中执行:
./gradlew assembleRelease
或 从 Android Studio 的 Gradle 菜单中选择 。assembleRelease
成功构建后,首先切换到左侧面板中的项目视图并如下所示导航。
AAR 文件应出现在~/woah/build/outputs/aar/
AAR 文件可以包含 Android 资源和清单文件,它允许您捆绑共享资源,例如布局和可绘制对象以及 Java 类和方法。
AAR 文件可以包含供应用程序模块的 C/C++ 代码使用的 C/C++ 库。
在您的库模块中实现您的逻辑
让我们编写一个简单的库,当您的应用程序崩溃时显示该库。
interface CrashListener {
fun onUncaughtException(thread: Thread, throwable: Throwable)
}
object Woah {
@JvmStatic
fun init(crashListener: CrashListener) {
Thread.setDefaultUncaughtExceptionHandler { p0, p1 ->
crashListener.onUncaughtException(p0, p1)
}
}
}
在类上添加 @Keep 可以保护类在优化期间不被 proguard 删除。
不要使用默认资源名称,例如资源中的colorAccent
或colorPrimary
。
默认主机应用程序资源将始终被优先考虑。
如何集成 AAR 库
只需将 AAR 文件移动到 libs 目录即可。
然后在build.gradle
文件中添加:
dependencies {
implementation project(':woah')
implementation fileTree(dir: "libs", include: ["*.aar"])
...
}
结论
在本指南中,我们介绍了创建 Android 库所需的所有步骤。
创建 Android 库的目标应该是开发更易于重用的用户友好界面。
资源:
示例(完整代码)
https://github.com/tkrest/woah
安卓库
https://developer.android.com/studio/projects/android-library
依赖项
https://developer.android.com/studio/build/dependencies
how-to-create-an-android-library