apply plugin: 'com.android.application' //apply plugin: 'com.android.library' apply plugin: 'img-optimizer' apply plugin: 'com.alibaba.arouter' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'com.google.gms.google-services' apply plugin: 'com.google.firebase.crashlytics' android { lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for errors in release builds, // but continue the build even when errors are found: abortOnError false } compileSdkVersion rootProject.ext.android.compileSdkVersion buildToolsVersion rootProject.ext.android.buildToolsVersion packagingOptions { pickFirst "lib/armeabi/libyuvutils.so" pickFirst "lib/arm64-v8a/libyuvutils.so" pickFirst "lib/armeabi-v7a/libyuvutils.so" pickFirst "lib/armeabi/libyuvtools.so" pickFirst "lib/arm64-v8a/libyuvtools.so" pickFirst "lib/armeabi-v7a/libyuvtools.so" exclude "lib/arm64-v8a/libmmcv_api_handgesture.so" exclude "lib/arm64-v8a/libmmcv_api_express.so" exclude "lib/arm64-v8a/libMediaEncoder.so" exclude "lib/arm64-v8a/libarcore_sdk_c.so" exclude "lib/arm64-v8a/libmediadecoder.so" exclude "lib/arm64-v8a/libMediaMuxer.so" exclude "lib/arm64-v8a/libarcore_sdk_jni.so" exclude "lib/arm64-v8a/libMediaUtils.so" exclude "lib/arm64-v8a/libcosmosffmpeg.so" //旧美颜so exclude 'lib/arm64-v8a/libxeengine.so' exclude 'lib/arm64-v8a/libmmcv_base.so' exclude 'lib/arm64-v8a/libmmcrypto.so' exclude 'lib/arm64-v8a/libMNN.so' pickFirst 'lib/arm64-v8a/libc++_shared.so' exclude 'lib/arm64-v8a/libmmcv_api_base.so' exclude 'lib/arm64-v8a/libmmcv_api_beauty.so' exclude 'lib/arm64-v8a/libmmcv_api_bodylandmark.so' exclude 'lib/arm64-v8a/libmmcv_api_express.so' exclude 'lib/arm64-v8a/libmmcv_api_faceattributes.so' exclude 'lib/arm64-v8a/libmmcv_api_facefeatures.so' exclude 'lib/arm64-v8a/libmmcv_api_faceprocessor.so' exclude 'lib/arm64-v8a/libmmcv_api_facerecognition.so' exclude 'lib/arm64-v8a/libmmcv_api_handgesture.so' exclude 'lib/arm64-v8a/libmmcv_api_imagequality.so' exclude 'lib/arm64-v8a/libmmcv_api_objectdetect.so' exclude 'lib/arm64-v8a/libmmcv_api_segmentation.so' exclude 'lib/arm64-v8a/libmmcv_api_videoprocessor.so' exclude 'lib/arm64-v8a/libmmlic.so' exclude 'lib/arm64-v8a/libMNN_CL.so' exclude 'lib/arm64-v8a/libMNN_Express.so' exclude 'lib/armeabi-v7a/libxeengine.so' exclude 'lib/armeabi-v7a/libmmcv_base.so' exclude 'lib/armeabi-v7a/libmmcrypto.so' exclude 'lib/armeabi-v7a/libMNN.so' pickFirst 'lib/armeabi-v7a/libc++_shared.so' exclude 'lib/armeabi-v7a/libmmcv_api_base.so' exclude 'lib/armeabi-v7a/libmmcv_api_beauty.so' exclude 'lib/armeabi-v7a/libmmcv_api_bodylandmark.so' exclude 'lib/armeabi-v7a/libmmcv_api_express.so' exclude 'lib/armeabi-v7a/libmmcv_api_faceattributes.so' exclude 'lib/armeabi-v7a/libmmcv_api_facefeatures.so' exclude 'lib/armeabi-v7a/libmmcv_api_faceprocessor.so' exclude 'lib/armeabi-v7a/libmmcv_api_facerecognition.so' exclude 'lib/armeabi-v7a/libmmcv_api_handgesture.so' exclude 'lib/armeabi-v7a/libmmcv_api_imagequality.so' exclude 'lib/armeabi-v7a/libmmcv_api_objectdetect.so' exclude 'lib/armeabi-v7a/libmmcv_api_segmentation.so' exclude 'lib/armeabi-v7a/libmmcv_api_videoprocessor.so' exclude 'lib/armeabi-v7a/libmmlic.so' exclude 'lib/armeabi-v7a/libMNN_CL.so' exclude 'lib/armeabi-v7a/libMNN_Express.so' //美颜 if (rootProject.ext.manifestPlaceholders.isPluginModel) { exclude 'lib/armeabi-v7a/libCNamaSDK.so' exclude 'lib/arm64-v8a/libCNamaSDK.so' exclude 'lib/armeabi-v7a/libfuai.so' exclude 'lib/arm64-v8a/libfuai.so' } } applicationVariants.all { variant -> String variantName = variant.name.capitalize() def processManifestTask = project.tasks.getByName("process${variantName}Manifest") processManifestTask.doLast { pm -> String manifestPath = "build/intermediates/bundle_manifest/release/bundle-manifest/AndroidManifest.xml" def isGooglePlay = rootProject.ext.manifestPlaceholders.isGooglePlay if (file(manifestPath).exists() && isGooglePlay) { def manifestContent = file(manifestPath).getText() manifestContent = manifestContent.replace('', '') file(manifestPath).write(manifestContent) } else { print "not Exists = " + manifestPath } } variant.outputs.all { outputFileName = "[${new Date().format("MM-dd", TimeZone.getTimeZone("GMT+8"))}]友聊-${rootProject.ext.android.otoversionName}-${variant.buildType.name}.apk" } } defaultConfig { //applicationId "com.shayu.onetoonenew" applicationId "com.pdlive.shayu" minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion versionCode rootProject.ext.android.otoversionCode versionName rootProject.ext.android.otoversionName manifestPlaceholders = rootProject.ext.manifestPlaceholders ndk { abiFilters "armeabi-v7a", "arm64-v8a" } javaCompileOptions { annotationProcessorOptions { arguments = [AROUTER_MODULE_NAME: project.getName()] } } } aaptOptions { cruncherEnabled = false useNewCruncher = false } signingConfigs { release { keyAlias 'phonelive' keyPassword 'phonelive' storeFile file('../hdl.jks') storePassword 'phonelive' } debug { keyAlias 'phonelive' keyPassword 'phonelive' storeFile file('../hdl.jks') storePassword 'phonelive' } //陌陌本地配置需要 config {//TODO BEAUTYSDK 这里需要配置keystore相关信息 keyAlias 'phonelive' keyPassword 'phonelive' storeFile file('../hdl.jks')//keystore的存放路径 storePassword 'phonelive' v2SigningEnabled true // android 5.0-8.0,必须用V2,否则会有安全问题 v1SigningEnabled true } } buildTypes { release { minifyEnabled false shrinkResources false zipAlignEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } debug { minifyEnabled false shrinkResources false zipAlignEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } repositories { flatDir { dirs 'libs', '../libs' } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.6.1' implementation rootProject.ext.dependencies["recyclerview-androidx"] implementation project(path: ':lib_country_code') annotationProcessor rootProject.ext.dependencies["arouter-compiler"] implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation platform('com.google.firebase:firebase-bom:30.5.0') implementation 'com.google.firebase:firebase-crashlytics' //common api project(path: ':common') //api project(path:':FaceUnity')//新娱美颜 api project(path:':Share') api project(path:':main') api project(path:':TabLayout') api project(path:':ViewPager2Delegate') api project(path:':callkit')//// 音视频通话能力 UI 组件 //implementation 'com.github.angcyo.DslTablayout:TabLayout:3.5.5' //可选 //implementation 'com.github.angcyo.DslTablayout:ViewPager2Delegate:3.5.5' //ExoPlayer,腾讯的播放器不支持无缝切换 implementation 'com.google.android.exoplayer:exoplayer:2.18.5' implementation 'com.google.android.exoplayer:exoplayer-core:2.18.5@aar' // implementation 'cn.rongcloud.sdk:call_kit:5.5.0' // 音视频通话能力 UI 组件 implementation 'com.github.luqiming666:SwipeRecyclerView:1.4.8'//支持侧滑删除 implementation 'com.google.android.material:material:1.6.1' implementation 'com.blankj:utilcode:1.30.0'//獲取uuid implementation 'com.google.android.flexbox:flexbox:3.0.0'//自动换行框架 }