diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FURenderer.java b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FURenderer.java index 2c5855435..19ff7db23 100644 --- a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FURenderer.java +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FURenderer.java @@ -55,8 +55,8 @@ public class FURenderer extends IFURenderer { private FURenderKit mFURenderKit; /* AI道具*/ - private String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor_lite.bundle"; - private String BUNDLE_AI_HUMAN = "model" + File.separator + "ai_human_processor.bundle"; + public static String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor_lite.bundle"; + public static String BUNDLE_AI_HUMAN = "model" + File.separator + "ai_human_processor.bundle"; /* GL 线程 ID */ private Long mGlThreadId = 0L; diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FileUtils.java b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FileUtils.java index ae38e1cf0..c868cbf1b 100644 --- a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FileUtils.java +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FileUtils.java @@ -314,6 +314,35 @@ public class FileUtils { return null; } + public static String copyAssetsFile(Context context, String assetsPath, String fileName, String saveFileDir) { + File fileDir = new File(saveFileDir); + if (!fileDir.exists()) { + fileDir.mkdirs(); + } + File file = new File(fileDir, fileName); + if (file.exists()) { + return file.getAbsolutePath(); + } + try { + InputStream inputStream = context.getAssets().open(assetsPath); + FileOutputStream fos = new FileOutputStream(file); + BufferedInputStream bis = new BufferedInputStream(inputStream); + BufferedOutputStream bos = new BufferedOutputStream(fos); + byte[] byteArray = new byte[1024]; + int bytes = bis.read(byteArray); + while (bytes > 0) { + bos.write(byteArray, 0, bytes); + bos.flush(); + bytes = bis.read(byteArray); + } + bos.close(); + fos.close(); + return file.getAbsolutePath(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } /** * 获取Uri文件绝对路径 @@ -522,6 +551,7 @@ public class FileUtils { /** * 遍历一个文件夹获取改文件夹下所有文件名 + * * @param path * @return */ @@ -563,7 +593,7 @@ public class FileUtils { * @param path String * @return Boolean */ - public static Boolean checkIsVideo(Context context,String path) { + public static Boolean checkIsVideo(Context context, String path) { MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { retriever.setDataSource(context, Uri.fromFile(new File(path))); diff --git a/FaceUnity/src/test/java/com/yunbao/faceunity/ExampleUnitTest.java b/FaceUnity/src/test/java/com/yunbao/faceunity/ExampleUnitTest.java index abfb46d38..f8313752a 100644 --- a/FaceUnity/src/test/java/com/yunbao/faceunity/ExampleUnitTest.java +++ b/FaceUnity/src/test/java/com/yunbao/faceunity/ExampleUnitTest.java @@ -1,8 +1,5 @@ package com.yunbao.faceunity; -import org.junit.Test; - -import static org.junit.Assert.*; /** * Example local unit test, which will execute on the development machine (host). @@ -10,8 +7,5 @@ import static org.junit.Assert.*; * @see Testing documentation */ public class ExampleUnitTest { - @Test - public void addition_isCorrect() { - assertEquals(4, 2 + 2); - } + } \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index f21892e75..22fa13570 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,6 +6,9 @@ apply plugin: 'com.alibaba.arouter' android { dexOptions { jumboMode = true + } + project.tasks.getByName("tasks").doFirst { + } /* applicationVariants.all { variant -> variant.mergeAssetsProvider.configure { @@ -92,6 +95,13 @@ android { 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' + } } compileOptions { @@ -99,6 +109,11 @@ android { targetCompatibility JavaVersion.VERSION_1_8 } applicationVariants.all { variant -> + println "清空build文件夹"; + for (final def project in rootProject.getAllprojects()) { + delete project.buildDir + println project.buildDir + } String variantName = variant.name.capitalize() def processManifestTask = project.tasks.getByName("process${variantName}Manifest") processManifestTask.doLast { pm -> @@ -139,9 +154,36 @@ android { 'Asset/*', 'image_effect_shaders/*', 'internal/*' + //美颜基础组件 + ])) + println "isPluginModel = " + rootProject.ext.manifestPlaceholders.isPluginModel + if (rootProject.ext.manifestPlaceholders.isPluginModel) { + delete(fileTree(dir: outputDir, includes: [ + 'model/ai_face_processor_lite.bundle', + 'graphics/face_beautification.bundle' + ])) + } else { + println "不删除bundle" + } } } + variant.outputs.all { + def isGoogle = "link" + if (rootProject.ext.manifestPlaceholders.isGooglePlay) { + isGoogle = "Google" + } + def isPlugin = "all" + if (rootProject.ext.manifestPlaceholders.isPluginModel) { + isPlugin = "plugin" + } + def isTest = "测试服" + if (rootProject.ext.manifestPlaceholders.serverHost == "https://napi.yaoulive.com") { + isTest = "正式服" + } + outputFileName = "[${new Date().format("yyyy-MM-dd HHmmss", TimeZone.getTimeZone("GMT+8"))}]PDLive-${defaultConfig.versionName}-${isGoogle}-${isPlugin}-${variant.buildType.name}-${isTest}.apk" + + } } signingConfigs { release { @@ -193,12 +235,17 @@ android { } buildTypes { release { - minifyEnabled false + minifyEnabled true + shrinkResources true + zipAlignEnabled true 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 } } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 135a165a8..382ebd0ee 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -12,17 +12,40 @@ # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} +-keepclassmembers class fqcn.of.javascript.interface.for.webview { + public *; +} # Uncomment this to preserve the groupLast number information for # debugging stack traces. -#-keepattributes SourceFile,LineNumberTable +-keepattributes SourceFile,LineNumberTable # If you keep the groupLast number information, uncomment this to # hide the original source file name. -#-renamesourcefileattribute SourceFile +-renamesourcefileattribute SourceFile + +-keep class com.yunbao.**{ + public ; + protected ; +} +-keep class * implements com.yunbao.common.bean.BaseModel { + *; +} +-keep class com.yunbao.common.bean.** { + *; +} + +-keep class com.yunbao.common.views.weight.VerticalViewPager$LayoutParams{ + *; +} +-keep class android.**{ + *; +} + +-keep class **.R$* { + public static ; +} +-keep class com.tencent.** { *; } -keep class com.adjust.sdk.**{ *; } -keep class com.google.android.gms.common.ConnectionResult { int SUCCESS; @@ -48,6 +71,13 @@ -keep class okhttp3.internal.**{*;} -dontwarn okio.** +#okhttp +-dontwarn okhttp3.** +-keep class okhttp3.**{*;} + +#okio +-dontwarn okio.** +-keep class okio.**{*;} # Retrofit @@ -55,9 +85,10 @@ -keep class retrofit2.** { *; } --keepattributes Signature-keepattributes Exceptions +-keepattributes Signature-keepattributes,Exceptions # RxJava RxAndroid +-dontwarn java.util.concurrent.Flow* -dontwarn sun.misc.** @@ -69,20 +100,129 @@ long consumerIndex; } --keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef { +-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef* { -rx.internal.util.atomic.LinkedQueueNode producerNode; +rx.internal.util.atomic.LinkedQueueNode* producerNode; } --keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef { +-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef* { -rx.internal.util.atomic.LinkedQueueNode consumerNode; +rx.internal.util.atomic.LinkedQueueNode* consumerNode; } # Gson -keep class com.google.gson.stream.** { *; } +##---------------Begin: proguard configuration for Gson ---------- +# Gson uses generic type information stored in a class file when working with fields. Proguard +# removes such information by default, so configure it to keep all of it. +-keepattributes Signature + +# For using GSON @Expose annotation +-keepattributes *Annotation* + +# Gson specific classes +-dontwarn sun.misc.** +#-keep class com.google.gson.stream.** { *; } + +# Application classes that will be serialized/deserialized over Gson +-keep class com.google.gson.examples.android.model.** { ; } + +# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory, +# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter) +-keep class * extends com.google.gson.TypeAdapter +-keep class * implements com.google.gson.TypeAdapterFactory +-keep class * implements com.google.gson.JsonSerializer +-keep class * implements com.google.gson.JsonDeserializer + +# Prevent R8 from leaving Data object members always null +-keepclassmembers,allowobfuscation class * { + @com.google.gson.annotations.SerializedName ; +} + +# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher. +-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken +-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken + +##---------------End: proguard configuration for Gson ---------- -keepattributes EnclosingMethod +#--------融云 +-keepattributes Exceptions,InnerClasses +-keepattributes Signature +-keep class io.rong.** {*;} +-keep class cn.rongcloud.** {*;} +-keep class * implements io.rong.imlib.model.MessageContent {*;} +-dontwarn io.rong.push.** +-dontnote com.xiaomi.** +-dontnote com.google.android.gms.gcm.** +-dontnote io.rong.** +# 下方混淆使用了融云 IMKit 提供的 locationKit 位置插件时才需要配置,可参考高德官网的混淆方式:https://lbs.amap.com/api/android-sdk/guide/create-project/dev-attention +-keep class com.amap.api.maps.**{*;} +-keep class com.autonavi.**{*;} +-keep class com.amap.api.trace.**{*;} +-keep class com.amap.api.location.**{*;} +-keep class com.amap.api.fence.**{*;} +-keep class com.loc.**{*;} +-keep class com.autonavi.aps.amapapi.model.**{*;} +-keep class com.amap.api.services.**{*;} +-ignorewarnings + +#--------科大讯飞 +-keep class com.iflytek.**{*;} +-keepattributes Signature +#EvenBus +-keepattributes *Annotation* +-keepclassmembers class * { + @org.greenrobot.eventbus.Subscribe ; +} +-keep enum org.greenrobot.eventbus.ThreadMode { *; } + +# If using AsyncExecutord, keep required constructor of default event used. +# Adjust the class name if a custom failure event type is used. +-keepclassmembers class org.greenrobot.eventbus.util.ThrowableFailureEvent { + (java.lang.Throwable); +} + +# Accessed via reflection, avoid renaming or removal +-keep class org.greenrobot.eventbus.android.AndroidComponentsImpl* + +#--------ARouter +-keep public class com.alibaba.android.arouter.routes.**{*;} +-keep public class com.alibaba.android.arouter.facade.**{*;} +-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;} + +# If you use the byType method to obtain Service, add the following rules to protect the interface: +-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider + +# If single-type injection is used, that is, no interface is defined to implement IProvider, the following rules need to be added to protect the implementation +# -keep class * implements com.alibaba.android.arouter.facade.template.IProvider + +#----retrofit2 +-keepattributes Signature, InnerClasses, EnclosingMethod +-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations +-keepattributes AnnotationDefault +-keepclassmembers,allowshrinking,allowobfuscation interface * { + @retrofit2.http.* ; +} +-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement* +-dontwarn javax.annotation.** +-dontwarn kotlin.Unit +-dontwarn retrofit2.KotlinExtensions* +-dontwarn retrofit2.KotlinExtensions$* +-if interface * { @retrofit2.http.* ; } +-keep,allowobfuscation interface <1> +-if interface * { @retrofit2.http.* ; } +-keep,allowobfuscation interface * extends <1> +-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation +-if interface * { @retrofit2.http.* public *** *(...); } +-keep,allowoptimization,allowshrinking,allowobfuscation class <3> + +#-----glide +-keep public class com.bumptech.glide.** {*;} +-keep public class jp.co.cyberagent.** {*;} +-dontwarn jp.co.cyberagent.android.gpuimage.** + +-printconfiguration tmp/full-r8-config.txt \ No newline at end of file diff --git a/app/src/main/java/com/shayu/phonelive/AppContext.java b/app/src/main/java/com/shayu/phonelive/AppContext.java index 9ad90e49c..6f01511ef 100644 --- a/app/src/main/java/com/shayu/phonelive/AppContext.java +++ b/app/src/main/java/com/shayu/phonelive/AppContext.java @@ -11,9 +11,9 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; +import android.os.Process; import android.text.TextUtils; import android.util.Log; -import android.os.Process; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -26,6 +26,7 @@ import com.google.firebase.FirebaseApp; import com.google.firebase.analytics.FirebaseAnalytics; import com.google.firebase.crashlytics.FirebaseCrashlytics; import com.shayu.phonelive.utils.LogUtils; +import com.shayu.phonelive.utils.PluginManager; import com.tencent.imsdk.v2.V2TIMGroupMemberInfo; import com.tencent.imsdk.v2.V2TIMManager; import com.tencent.imsdk.v2.V2TIMSimpleMsgListener; @@ -248,6 +249,7 @@ public class AppContext extends CommonAppContext { configSPApp(); //初始化美颜SDK // FaceManager.initFaceUnity(this); + PluginManager.getInstance().loadAnchorPlugin(); } /** @@ -289,7 +291,7 @@ public class AppContext extends CommonAppContext { .setMainCrashHandler((t, e) -> { Log.e("ApplicationError", "主线程异常");//此处log只是展示,当debug为true时,主类内部log会打印异常信息 e.printStackTrace(); - AppManager.runDebugCode(()->{ + AppManager.runDebugCode(() -> { //闪退后finish所有Activity并且杀死进程 for (WeakReference activity : activities) { if (activity != null && activity.get() != null) { diff --git a/app/src/main/java/com/shayu/phonelive/utils/PluginManager.java b/app/src/main/java/com/shayu/phonelive/utils/PluginManager.java new file mode 100644 index 000000000..35121e0db --- /dev/null +++ b/app/src/main/java/com/shayu/phonelive/utils/PluginManager.java @@ -0,0 +1,198 @@ +package com.shayu.phonelive.utils; + +import static com.yunbao.faceunity.utils.FURenderer.BUNDLE_AI_FACE; +import static com.yunbao.faceunity.utils.FaceUnityConfig.BUNDLE_FACE_BEAUTIFICATION; + +import android.os.Build; +import android.util.Log; + +import com.yunbao.common.CommonAppContext; +import com.yunbao.common.utils.DownloadUtil; +import com.yunbao.common.utils.StringUtil; +import com.yunbao.faceunity.utils.FileUtils; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Arrays; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; + +/** + * 插件加载器 + */ +public class PluginManager { + private static PluginManager manager; + private static final String TAG = "插件管理器"; + private String anchorPluginDownloadUrl = "http://192.168.137.1:12345/shares/ce47aa99-3e73-4a79-8a2f-e17a2d527953"; + + private PluginManager() { + } + + public static PluginManager getInstance() { + if (manager == null) { + manager = new PluginManager(); + } + return manager; + } + + /** + * 设置主播插件下载地址 + */ + public void setAnchorPluginDownloadUrl(String anchorPluginDownloadUrl) { + this.anchorPluginDownloadUrl = anchorPluginDownloadUrl; + } + + /** + * 加载主播插件 + */ + public void loadAnchorPlugin() { + new Thread(() -> { + try { + if (Arrays.asList(CommonAppContext.sInstance.getAssets().list("")).contains("anchorPlugin.apk")) { + FileUtils.copyAssetsFile(CommonAppContext.sInstance,"anchorPlugin.apk","anchorPlugin.apk",CommonAppContext.sInstance.getFilesDir().getAbsolutePath() + File.separator + "plugin_download"); + } + Log.d(TAG,"解压assets下的文件"); + } catch (IOException e) { + e.printStackTrace(); + } + File sdk = new File(CommonAppContext.sInstance.getFilesDir().getAbsolutePath() + File.separator + "plugin_download" + File.separator + "anchorPlugin.apk"); + if (!sdk.exists()) { + if (StringUtil.isEmpty(anchorPluginDownloadUrl)) { + Log.e(TAG, "主播下载地址为空"); + return; + } + downloadAnchorSdk(); + return; + } + String outDir = CommonAppContext.sInstance.getFilesDir().getAbsolutePath() + File.separator + "plugin"; + loadFaceSo(sdk, outDir); + loadFaceBundle(sdk, outDir); + }).start(); + } + + /** + * 加载美颜so文件 + * + * @param plugin 插件apk文件 + * @param outDir 解压路径 + */ + private void loadFaceSo(File plugin, String outDir) { + unzip(plugin.getAbsolutePath(), outDir, ".so"); + String[] abis = Build.SUPPORTED_ABIS; + String abi = Arrays.asList(abis).contains("arm64-v8a") ? "arm64-v8a" : "armeabi-v7a"; + File plugins = new File(outDir + File.separator + "lib" + File.separator + abi); + loadSo(plugins, "libfuai"); + loadSo(plugins, "libCNamaSDK"); + } + + /** + * 设置美颜Bundle文件 + * + * @param plugin 插件apk文件 + * @param outDir 解压路径 + */ + private void loadFaceBundle(File plugin, String outDir) { + unzip(plugin.getAbsolutePath(), outDir, ".bundle"); + BUNDLE_AI_FACE = outDir + File.separator + "assets" + File.separator + BUNDLE_AI_FACE; + BUNDLE_FACE_BEAUTIFICATION = outDir + File.separator + "assets" + File.separator + BUNDLE_FACE_BEAUTIFICATION; + } + + /** + * 加载指定so + * + * @param dir so文件路径 + * @param file so文件名字 + */ + private void loadSo(File dir, String file) { + file += ".so"; + if (new File(dir.getAbsolutePath() + File.separator + file).exists()) { + System.load(dir + File.separator + file); + Log.d(TAG, "加载成功 "+dir + File.separator + file ); + } else { + Log.e(TAG, "不存在 "+dir + File.separator + file ); + } + } + + /** + * 下载主播插件包 + */ + private void downloadAnchorSdk() { + String downloadDir = new File(CommonAppContext.sInstance.getFilesDir().getAbsolutePath() + File.separator + "plugin_download").getAbsolutePath(); + new DownloadUtil().download("plugin", downloadDir, "anchorPlugin.apk", anchorPluginDownloadUrl, new DownloadUtil.Callback() { + @Override + public void onSuccess(File file) { + Log.d(TAG, "下载成功 "+file ); + loadAnchorPlugin(); + } + + @Override + public void onProgress(int progress) { + + } + + @Override + public void onError(Throwable e) { + + } + }); + } + + + /** + * 解压zip文件 + * + * @param zip zip文件 + * @param outDir 解压路径 + * @param suffix 过滤 + */ + private boolean unzip(String zip, String outDir, String suffix) { + FileOutputStream out; + byte buffer[] = new byte[1024]; + try { + ZipInputStream zis = new ZipInputStream(new FileInputStream(zip)); + ZipEntry entry = zis.getNextEntry(); + while (entry != null) { + String name = entry.getName(); + if (entry.isDirectory()) { + File newDir = new File(outDir + entry.getName()); + newDir.mkdir(); + } else if (name.endsWith(suffix)) { + File outputFile = new File(outDir + File.separator + name); + String outputPath = outputFile.getCanonicalPath(); + name = outputPath + .substring(outputPath.lastIndexOf("/") + 1); + outputPath = outputPath.substring(0, outputPath + .lastIndexOf("/")); + File outputDir = new File(outputPath); + outputDir.mkdirs(); + outputFile = new File(outputPath, name); + outputFile.createNewFile(); + out = new FileOutputStream(outputFile); + + int tmp = 0; + while ((tmp = zis.read(buffer)) > 0) { + out.write(buffer, 0, tmp); + } + /* do { + tmp = zis.read(buffer); + if (tmp <= 0) { + break; + } else { + out.write(buffer, 0, tmp); + } + } while (true);*/ + out.close(); + } + entry = zis.getNextEntry(); + } + zis.close(); + return true; + } catch (IOException e) { + e.printStackTrace(); + return false; + } + } + +} diff --git a/common/build.gradle b/common/build.gradle index 57d020310..39057acfc 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -174,8 +174,8 @@ dependencies { api 'com.squareup.retrofit2:retrofit:2.3.0' api 'com.squareup.retrofit2:adapter-rxjava2:2.3.0' //gson解析 - api 'com.squareup.retrofit2:converter-gson:2.3.0' - implementation "io.reactivex.rxjava2:rxjava:2.2.3" + api 'com.squareup.retrofit2:converter-gson:2.3.0'//混淆 + implementation "io.reactivex.rxjava2:rxjava:2.2.3"//混淆 implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' api 'com.jakewharton.rxbinding3:rxbinding:3.1.0' //loading样式库 diff --git a/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java b/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java index 50dad56d9..e68000a1b 100644 --- a/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java +++ b/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java @@ -1264,6 +1264,7 @@ public class LiveNetManager { callback.onSuccess(listResponseModel.getData().getInfo()); } }, throwable -> { + throwable.printStackTrace(); if (callback != null) { callback.onError(throwable.getMessage()); } diff --git a/common/src/main/res/drawable/bg_xyd_button.png b/common/src/main/res/drawable/bg_xyd_button.png index 3adab40c5..df2047044 100644 Binary files a/common/src/main/res/drawable/bg_xyd_button.png and b/common/src/main/res/drawable/bg_xyd_button.png differ diff --git a/common/src/main/res/drawable/icon_robot.png b/common/src/main/res/drawable/icon_robot.png index aa0d8b457..b72bba2eb 100644 Binary files a/common/src/main/res/drawable/icon_robot.png and b/common/src/main/res/drawable/icon_robot.png differ diff --git a/common/src/main/res/drawable/loading_00003.png b/common/src/main/res/drawable/loading_00003.png index d8c5cdad9..ddeae1222 100644 Binary files a/common/src/main/res/drawable/loading_00003.png and b/common/src/main/res/drawable/loading_00003.png differ diff --git a/common/src/main/res/drawable/loading_00007.png b/common/src/main/res/drawable/loading_00007.png index afe653fbe..236698b96 100644 Binary files a/common/src/main/res/drawable/loading_00007.png and b/common/src/main/res/drawable/loading_00007.png differ diff --git a/common/src/main/res/drawable/loading_00010.png b/common/src/main/res/drawable/loading_00010.png index b6c795d22..074661648 100644 Binary files a/common/src/main/res/drawable/loading_00010.png and b/common/src/main/res/drawable/loading_00010.png differ diff --git a/common/src/main/res/drawable/loading_00011.png b/common/src/main/res/drawable/loading_00011.png index 5a3964b17..b5c08c0fc 100644 Binary files a/common/src/main/res/drawable/loading_00011.png and b/common/src/main/res/drawable/loading_00011.png differ diff --git a/common/src/main/res/drawable/loading_00012.png b/common/src/main/res/drawable/loading_00012.png index 2c2edc4d1..bfeefdf8f 100644 Binary files a/common/src/main/res/drawable/loading_00012.png and b/common/src/main/res/drawable/loading_00012.png differ diff --git a/common/src/main/res/drawable/loading_00013.png b/common/src/main/res/drawable/loading_00013.png index 65a6e690d..1426c6c26 100644 Binary files a/common/src/main/res/drawable/loading_00013.png and b/common/src/main/res/drawable/loading_00013.png differ diff --git a/common/src/main/res/drawable/loading_00014.png b/common/src/main/res/drawable/loading_00014.png index f8638274b..62a586e68 100644 Binary files a/common/src/main/res/drawable/loading_00014.png and b/common/src/main/res/drawable/loading_00014.png differ diff --git a/common/src/main/res/drawable/loading_00015.png b/common/src/main/res/drawable/loading_00015.png index cb7ad90cb..2def39a33 100644 Binary files a/common/src/main/res/drawable/loading_00015.png and b/common/src/main/res/drawable/loading_00015.png differ diff --git a/common/src/main/res/drawable/wish_list_day_en.png b/common/src/main/res/drawable/wish_list_day_en.png index fcba5660f..57b0541d6 100644 Binary files a/common/src/main/res/drawable/wish_list_day_en.png and b/common/src/main/res/drawable/wish_list_day_en.png differ diff --git a/common/src/main/res/drawable/wish_list_day_zh.png b/common/src/main/res/drawable/wish_list_day_zh.png index f2cfefa71..ef4fe57e6 100644 Binary files a/common/src/main/res/drawable/wish_list_day_zh.png and b/common/src/main/res/drawable/wish_list_day_zh.png differ diff --git a/common/src/main/res/drawable/wish_list_lunar_en.png b/common/src/main/res/drawable/wish_list_lunar_en.png index 6f99a69e7..8f67f0677 100644 Binary files a/common/src/main/res/drawable/wish_list_lunar_en.png and b/common/src/main/res/drawable/wish_list_lunar_en.png differ diff --git a/common/src/main/res/drawable/wish_list_lunar_zh.png b/common/src/main/res/drawable/wish_list_lunar_zh.png index 852850794..37a61d87f 100644 Binary files a/common/src/main/res/drawable/wish_list_lunar_zh.png and b/common/src/main/res/drawable/wish_list_lunar_zh.png differ diff --git a/common/src/main/res/drawable/wish_list_seasonal_en.png b/common/src/main/res/drawable/wish_list_seasonal_en.png index ac0bff237..f67861552 100644 Binary files a/common/src/main/res/drawable/wish_list_seasonal_en.png and b/common/src/main/res/drawable/wish_list_seasonal_en.png differ diff --git a/common/src/main/res/drawable/wish_list_seasonal_zh.png b/common/src/main/res/drawable/wish_list_seasonal_zh.png index 2684339b1..4ec23b827 100644 Binary files a/common/src/main/res/drawable/wish_list_seasonal_zh.png and b/common/src/main/res/drawable/wish_list_seasonal_zh.png differ diff --git a/common/src/main/res/drawable/wish_list_week_en.png b/common/src/main/res/drawable/wish_list_week_en.png index 74397cf8d..2d61e4826 100644 Binary files a/common/src/main/res/drawable/wish_list_week_en.png and b/common/src/main/res/drawable/wish_list_week_en.png differ diff --git a/common/src/main/res/drawable/wish_list_week_zh.png b/common/src/main/res/drawable/wish_list_week_zh.png index 8e46b3dec..5a8273996 100644 Binary files a/common/src/main/res/drawable/wish_list_week_zh.png and b/common/src/main/res/drawable/wish_list_week_zh.png differ diff --git a/common/src/main/res/mipmap-mdpi/btn_openprotection.png b/common/src/main/res/mipmap-mdpi/btn_openprotection.png index 8178dd0cb..3b200d8b1 100644 Binary files a/common/src/main/res/mipmap-mdpi/btn_openprotection.png and b/common/src/main/res/mipmap-mdpi/btn_openprotection.png differ diff --git a/common/src/main/res/mipmap-mdpi/chat_head_mo.png b/common/src/main/res/mipmap-mdpi/chat_head_mo.png index 7ef47211e..74550d212 100644 Binary files a/common/src/main/res/mipmap-mdpi/chat_head_mo.png and b/common/src/main/res/mipmap-mdpi/chat_head_mo.png differ diff --git a/common/src/main/res/mipmap-mdpi/good_nub.png b/common/src/main/res/mipmap-mdpi/good_nub.png index 8c586bd75..54e2fa39c 100644 Binary files a/common/src/main/res/mipmap-mdpi/good_nub.png and b/common/src/main/res/mipmap-mdpi/good_nub.png differ diff --git a/common/src/main/res/mipmap-mdpi/guli_null.png b/common/src/main/res/mipmap-mdpi/guli_null.png index 8524bb18c..bdd755f06 100644 Binary files a/common/src/main/res/mipmap-mdpi/guli_null.png and b/common/src/main/res/mipmap-mdpi/guli_null.png differ diff --git a/common/src/main/res/mipmap-mdpi/ic_guard_not.png b/common/src/main/res/mipmap-mdpi/ic_guard_not.png index bfbda2dc4..c036d7b2b 100644 Binary files a/common/src/main/res/mipmap-mdpi/ic_guard_not.png and b/common/src/main/res/mipmap-mdpi/ic_guard_not.png differ diff --git a/common/src/main/res/mipmap-mdpi/icon_avatar_test.png b/common/src/main/res/mipmap-mdpi/icon_avatar_test.png deleted file mode 100644 index 521f60104..000000000 Binary files a/common/src/main/res/mipmap-mdpi/icon_avatar_test.png and /dev/null differ diff --git a/common/src/main/res/mipmap-mdpi/icon_danrenpk.png b/common/src/main/res/mipmap-mdpi/icon_danrenpk.png index b42350538..d34fee48e 100644 Binary files a/common/src/main/res/mipmap-mdpi/icon_danrenpk.png and b/common/src/main/res/mipmap-mdpi/icon_danrenpk.png differ diff --git a/common/src/main/res/mipmap-mdpi/icon_live_font.png b/common/src/main/res/mipmap-mdpi/icon_live_font.png index 8d7f4ce65..ee2394fe8 100644 Binary files a/common/src/main/res/mipmap-mdpi/icon_live_font.png and b/common/src/main/res/mipmap-mdpi/icon_live_font.png differ diff --git a/common/src/main/res/mipmap-mdpi/icon_rank_top_box.png b/common/src/main/res/mipmap-mdpi/icon_rank_top_box.png index 47838ee75..572bdb1b2 100644 Binary files a/common/src/main/res/mipmap-mdpi/icon_rank_top_box.png and b/common/src/main/res/mipmap-mdpi/icon_rank_top_box.png differ diff --git a/common/src/main/res/mipmap-mdpi/icon_user_home_living.gif b/common/src/main/res/mipmap-mdpi/icon_user_home_living.gif index 91243c9eb..961e45570 100644 Binary files a/common/src/main/res/mipmap-mdpi/icon_user_home_living.gif and b/common/src/main/res/mipmap-mdpi/icon_user_home_living.gif differ diff --git a/common/src/main/res/mipmap-mdpi/topbg.gif b/common/src/main/res/mipmap-mdpi/topbg.gif index ad5cd308d..1cff256c0 100644 Binary files a/common/src/main/res/mipmap-mdpi/topbg.gif and b/common/src/main/res/mipmap-mdpi/topbg.gif differ diff --git a/common/src/main/res/mipmap-mdpi/user_card_man.png b/common/src/main/res/mipmap-mdpi/user_card_man.png index 6bf8269f3..5f2649e14 100644 Binary files a/common/src/main/res/mipmap-mdpi/user_card_man.png and b/common/src/main/res/mipmap-mdpi/user_card_man.png differ diff --git a/common/src/main/res/mipmap-mdpi/user_card_woman.png b/common/src/main/res/mipmap-mdpi/user_card_woman.png index 1a869f675..33c504890 100644 Binary files a/common/src/main/res/mipmap-mdpi/user_card_woman.png and b/common/src/main/res/mipmap-mdpi/user_card_woman.png differ diff --git a/common/src/main/res/mipmap-mdpi/usercard_good_nub.png b/common/src/main/res/mipmap-mdpi/usercard_good_nub.png index 52c9ae234..a6a6a5b1f 100644 Binary files a/common/src/main/res/mipmap-mdpi/usercard_good_nub.png and b/common/src/main/res/mipmap-mdpi/usercard_good_nub.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/background_wish_item.png b/common/src/main/res/mipmap-xxhdpi/background_wish_item.png index 008259d2d..e0ec2c437 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/background_wish_item.png and b/common/src/main/res/mipmap-xxhdpi/background_wish_item.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/bg_day_wish.png b/common/src/main/res/mipmap-xxhdpi/bg_day_wish.png index 0567f01ee..12510b283 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/bg_day_wish.png and b/common/src/main/res/mipmap-xxhdpi/bg_day_wish.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/bg_lunar_wish.png b/common/src/main/res/mipmap-xxhdpi/bg_lunar_wish.png index ef6aacc79..aa7db6fa7 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/bg_lunar_wish.png and b/common/src/main/res/mipmap-xxhdpi/bg_lunar_wish.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/bg_lwhqz.png b/common/src/main/res/mipmap-xxhdpi/bg_lwhqz.png index fc50e780e..dd74931d1 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/bg_lwhqz.png and b/common/src/main/res/mipmap-xxhdpi/bg_lwhqz.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/bg_seasonal_wish.png b/common/src/main/res/mipmap-xxhdpi/bg_seasonal_wish.png index 379c95d48..2ac2ba108 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/bg_seasonal_wish.png and b/common/src/main/res/mipmap-xxhdpi/bg_seasonal_wish.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/bg_trickery_top.png b/common/src/main/res/mipmap-xxhdpi/bg_trickery_top.png index 473b0ae13..445cd7379 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/bg_trickery_top.png and b/common/src/main/res/mipmap-xxhdpi/bg_trickery_top.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/bg_zg.png b/common/src/main/res/mipmap-xxhdpi/bg_zg.png index 389557418..65d2748d1 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/bg_zg.png and b/common/src/main/res/mipmap-xxhdpi/bg_zg.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/btn_golive.png b/common/src/main/res/mipmap-xxhdpi/btn_golive.png index f979bf437..57ce1e0b1 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/btn_golive.png and b/common/src/main/res/mipmap-xxhdpi/btn_golive.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/btn_icon_quit.png b/common/src/main/res/mipmap-xxhdpi/btn_icon_quit.png index 796ff75b6..fa9efccb0 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/btn_icon_quit.png and b/common/src/main/res/mipmap-xxhdpi/btn_icon_quit.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/ic_custom_share.png b/common/src/main/res/mipmap-xxhdpi/ic_custom_share.png index 5e8063e4f..924658333 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/ic_custom_share.png and b/common/src/main/res/mipmap-xxhdpi/ic_custom_share.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/ic_live_fun_anchor_letter.png b/common/src/main/res/mipmap-xxhdpi/ic_live_fun_anchor_letter.png index 7f4ecfb95..85dafa537 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/ic_live_fun_anchor_letter.png and b/common/src/main/res/mipmap-xxhdpi/ic_live_fun_anchor_letter.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/ic_live_fun_anchor_say.png b/common/src/main/res/mipmap-xxhdpi/ic_live_fun_anchor_say.png index fc7d99691..789566172 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/ic_live_fun_anchor_say.png and b/common/src/main/res/mipmap-xxhdpi/ic_live_fun_anchor_say.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_bfsz.png b/common/src/main/res/mipmap-xxhdpi/icon_bfsz.png index bc115ec6f..4158068ee 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_bfsz.png and b/common/src/main/res/mipmap-xxhdpi/icon_bfsz.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_cancel.png b/common/src/main/res/mipmap-xxhdpi/icon_cancel.png index 4dbfa9072..5c6305810 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_cancel.png and b/common/src/main/res/mipmap-xxhdpi/icon_cancel.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_change.png b/common/src/main/res/mipmap-xxhdpi/icon_change.png index 78d447821..d83bcca37 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_change.png and b/common/src/main/res/mipmap-xxhdpi/icon_change.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_close.png b/common/src/main/res/mipmap-xxhdpi/icon_close.png index 7842d906a..aea460fa2 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_close.png and b/common/src/main/res/mipmap-xxhdpi/icon_close.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_close_tip.png b/common/src/main/res/mipmap-xxhdpi/icon_close_tip.png index f64e53e82..70704e21c 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_close_tip.png and b/common/src/main/res/mipmap-xxhdpi/icon_close_tip.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_fhd.png b/common/src/main/res/mipmap-xxhdpi/icon_fhd.png index 278b37842..0218dea94 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_fhd.png and b/common/src/main/res/mipmap-xxhdpi/icon_fhd.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_hd.png b/common/src/main/res/mipmap-xxhdpi/icon_hd.png index 4bdd05b04..355858316 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_hd.png and b/common/src/main/res/mipmap-xxhdpi/icon_hd.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_live_close_3.png b/common/src/main/res/mipmap-xxhdpi/icon_live_close_3.png index 2da0a5cfe..5af2a6755 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_live_close_3.png and b/common/src/main/res/mipmap-xxhdpi/icon_live_close_3.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_live_ready_camera.png b/common/src/main/res/mipmap-xxhdpi/icon_live_ready_camera.png index 3706e9818..43ff285a2 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_live_ready_camera.png and b/common/src/main/res/mipmap-xxhdpi/icon_live_ready_camera.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_love_message.png b/common/src/main/res/mipmap-xxhdpi/icon_love_message.png index d7a1fbd2b..8ea3ffe99 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_love_message.png and b/common/src/main/res/mipmap-xxhdpi/icon_love_message.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_more_02.png b/common/src/main/res/mipmap-xxhdpi/icon_more_02.png index 3a2d32e72..fec68e1f5 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_more_02.png and b/common/src/main/res/mipmap-xxhdpi/icon_more_02.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_more_down.png b/common/src/main/res/mipmap-xxhdpi/icon_more_down.png index 2296877ce..f368d12e4 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_more_down.png and b/common/src/main/res/mipmap-xxhdpi/icon_more_down.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_more_open.png b/common/src/main/res/mipmap-xxhdpi/icon_more_open.png index 36f5f84f3..b689fffc4 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_more_open.png and b/common/src/main/res/mipmap-xxhdpi/icon_more_open.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_more_up.png b/common/src/main/res/mipmap-xxhdpi/icon_more_up.png index 5f1eaadba..b0c6a5a95 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_more_up.png and b/common/src/main/res/mipmap-xxhdpi/icon_more_up.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_open_gongjue.png b/common/src/main/res/mipmap-xxhdpi/icon_open_gongjue.png index 8e133a944..8689cbe4c 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_open_gongjue.png and b/common/src/main/res/mipmap-xxhdpi/icon_open_gongjue.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_open_guowang.png b/common/src/main/res/mipmap-xxhdpi/icon_open_guowang.png index 1456e6a62..5e454d27b 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_open_guowang.png and b/common/src/main/res/mipmap-xxhdpi/icon_open_guowang.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_open_houjue.png b/common/src/main/res/mipmap-xxhdpi/icon_open_houjue.png index 80a7b114f..c535a64a6 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_open_houjue.png and b/common/src/main/res/mipmap-xxhdpi/icon_open_houjue.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_open_huangdi.png b/common/src/main/res/mipmap-xxhdpi/icon_open_huangdi.png index 14f23da21..fd4f0b455 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_open_huangdi.png and b/common/src/main/res/mipmap-xxhdpi/icon_open_huangdi.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_open_nanjue.png b/common/src/main/res/mipmap-xxhdpi/icon_open_nanjue.png index 701f8bca5..804654643 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_open_nanjue.png and b/common/src/main/res/mipmap-xxhdpi/icon_open_nanjue.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_open_zijue.png b/common/src/main/res/mipmap-xxhdpi/icon_open_zijue.png index 71c9ac273..920e92267 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_open_zijue.png and b/common/src/main/res/mipmap-xxhdpi/icon_open_zijue.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_protocol_check.png b/common/src/main/res/mipmap-xxhdpi/icon_protocol_check.png index 07d294e38..a29310a9a 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_protocol_check.png and b/common/src/main/res/mipmap-xxhdpi/icon_protocol_check.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_protocol_uncheck.png b/common/src/main/res/mipmap-xxhdpi/icon_protocol_uncheck.png index bb1b4754a..9b0de0463 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_protocol_uncheck.png and b/common/src/main/res/mipmap-xxhdpi/icon_protocol_uncheck.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_robot.png b/common/src/main/res/mipmap-xxhdpi/icon_robot.png index aa0d8b457..b72bba2eb 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_robot.png and b/common/src/main/res/mipmap-xxhdpi/icon_robot.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_sd.png b/common/src/main/res/mipmap-xxhdpi/icon_sd.png index d92be9bb6..d81856d10 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_sd.png and b/common/src/main/res/mipmap-xxhdpi/icon_sd.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_selected.png b/common/src/main/res/mipmap-xxhdpi/icon_selected.png index 5aeea828a..37a898845 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_selected.png and b/common/src/main/res/mipmap-xxhdpi/icon_selected.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_start.png b/common/src/main/res/mipmap-xxhdpi/icon_start.png index 4a029150a..3fc6e7f89 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_start.png and b/common/src/main/res/mipmap-xxhdpi/icon_start.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_start_number.png b/common/src/main/res/mipmap-xxhdpi/icon_start_number.png index 0600e11b8..d40d1af77 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_start_number.png and b/common/src/main/res/mipmap-xxhdpi/icon_start_number.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_tip.png b/common/src/main/res/mipmap-xxhdpi/icon_tip.png index d5b68983e..f9fbbdcba 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_tip.png and b/common/src/main/res/mipmap-xxhdpi/icon_tip.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_voice.png b/common/src/main/res/mipmap-xxhdpi/icon_voice.png index 2ea9d64e5..3bf35866e 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_voice.png and b/common/src/main/res/mipmap-xxhdpi/icon_voice.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_weekstar.png b/common/src/main/res/mipmap-xxhdpi/icon_weekstar.png index 8316f9b35..6c22646ec 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_weekstar.png and b/common/src/main/res/mipmap-xxhdpi/icon_weekstar.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_withdraw.png b/common/src/main/res/mipmap-xxhdpi/icon_withdraw.png index f92d292a4..0c5b520aa 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_withdraw.png and b/common/src/main/res/mipmap-xxhdpi/icon_withdraw.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/icon_xinyuandan.png b/common/src/main/res/mipmap-xxhdpi/icon_xinyuandan.png index b0eed3c6a..9e3b9a892 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/icon_xinyuandan.png and b/common/src/main/res/mipmap-xxhdpi/icon_xinyuandan.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_chaohuang.png b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_chaohuang.png index a8bea716c..c5a3448ad 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_chaohuang.png and b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_chaohuang.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_gongjue.png b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_gongjue.png index 88c051df7..5e0a48b6d 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_gongjue.png and b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_gongjue.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_guowang.png b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_guowang.png index d6282e9ae..9a423031f 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_guowang.png and b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_guowang.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_houjue.png b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_houjue.png index efd5ef8f0..48ca70c1f 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_houjue.png and b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_houjue.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_huangdi.png b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_huangdi.png index 14da24bfc..5ad36e1f4 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_huangdi.png and b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_huangdi.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_nanjue.png b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_nanjue.png index 98819b426..39abe8dd9 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_nanjue.png and b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_nanjue.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_notopen.png b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_notopen.png index f32017d2d..cf7c027d3 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_notopen.png and b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_notopen.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_zijue.png b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_zijue.png index 57653a507..cbacb5725 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_aristocrat_zijue.png and b/common/src/main/res/mipmap-xxhdpi/img_aristocrat_zijue.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_chaohuang.png b/common/src/main/res/mipmap-xxhdpi/img_chaohuang.png index 888cf2004..b689bb11c 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_chaohuang.png and b/common/src/main/res/mipmap-xxhdpi/img_chaohuang.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_fans_default.png b/common/src/main/res/mipmap-xxhdpi/img_fans_default.png index da577ef1d..4edf4e2dd 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_fans_default.png and b/common/src/main/res/mipmap-xxhdpi/img_fans_default.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_honor_default.png b/common/src/main/res/mipmap-xxhdpi/img_honor_default.png index 54e920549..70cc4118d 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_honor_default.png and b/common/src/main/res/mipmap-xxhdpi/img_honor_default.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_huangdi.png b/common/src/main/res/mipmap-xxhdpi/img_huangdi.png index 591b55577..aab5636b2 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_huangdi.png and b/common/src/main/res/mipmap-xxhdpi/img_huangdi.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/img_lu_bg.png b/common/src/main/res/mipmap-xxhdpi/img_lu_bg.png index 255811d21..5828008fb 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/img_lu_bg.png and b/common/src/main/res/mipmap-xxhdpi/img_lu_bg.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/imng_guowang.png b/common/src/main/res/mipmap-xxhdpi/imng_guowang.png index 0d4f7cff2..971498e2d 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/imng_guowang.png and b/common/src/main/res/mipmap-xxhdpi/imng_guowang.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_icon_data.png b/common/src/main/res/mipmap-xxhdpi/live_icon_data.png index f23f08440..f3e78e474 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_icon_data.png and b/common/src/main/res/mipmap-xxhdpi/live_icon_data.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_icon_news.png b/common/src/main/res/mipmap-xxhdpi/live_icon_news.png index 0f2cebfec..6ff709825 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_icon_news.png and b/common/src/main/res/mipmap-xxhdpi/live_icon_news.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_aristocrat.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_aristocrat.png index c08a2a613..d4ecec868 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_aristocrat.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_aristocrat.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_connect_new.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_connect_new.png index 779b2dc96..088ed6cdb 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_connect_new.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_connect_new.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_events.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_events.png index 9bd235882..95dcf6e1b 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_events.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_events.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_fans.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_fans.png index a7925e8c5..6a92e61e6 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_fans.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_fans.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_fenestrule.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_fenestrule.png index 421ca5945..4a0c1a9ee 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_fenestrule.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_fenestrule.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_fenestrule_new.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_fenestrule_new.png index 1c277bbeb..e691f8bfc 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_fenestrule_new.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_fenestrule_new.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_guard.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_guard.png index 4e5dc5283..171dc0395 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_guard.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_guard.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_hd.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_hd.png index 8de7b9706..0471c63d7 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_hd.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_hd.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_moods.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_moods.png index edea8ab96..7464519b6 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_moods.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_moods.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_more.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_more.png index 2b0398a85..21b00b127 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_more.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_more.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_report.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_report.png index b329806f0..2cffa360e 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_report.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_report.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_robot.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_robot.png index bba2b0662..c42875995 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_robot.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_robot.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_service.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_service.png index f463839bd..b615fe179 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_service.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_service.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_sliding.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_sliding.png index 2b6318c50..fc5dd48db 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_sliding.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_sliding.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_sliding_new.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_sliding_new.png index f2abfe924..15a7f8e36 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_sliding_new.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_sliding_new.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_special.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_special.png index e3e41b6bf..8060afadf 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_special.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_special.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_special_new.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_special_new.png index 57d08e40e..712701a2a 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_special_new.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_special_new.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_system.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_system.png index 9b8a0ab46..58ad6683c 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_system.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_system.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_task.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_task.png index 6265b8b3a..0b379df61 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_task.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_task.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_zhouxinglist.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_zhouxinglist.png index 4e8f0e091..bb77293da 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_zhouxinglist.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_zhouxinglist.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/special_icon_off.png b/common/src/main/res/mipmap-xxhdpi/special_icon_off.png index ed96e839f..9275165fb 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/special_icon_off.png and b/common/src/main/res/mipmap-xxhdpi/special_icon_off.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/special_icon_on.png b/common/src/main/res/mipmap-xxhdpi/special_icon_on.png index a5ce3584d..400d33f4f 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/special_icon_on.png and b/common/src/main/res/mipmap-xxhdpi/special_icon_on.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/start_level.png b/common/src/main/res/mipmap-xxhdpi/start_level.png index 3e8735861..fae6a335c 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/start_level.png and b/common/src/main/res/mipmap-xxhdpi/start_level.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/tab_recommend.png b/common/src/main/res/mipmap-xxhdpi/tab_recommend.png index dc84e87de..8933e0e4f 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/tab_recommend.png and b/common/src/main/res/mipmap-xxhdpi/tab_recommend.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/update_tip_box.png b/common/src/main/res/mipmap-xxhdpi/update_tip_box.png index 7bcfaad41..82a90642c 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/update_tip_box.png and b/common/src/main/res/mipmap-xxhdpi/update_tip_box.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/voice_fluctuations.gif b/common/src/main/res/mipmap-xxhdpi/voice_fluctuations.gif index e00f1c7bc..62c8f59cc 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/voice_fluctuations.gif and b/common/src/main/res/mipmap-xxhdpi/voice_fluctuations.gif differ diff --git a/config.gradle b/config.gradle index 237f93aa1..013cf6403 100644 --- a/config.gradle +++ b/config.gradle @@ -26,6 +26,9 @@ ext { // true表示谷歌支付 false isGooglePlay : false, //是否上报异常日志 - isUploadLog : true + isUploadLog : true, + //是否打包成插件包模式 + isPluginModel : false, ] -} \ No newline at end of file +} +//7664 1 \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 3c93222c4..3265ac671 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,3 +18,9 @@ org.gradle.parallel=true org.gradle.configureondemand=true android.useAndroidX=true android.enableJetifier=true + +systemProp.http.proxyHost=127.0.0.1 +systemProp.https.proxyHost=127.0.0.1 +systemProp.https.proxyPort=7890 +systemProp.http.proxyPort=7890 +#android.enableR8.fullMode=true \ No newline at end of file diff --git a/pluginsForAnchor/.gitignore b/pluginsForAnchor/.gitignore new file mode 100644 index 000000000..42afabfd2 --- /dev/null +++ b/pluginsForAnchor/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/pluginsForAnchor/build.gradle b/pluginsForAnchor/build.gradle new file mode 100644 index 000000000..ef5b9896d --- /dev/null +++ b/pluginsForAnchor/build.gradle @@ -0,0 +1,160 @@ +apply plugin: 'com.android.application' +//apply plugin: 'com.android.library' + + +android { + 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' + exclude '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' + exclude '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' + + } + 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.mergeAssetsProvider.configure { + doLast { + delete(fileTree(dir: outputDir, includes: [ + 'model/ai_bgseg_green.bundle', + 'model/ai_face_processor.bundle', + //'model/ai_face_processor_lite.bundle', + 'model/ai_hairseg.bundle', + 'model/ai_hand_processor.bundle', + 'model/ai_human_processor.bundle', + 'model/ai_human_processor_gpu.bundle', + 'model/ai_human_processor_mb_fast.bundle', + 'graphics/body_slim.bundle', + 'graphics/controller_cpp.bundle', + //'graphics/face_beautification.bundle', + 'graphics/face_makeup.bundle', + 'graphics/fuzzytoonfilter.bundle', + 'graphics/fxaa.bundle', + 'graphics/tongue.bundle', + //旧美颜 + 'model-all.zip', + 'filterData.zip', + 'KSYResource/*', + 'Resources/*', + 'Asset/*', + 'image_effect_shaders/*', + 'internal/*', + ])) + } + } + } + defaultConfig { + applicationId "com.pdlive.plugins" + minSdkVersion rootProject.ext.android.minSdkVersion + targetSdkVersion rootProject.ext.android.targetSdkVersion + versionCode rootProject.ext.android.versionCode + versionName rootProject.ext.android.versionName + manifestPlaceholders = rootProject.ext.manifestPlaceholders + ndk { + abiFilters "armeabi-v7a", "arm64-v8a" + } + } + aaptOptions { + cruncherEnabled = false + useNewCruncher = false + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + sourceSets { + main { + jniLibs.srcDirs = ['libs'] + } + } + +} +repositories { + flatDir { + dirs 'libs', '../libs' + } +} +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + + implementation 'com.faceunity:core:8.3.1' + implementation 'com.faceunity:model:8.3.1' + //implementation 'com.faceunity:nama:8.3.1' //底层库-标准版 + + +} diff --git a/pluginsForAnchor/proguard-rules.pro b/pluginsForAnchor/proguard-rules.pro new file mode 100644 index 000000000..481bb4348 --- /dev/null +++ b/pluginsForAnchor/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/pluginsForAnchor/src/main/AndroidManifest.xml b/pluginsForAnchor/src/main/AndroidManifest.xml new file mode 100644 index 000000000..8b45ca164 --- /dev/null +++ b/pluginsForAnchor/src/main/AndroidManifest.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/pluginsForAnchor/src/main/java/com/pdlive/pluginsForAnchor/MainPlugin.java b/pluginsForAnchor/src/main/java/com/pdlive/pluginsForAnchor/MainPlugin.java new file mode 100644 index 000000000..7ac6f8cb8 --- /dev/null +++ b/pluginsForAnchor/src/main/java/com/pdlive/pluginsForAnchor/MainPlugin.java @@ -0,0 +1,9 @@ +package com.pdlive.pluginsForAnchor; + +public class MainPlugin { + private static final String Version = "1.0"; + + public static String getVersion() { + return Version; + } +} diff --git a/pluginsForAnchor/src/main/res/drawable-v24/ic_launcher_foreground.xml b/pluginsForAnchor/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 000000000..2b068d114 --- /dev/null +++ b/pluginsForAnchor/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/pluginsForAnchor/src/main/res/drawable/ic_launcher_background.xml b/pluginsForAnchor/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 000000000..07d5da9cb --- /dev/null +++ b/pluginsForAnchor/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pluginsForAnchor/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/pluginsForAnchor/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..6f3b755bf --- /dev/null +++ b/pluginsForAnchor/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pluginsForAnchor/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/pluginsForAnchor/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..6f3b755bf --- /dev/null +++ b/pluginsForAnchor/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pluginsForAnchor/src/main/res/mipmap-hdpi/ic_launcher.webp b/pluginsForAnchor/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 000000000..c209e78ec Binary files /dev/null and b/pluginsForAnchor/src/main/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/pluginsForAnchor/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/pluginsForAnchor/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 000000000..b2dfe3d1b Binary files /dev/null and b/pluginsForAnchor/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ diff --git a/pluginsForAnchor/src/main/res/mipmap-mdpi/ic_launcher.webp b/pluginsForAnchor/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 000000000..4f0f1d64e Binary files /dev/null and b/pluginsForAnchor/src/main/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/pluginsForAnchor/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/pluginsForAnchor/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 000000000..62b611da0 Binary files /dev/null and b/pluginsForAnchor/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ diff --git a/pluginsForAnchor/src/main/res/mipmap-xhdpi/ic_launcher.webp b/pluginsForAnchor/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 000000000..948a3070f Binary files /dev/null and b/pluginsForAnchor/src/main/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/pluginsForAnchor/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/pluginsForAnchor/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 000000000..1b9a6956b Binary files /dev/null and b/pluginsForAnchor/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ diff --git a/pluginsForAnchor/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/pluginsForAnchor/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 000000000..28d4b77f9 Binary files /dev/null and b/pluginsForAnchor/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/pluginsForAnchor/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/pluginsForAnchor/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 000000000..9287f5083 Binary files /dev/null and b/pluginsForAnchor/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/pluginsForAnchor/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/pluginsForAnchor/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 000000000..aa7d6427e Binary files /dev/null and b/pluginsForAnchor/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ diff --git a/pluginsForAnchor/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/pluginsForAnchor/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 000000000..9126ae37c Binary files /dev/null and b/pluginsForAnchor/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ diff --git a/pluginsForAnchor/src/main/res/values/colors.xml b/pluginsForAnchor/src/main/res/values/colors.xml new file mode 100644 index 000000000..f8c6127d3 --- /dev/null +++ b/pluginsForAnchor/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/pluginsForAnchor/src/main/res/values/strings.xml b/pluginsForAnchor/src/main/res/values/strings.xml new file mode 100644 index 000000000..814088626 --- /dev/null +++ b/pluginsForAnchor/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + packageSdk + \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index e1b3b91be..1305f2842 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,4 +2,5 @@ include ':app', ':video', ':common', ':main', ':baidu', ':live', ':lib_country_ include ':FaceUnity' //include ':baidu' //include ':recognizer'//融云语音转文字模块 -include ':Share' \ No newline at end of file +include ':Share' +include ':pluginsForAnchor'