常用的依赖以及部分设置
//权限申请
implementation ("com.github.getActivity:XXPermissions:18.6")
//Toaster
implementation ("com.github.getActivity:Toaster:12.6")
//网络请求
implementation ("com.squareup.okhttp3:okhttp:4.10.0")
//json转换
implementation ("com.google.code.gson:gson:2.9.0")
//Room database
def room_version = "2.2.3"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
//相机
def camerax_version = "1.3.1" //"1.1.0-beta03"
// CameraX core library
implementation "androidx.camera:camera-core:$camerax_version"
// CameraX Camera2 extensions[可选]拓展库可实现人像、HDR、夜间和美颜、滤镜但依赖于OEM
implementation "androidx.camera:camera-camera2:$camerax_version"
// CameraX Lifecycle library[可选]避免手动在生命周期释放和销毁数据
implementation "androidx.camera:camera-lifecycle:$camerax_version"
// CameraX View class[可选]最佳实践,最好用里面的PreviewView,它会自行判断用SurfaceView还是TextureView来实现
implementation "androidx.camera:camera-view:$camerax_version"
implementation "androidx.camera:camera-extensions:${camerax_version}"
// If you want to additionally use the CameraX VideoCapture library
implementation "androidx.camera:camera-video:${camerax_version}"
//内存泄漏
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12'
//图片加载
implementation 'com.github.bumptech.glide:glide:4.15.1'
针对于XXPermissions需要修改一部分配置
1.gradle.properties中新增 android.enableJetifier = true
2.settings.gradle中增加maven { url ‘https://jitpack.io’ }
项目的build.gradle部分设置
buildFeatures {
viewBinding true
}
ndk {
abiFilters "arm64-v8a"
}
signingConfigs {
create('db') {
storeFile = file("$rootProject.projectDir.absolutePath/db.keystore")
storePassword = 'android'
keyAlias = '******'
keyPassword = '*******'
}
}
/**
* libs so
*/
sourceSets.main.jniLibs.srcDirs = ['libs']
buildTypes {
debug {
signingConfig signingConfigs['db']
minifyEnabled = false
}
release {
signingConfig signingConfigs['db']
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
android.applicationVariants.all {
variant ->
variant.outputs.all {
outputFileName = "XRSA-${variant.versionName}.apk"
}
}
在此做个笔记