利用libs.versions.toml配置gradle

在新建项目时,我发现了一种较为简洁的gradle依赖配置方式——libs.version.toml。

该文件存储在项目级别的gradle -> libs.versions.toml路径下。在一个toml文件中包含三个级别:version、libraries和plugins。分别用于存储依赖库的版本号、名称以及插件名称。

此处我们以datastorePrefences依赖库为例,不使用toml文件的写法在模块级别的build.gradle文件下是这样的(Groovy语言):

dependencies {
    ...
    implementation 'androidx.datastore:datastore-preferences:1.0.0'
}

在toml配置后如下:

[version]
...
datastorePreferences = "1.0.0"

[libraries]
...
datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastorePreferences" }

[plugin]
...

 在完成对toml文件的配置后,我们在模块级别的build.gradle文件下的引用变成了这样:

dependencies {
    ...
    implementation(libs.datastore.preferences)
}
`build.gradle.kts` 是 Kotlin 版本的 Gradle 构建脚本,用于 Android 开发项目。如果你需要添加 NDK (Native Development Kit) 配置以便能在项目中使用 C/C++ 编写的原生模块,你可以按照以下步骤操作: 1. **添加依赖**: 在 `plugins` 区域,添加 `com.android.application` 或 `com.android.library` 根据你的项目类型,然后引入 `android-gradle插件版本` 和 `nativescript` 插件,这通常会自动关联到 `cinterop` 和 `nativelibs` 功能支持 NDK: ```kotlin plugins { id("com.android.application") version "7.0.0" // or "com.android.library" for library projects kotlin("multiplatform") kotlin("plugin-android-ktx") nativescript("0.8.0") } ``` 2. **设置NDK路径**: 添加全局的 NDK 安装目录到环境变量 `NDK_HOME` 或者直接在脚本中指定: ```kotlin val ndkVersion = "24.0.7595550" // Your desired NDK version val ndkPath = "/path/to/your/ndk_directory" // Replace with your actual path tasks.register("prepareNdk", type: ConfigureTask) { ext.ndkHome = ndkPath doLast { apply(from = "com.android.application") android { externalNativeBuild { cmake { cppFlags "-std=c++11" ndk { abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64" toolchainVersion = ndkVersion } } } } } } // Alternatively, you can set the environment variable in the script environment["NDK_HOME"] = ndkPath ``` 3. **创建 Native Modules**: 如果有 C/C++ 模块,你需要创建对应的源文件夹,并创建 `CMakeLists.txt` 文件描述构建配置。 4. **应用到目标架构**: 对于每个支持的平台或模块,你需要配置它们的 `android.sourceSets` 并将 `externalNativeBuild` 设置为 `true`: ```kotlin android { sourceSets { main.jniLibs.srcDirs += "$projectDir/nativeLibs/$targetFlavor/debug" main.jniLibs.srcDirs += "$projectDir/nativeLibs/$targetFlavor/release" // Add other configurations if needed (e.g., arm64) release.jniLibs.srcDirs += "$projectDir/nativeLibs/$targetFlavor/release" } ... } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值