第一次提交

This commit is contained in:
被淹死的鱼
2026-03-11 18:26:29 +08:00
commit cd3b53759e
8532 changed files with 522078 additions and 0 deletions

9
.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
*.iml
/local.properties
.idea
.DS_Store
build
/captures
.externalNativeBuild
.gradle/

1
app/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/build

View File

@@ -0,0 +1,96 @@
{
"agcgw":{
"backurl":"connect-drcn.hispace.hicloud.com",
"url":"connect-drcn.dbankcloud.cn",
"websocketbackurl":"connect-ws-drcn.hispace.dbankcloud.com",
"websocketurl":"connect-ws-drcn.hispace.dbankcloud.cn"
},
"agcgw_all":{
"CN":"connect-drcn.dbankcloud.cn",
"CN_back":"connect-drcn.hispace.hicloud.com",
"DE":"connect-dre.dbankcloud.cn",
"DE_back":"connect-dre.hispace.hicloud.com",
"RU":"connect-drru.hispace.dbankcloud.ru",
"RU_back":"connect-drru.hispace.dbankcloud.cn",
"SG":"connect-dra.dbankcloud.cn",
"SG_back":"connect-dra.hispace.hicloud.com"
},
"websocketgw_all":{
"CN":"connect-ws-drcn.hispace.dbankcloud.cn",
"CN_back":"connect-ws-drcn.hispace.dbankcloud.com",
"DE":"connect-ws-dre.hispace.dbankcloud.cn",
"DE_back":"connect-ws-dre.hispace.dbankcloud.com",
"RU":"connect-ws-drru.hispace.dbankcloud.ru",
"RU_back":"connect-ws-drru.hispace.dbankcloud.cn",
"SG":"connect-ws-dra.hispace.dbankcloud.cn",
"SG_back":"connect-ws-dra.hispace.dbankcloud.com"
},
"client":{
"cp_id":"30086000686564064",
"product_id":"388421841221488221",
"client_id":"1162386077042888192",
"client_secret":"F0EC8EDDA52B38AE144E494CB505C344801B5DE325B08BDA0D7649B1983DA93F",
"project_id":"388421841221488221",
"app_id":"108318391",
"api_key":"DAEDACb//MwJd8VoONZ8qwwwfyYb5+/Oeh0YImMODrMKXBRAkqUXPO+jp44QOcybtAsiOgIaYZ2Wgor4WLQTbhJYtLxHmmFE9Dy/xw==",
"package_name":"com.fengliyan.tianlesue"
},
"oauth_client":{
"client_id":"108318391",
"client_type":1
},
"app_info":{
"app_id":"108318391",
"package_name":"com.fengliyan.tianlesue"
},
"service":{
"analytics":{
"collector_url":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn",
"collector_url_ru":"datacollector-drru.dt.dbankcloud.ru,datacollector-drru.dt.hicloud.com",
"collector_url_sg":"datacollector-dra.dt.hicloud.com,datacollector-dra.dt.dbankcloud.cn",
"collector_url_de":"datacollector-dre.dt.hicloud.com,datacollector-dre.dt.dbankcloud.cn",
"collector_url_cn":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn",
"resource_id":"p1",
"channel_id":""
},
"edukit":{
"edu_url":"edukit.edu.cloud.huawei.com.cn",
"dh_url":"edukit.edu.cloud.huawei.com.cn"
},
"search":{
"url":"https://search-drcn.cloud.huawei.com"
},
"cloudstorage":{
"storage_url_sg_back":"https://agc-storage-dra.cloud.huawei.asia",
"storage_url_ru_back":"https://agc-storage-drru.cloud.huawei.ru",
"storage_url_ru":"https://agc-storage-drru.cloud.huawei.ru",
"storage_url_de_back":"https://agc-storage-dre.cloud.huawei.eu",
"storage_url_de":"https://ops-dre.agcstorage.link",
"storage_url":"https://agc-storage-drcn.platform.dbankcloud.cn",
"storage_url_sg":"https://ops-dra.agcstorage.link",
"storage_url_cn_back":"https://agc-storage-drcn.cloud.huawei.com.cn",
"storage_url_cn":"https://agc-storage-drcn.platform.dbankcloud.cn"
},
"ml":{
"mlservice_url":"ml-api-drcn.ai.dbankcloud.com,ml-api-drcn.ai.dbankcloud.cn"
}
},
"region":"CN",
"configuration_version":"3.0",
"appInfos":[
{
"package_name":"com.fengliyan.tianlesue",
"client":{
"app_id":"108318391"
},
"app_info":{
"package_name":"com.fengliyan.tianlesue",
"app_id":"108318391"
},
"oauth_client":{
"client_type":1,
"client_id":"108318391"
}
}
]
}

402
app/build.gradle Normal file
View File

@@ -0,0 +1,402 @@
apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.hihonor.mcs.asplugin'
//apply plugin: 'android-junk-code'
//androidJunkCode {
// def config = {
// //变体名称如果没有设置productFlavors就是buildType名称如果有设置productFlavors就是flavor+buildType例如freeRelease、proRelease
// packageBase = "com.live.siyu" //生成java类根包名
// packageCount = 60 //生成包数量
// activityCountPerPackage = 6 //每个包下生成Activity类数量
// excludeActivityJavaFile = false
// //是否排除生成Activity的Java文件,默认false(layout和写入AndroidManifest.xml还会执行),主要用于处理类似神策全埋点编译过慢问题
// otherCountPerPackage = 60 //每个包下生成其它类的数量
// methodCountPerClass = 60 //每个类下生成方法数量
// resPrefix = "sy_" //生成的layout、drawable、string等资源名前缀
// drawableCount = 300 //生成drawable资源数量
// stringCount = 300 //生成string数量
// }
// variantConfig {
// devDebug config
// ossRelease config
// }
//}
android {
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
compileSdkVersion 31
buildToolsVersion "30.0.3"
viewBinding {
enabled = true
}
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId "com.fengliyan.tianlesue"
minSdkVersion 24
targetSdkVersion 30
versionCode 38
versionName "2.5.1"
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
flavorDimensions "versionCode"
buildConfigField "String", "AUTH_SECRET", '"tX1pY3+d9GOsDdek6c8EkqlBagajAzzq4Yl8xWzKxE66qzaa51BRukuNO66MPcv92lK5tTifKP6md8Jn/vIcgQCLpJWhr4vKvcGeOmBFIPmdo/++elnHTJdJ10RSRN8fDaQVUhX7Ap3KoPQ4n/oSUNSpa/HKZihCLQK31vyNCL/GZ4bGijb2e63JDN4GbUOP1d7yw4vbaNEA883Da+CQ+CyYW4aXWuLca/1ngoszOw3wRFhe/ZMVDhDRRMc7Bpp/+judD4ehwydRzLprBpVSQufZV6XAUpec3V7eJRH3FHGXE4fwtZK4BA=="'
multiDexEnabled true
ndk {
abiFilters "arm64-v8a", "armeabi-v7a"
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
configurations.all {
resolutionStrategy {
force 'androidx.core:core:1.7.0'
}
}
packagingOptions {
pickFirst 'lib/arm64-v8a/libc++_shared.so'
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
}
signingConfigs {
release {
// default keystore file, PLZ config file path in local.properties
//Properties properties = new Properties()
//加载本地local.properties文件
/*if(rootProject.file("local.properties").exists()) {
properties.load(rootProject.file("local.properties").newDataInputStream())
}
storeFile file(properties.get("storeFile") ?: System.getenv("FLOW_CERTIFICATE_FILE"))
storePassword properties.get("storePassword") ?: System.getenv("FLOW_KEYSTORE_PASS")
keyAlias properties.get("keyAlias") ?: System.getenv("FLOW_ALIAS_NAME")
keyPassword properties.get("keyPassword") ?: System.getenv("FLOW_ALIAS_PASS")*/
storeFile file("xiayue.jks")
storePassword 'Chenqihong3'
keyAlias 'chenqihong3'
keyPassword 'Chenqihong3'
v1SigningEnabled true
v2SigningEnabled true
}
}
//更改打包名字
applicationVariants.all { variant ->
variant.outputs.all {
//qingyu_v1.4.5_oppo_id1389900
// def code = getBuildConfigFieldValue(variant, "InviteCode")
// def codeReplace = code.replace("\"", "").replace("\"", "")
// def fileName = "qingyu_v${versionName}_${variant.productFlavors[0].name}_id${codeReplace}_${buildType.name}.apk"
def fileName = "siyu_v${versionName}_${variant.productFlavors[0].name}_${buildType.name}.apk"
outputFileName = fileName
}
variant.mergeAssetsProvider.configure {
doLast {
delete(fileTree(dir: outputDir,
includes: ['model/ai_bgseg_green.bundle',
'model/ai_face_processor_lite.bundle',
'model/ai_hairseg.bundle',
'model/ai_hand_processor.bundle',
'model/ai_human_processor_mb_fast.bundle',
'graphics/face_makeup.bundle',
'graphics/body_slim.bundle',
'graphics/controller_cpp.bundle',
'graphics/fuzzytoonfilter.bundle',
'graphics/tongue.bundle',
'graphics/fxaa.bundle']))
}
}
}
buildTypes {
release {
minifyEnabled false
// shrinkResources true
// useProguard true
// zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
repositories {
flatDir {
dirs 'libs'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
main.assets.srcDirs += ['src/main/assets']
main.res.srcDirs += ['src/mian/res', 'src/main/filters/res']
}
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
}
productFlavors {
// dev {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "true"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "oss",
// APP_NAME : "私语"
// ]
// }
oss {
applicationId "com.fengliyan.tianlesue"
buildConfigField "boolean", "IS_DEV", "false"
buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
MARKET_VALUE : "oss",
APP_NAME : "私语"
]
}
// vivo {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "vivo",
// APP_NAME : "私语"
// ]
// }
// oppo {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "oppo",
// APP_NAME : "私语",
// ]
// }
// xiaomi {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "xiaomi",
// APP_NAME : "私语"
// ]
// }
// yingyongbao {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "yingyongbao",
// APP_NAME : "私语"
// ]
// }
// huawei {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuSocialPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuSocialAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuSocialVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "huawei",
// APP_NAME : "私语交友"
// ]
// }
// honor {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "honor",
// APP_NAME : "私语"
// ]
// }
// meizu {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "meizu",
// APP_NAME : "私语"
// ]
// }
// baiduss {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "baiduss",
// APP_NAME : "私语"
// ]
// }
// baiduxxl {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "baiduxxl",
// APP_NAME : "私语"
// ]
// }
// threesixzero {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "\"360\"",
// APP_NAME : "私语"
// ]
// }
// ali {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "ali",
// APP_NAME : "私语"
// ]
// }
// kuaishou {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "kuaishou",
// APP_NAME : "私语"
// ]
// }
// douyin {
// applicationId "com.fengliyan.tianlesue"
// buildConfigField "boolean", "IS_DEV", "false"
// buildConfigField "String", "PRIVACY", '"/index/about/siyuPrivacy.html"'
// buildConfigField "String", "AGREEMENT", '"/index/about/siyuAgreement.html"'
// buildConfigField "String", "VIP_AGREEMENT", '"/index/about/siyuVipAgreement.html"'
// manifestPlaceholders = [APPLICATION_ID: "com.fengliyan.tianlesue",
// MARKET_VALUE : "douyin",
// APP_NAME : "私语"
// ]
// }
}
dependencies {
//noinspection GradleCompatible
implementation 'com.github.gzu-liyujiang:Android_CN_OAID:4.2.4'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0-beta04'
implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.androidx.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.facebook.fresco:fresco:1.8.1'
implementation 'com.contrarywind:Android-PickerView:4.0.1'
implementation 'com.google.code.gson:gson:2.8.2'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
implementation 'io.reactivex.rxjava2:rxjava:2.1.12'
implementation 'in.srain.cube:ultra-ptr:1.0.11'
implementation 'commons-io:commons-io:2.6'
implementation 'me.relex:photodraweeview:1.1.3'
implementation 'me.himanshusoni.quantityview:quantity-view:1.2.0'
implementation project(path: ':uikit')
implementation project(path: ':location')
implementation project(path: ':http')
implementation project(path: ':share')
implementation project(path: ':device')
implementation project(path: ':messaging')
implementation project(path: ':storage')
implementation project(path: ':yunxinkit')
implementation project(':faceunity')
//EventBus
implementation 'de.greenrobot:eventbus:2.4.0'
implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.8.0'
//魅族推送
implementation 'com.meizu.flyme.internet:push-internal:3.6.3@aar'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'org.adw.library:discrete-seekbar:1.0.1'
//设置状态栏颜色
implementation 'com.githang:status-bar-compat:0.7'
//banner
implementation 'com.youth.banner:banner:1.4.10'
//最新版本
//仿微信图片预览
implementation 'com.google.android.material:material:1.4.0'
implementation fileTree(include: ['*.aar', '*.jar'], exclude: [], dir: 'libs')
implementation 'com.huawei.hms:push:6.12.0.300' //华为
implementation 'com.hihonor.mcs:push:7.0.61.303'
implementation 'com.github.yyued:SVGAPlayer-Android:2.5.12'//svga
implementation 'com.tencent.bugly:crashreport:4.0.4'
implementation 'com.github.getActivity:XXPermissions:13.6'
implementation 'me.jessyan:autosize:1.2.1'
//圆角控件
implementation 'com.flyco.roundview:FlycoRoundView_Lib:1.1.4@aar'
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.6'
implementation 'com.github.eralpyucel:CircleProgressView:v1.1'
//implementation 'com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer:v8.1.0'
implementation 'com.shuyu:GSYVideoPlayer:8.1.0'
implementation 'com.googlecode.mp4parser:isoparser:1.1.21'
implementation "io.agora.rtc:full-rtc-basic:3.6.2"
// implementation 'commons-codec:commons-codec:1.6'
implementation 'io.github.happylishang:antifake:1.7.0'
implementation 'com.blankj:utilcodex:1.31.1'
implementation 'com.airbnb.android:lottie:5.2.0'
// implementation 'com.mcxiaoke.packer-ng:helper:2.0.1'
// implementation(name: 'alipaySdk-15.8.03.210428205839', ext: 'aar')
// 商业化转化组件(必须)
implementation 'com.bytedance.ads:AppConvert:2.0.0'
implementation 'com.ryan.github:menupopupview:1.0.0'
implementation 'io.github.scwang90:refresh-layout-kernel:3.0.0-alpha'
implementation 'io.github.scwang90:refresh-footer-classics:3.0.0-alpha'
implementation 'com.devzld:expandlayout:1.0.0'
implementation 'io.github.lucksiege:pictureselector:v3.11.2'
implementation 'com.github.Dimezis:BlurView:version-3.1.0'
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
app/libs/com.heytap.msp.aar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
app/libs/oaid.jar Normal file

Binary file not shown.

Binary file not shown.

BIN
app/libs/video-capture.aar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
app/libs/x86/libhtpcrash.so Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

6
app/mcs-services.json Normal file
View File

@@ -0,0 +1,6 @@
{
"developer_id":"109999896480",
"app_id":"104457750",
"package_name":"com.fengliyan.tianlesue",
"version":"1.0"
}

276
app/proguard-rules.pro vendored Normal file
View File

@@ -0,0 +1,276 @@
# 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
#
#-------------------------------------------基本不用动区域----------------------------------------------
#
#
# -----------------------------基本 -----------------------------
#
# 指定代码的压缩级别 0 - 7(指定代码进行迭代优化的次数在Android里面默认是5这条指令也只有在可以优化时起作用)
-optimizationpasses 5
# 混淆时不会产生形形色色的类名(混淆时不使用大小写混合类名)
-dontusemixedcaseclassnames
# 指定不去忽略非公共的库类(不跳过library中的非public的类)
-dontskipnonpubliclibraryclasses
# 指定不去忽略包可见的库类的成员
-dontskipnonpubliclibraryclassmembers
#不进行优化,建议使用此选项,
-dontoptimize
# 不进行预校验,Android不需要,可加快混淆速度
-dontpreverify
# 屏蔽警告
-ignorewarnings
# 指定混淆是采用的算法,后面的参数是一个过滤器
# 这个过滤器是谷歌推荐的算法,一般不做更改
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
# 保护代码中的Annotation不被混淆
-keepattributes *Annotation*
# 避免混淆泛型, 这在JSON实体映射时非常重要
-keepattributes Signature
# 抛出异常时保留代码行号
-keepattributes SourceFile,LineNumberTable
#优化时允许访问并修改有修饰符的类和类的成员,这可以提高优化步骤的结果。
# 比如当内联一个公共的getter方法时这也可能需要外地公共访问。
# 虽然java二进制规范不需要这个要不然有的虚拟机处理这些代码会有问题。当有优化和使用-repackageclasses时才适用。
#指示语不能用这个指令处理库中的代码因为有的类和类成员没有设计成public ,而在api中可能变成public
-allowaccessmodification
#当有优化和使用-repackageclasses时才适用。
-repackageclasses ''
# 混淆时记录日志(打印混淆的详细信息)
# 这句话能够使我们的项目混淆后产生映射文件
# 包含有类名->混淆后类名的映射关系
-verbose
#
# ----------------------------- 默认保留 -----------------------------
#
#----------------------------------------------------
# 保持哪些类不被混淆
#继承activity,application,service,broadcastReceiver,contentprovider....不进行混淆
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.support.multidex.MultiDexApplication
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class * extends android.view.View
-keep class android.support.** {*;}## 保留support下的所有类及其内部类
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
#表示不混淆上面声明的类最后这两个类我们基本也用不上是接入Google原生的一些服务时使用的。
#----------------------------------------------------
# 保留继承的
-keep public class * extends android.support.v4.**
-keep public class * extends android.support.v7.**
-keep public class * extends android.support.annotation.**
#表示不混淆任何包含native方法的类的类名以及native方法名这个和我们刚才验证的结果是一致
-keepclasseswithmembernames class * {
native <methods>;
}
#这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
#表示不混淆Activity中参数是View的方法因为有这样一种用法在XML中配置android:onClick=”buttonClick”属性
#当用户点击该按钮时就会调用Activity中的buttonClick(View view)方法,如果这个方法被混淆的话就找不到了
-keepclassmembers class * extends android.app.Activity{
public void *(android.view.View);
}
#表示不混淆枚举中的values()和valueOf()方法,枚举我用的非常少,这个就不评论了
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
#表示不混淆任何一个View中的setXxx()和getXxx()方法,
#因为属性动画需要有相应的setter和getter的方法实现混淆了就无法工作了。
-keep public class * extends android.view.View{
*** get*();
void set*(***);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
#表示不混淆Parcelable实现类中的CREATOR字段
#毫无疑问CREATOR字段是绝对不能改变的包括大小写都不能变不然整个Parcelable工作机制都会失败。
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
# 这指定了继承Serizalizable的类的如下成员不被移除混淆
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
# 保留R下面的资源
#-keep class **.R$* {
# *;
#}
#不混淆资源类下static的
-keepclassmembers class **.R$* {
public static <fields>;
}
# 对于带有回调函数的onXXEvent、**On*Listener的不能被混淆
-keepclassmembers class * {
void *(**On*Event);
void *(**On*Listener);
}
# 保留我们自定义控件继承自View不被混淆
-keep public class * extends android.view.View{
*** get*();
void set*(***);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
#
#----------------------------- WebView(项目中没有可以忽略) -----------------------------
#
#webView需要进行特殊处理
-keepclassmembers class fqcn.of.javascript.interface.for.Webview {
public *;
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, jav.lang.String);
}
#在app中与HTML5的JavaScript的交互进行特殊处理
#我们需要确保这些js要调用的原生方法不能够被混淆于是我们需要做如下处理
-keepclassmembers class com.ljd.example.JSInterface {
<methods>;
}
#
#---------------------------------实体类---------------------------------
#--------(实体Model不能混淆否则找不到对应的属性获取不到值)-----
#
-dontwarn com.suchengkeji.android.confusiondemo.md.**
#对含有反射类的处理
-keep class com.suchengkeji.android.confusiondemo.md.** { *; }
#
# ----------------------------- 其他的 -----------------------------
#
# 删除代码中Log相关的代码
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}
# 保持测试相关的代码
-dontnote junit.framework.**
-dontnote junit.runner.**
-dontwarn android.test.**
-dontwarn android.support.test.**
-dontwarn org.junit.**
#华为推送
-ignorewarnings
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.hianalytics.android.**{*;}
-keep class com.huawei.updatesdk.**{*;}
-keep class com.huawei.hms.**{*;}
#小米推送
-dontwarn com.xiaomi.push.**
-keep class com.xiaomi.** {*;}
#oppo推送
-keep public class * extends android.app.Service
# OAID
# sdk
-keep class com.bun.miitmdid.** { *; }
-keep interface com.bun.supplier.** { *; }
# asus
-keep class com.asus.msa.SupplementaryDID.** { *; }
-keep class com.asus.msa.sdid.** { *; }
# freeme
-keep class com.android.creator.** { *; }
-keep class com.android.msasdk.** { *; }
# huawei
-keep class com.huawei.hms.ads.** { *; }
-keep interface com.huawei.hms.ads.** {*; }
# lenovo
-keep class com.zui.deviceidservice.** { *; }
-keep class com.zui.opendeviceidlibrary.** { *; }
# meizu
-keep class com.meizu.flyme.openidsdk.** { *; }
# nubia
-keep class com.bun.miitmdid.provider.nubia.NubiaIdentityImpl
{ *; }
# oppo
-keep class com.heytap.openid.** { *; }
# samsung
-keep class com.samsung.android.deviceidservice.** { *; }
# vivo
-keep class com.vivo.identifier.** { *; }
# xiaomi
-keep class com.bun.miitmdid.provider.xiaomi.IdentifierManager
{ *; }
# zte
-keep class com.bun.lib.** { *; }
# coolpad
-keep class com.coolpad.deviceidsupport.** { *; }
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
-keep class com.tencent.mm.opensdk.** {*;}
-keep class com.tencent.mm.sdk.** {*;}
-keep class com.tencent.wxop.** {*;}
-dontwarn com.unionpay.**
-keep class com.unionpay.** {*;}

View File

@@ -0,0 +1,26 @@
package com.fengliyan.tianlesue;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() throws Exception {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getTargetContext();
assertEquals("com.fengliyan.tianlesue", appContext.getPackageName());
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
// IMyAidlInterface.aidl
package com.fengliyan.tianlesue.aidl;
// Declare any non-default types here with import statements
interface IMyAidlInterface {
/**
* Demonstrates some basic types that you can use as parameters
* and return values in AIDL.
*/
String getServiceName();
}

Binary file not shown.

View File

@@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
MIIFoDCCA4igAwIBAgICJuwwDQYJKoZIhvcNAQELBQAwgYAxCzAJBgNVBAYTAkNO
MRAwDgYDVQQIDAdCZWlqaW5nMQwwCgYDVQQKDANNU0ExETAPBgNVBAsMCE9BSURf
U0RLMR4wHAYDVQQDDBVjb20uYnVuLm1paXRtZGlkLnNpZ24xHjAcBgkqhkiG9w0B
CQEWD21zYUBjYWljdC5hYy5jbjAeFw0yMjA2MjcxNTAzNTFaFw0yMzA2MjgxNTAz
NTFaMIGSMQswCQYDVQQGEwJDTjEQMA4GA1UECAwHQmVpamluZzEQMA4GA1UEBwwH
QmVpamluZzETMBEGA1UECgwKcWluZ3l1MjAyMjEeMBwGA1UEAwwVY29tLmxpdmUu
eGlheXVlb25saW5lMSowKAYJKoZIhvcNAQkBFhtqdUBzenNoZmtqeXhnczM4Lndl
Y29tLndvcmswggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCyGC9T3GW4
BSsvnVNqb8+HlnjJAQvTPd7H13m1f945uUsUYYMaaZuICYjb4qefZUyQgyxBUTYf
BOTpE7ccdcNoZgCp05RTng30zvkc4pjawJIkNeIC2NGlN7RquO4Ka/06LSuq5N+b
fL78E0MwZAinoxSswf/yNY5R1LJ2b3I7BnW7rVSb7KbB0Q4z5KmuJ04hPVl7BtSd
fVnvnRVTBDRm/cMgyupEl+CCGW8HUejzPHdHeHRK1rx7fuwQI+5jgMmDYRNXZD4A
mJ0vClurQR5avN2xOuxB8HbtB+lQitsNnQCvYY1Xp4s7FtfmT6JzDNQ//vRgXxYr
OaVFfoY/ugrO+SfZtqej+mdKR3KgOaAA75t8zcJfM6WGrbPJl3xHc2bhD4kGwRkT
AcHJ7WQOIrWz85CPCfIoYh8nZlBlsCNamJJh6Pl2nAtmnfMtDuYZJo/2QK6J/KFt
ywsYIekU6fiRsJaaunBf5sD9IxbvJcRRB+HRCsySKYEg8z7Xlh90fHimfUgT0Gt4
4/o+nzPh7Cq9Ay6dWtMxYFx78Z1epapOJdUNpZWIET8wQHriJmbJ18TlidGRAW85
kW2ka2cr4u6Ed68JQa+nN+kbS0dDeuvOBGOsiqqCy5aeA0oz88HRWWIga02PLTZb
Es4PdYrNzHWCISjnk34KpwwxYJUn6Zpy1wIDAQABoxAwDjAMBgNVHRMBAf8EAjAA
MA0GCSqGSIb3DQEBCwUAA4ICAQCRRKZLtYiCh86150a7thE/YsQxE3PEVHd4/Ufm
UqDRZEbt/ObUNE0Pl0f4ZYu3eSqUeljwTI9E2AHlMznMzVhi0JMQSpLKMdl+5D2L
S7tX3YBtAGhYQ7N66Sa4XDXbVQQdup3RxpQ5vwPGKlkHUUG8z+0wgcWzqRoBe1bG
+BodXmvfFVqpOqH/1w8M9o10KHpc0hfoq4NJhtYLaZ5xAJh488W+fFywSai2ybqx
1xar/q0fiB68J+5/i/6jkBfBS3/MT1hFRu1ieWVEFr71qtN4df+UoiP7DTtmuNzS
Z+NQgVKP33PkGT/UrLq4IT1V5jKJHc1+ihUQi/9TeBIrn5d+XdND1Ci063ezJAok
S42ZmJK3CHza1nu0bUW8eddX6byv/PxSFRCprpkbi0LPMzEiUtwxpVSBc4P322oQ
wRUgL52BXO7zAYrRHWtuBGI1xcJqXiQcBfczEYZrLKx39qZtgBievhppT10HVdLl
5E8aRgVMorx/ZUjgScJQFYDPOaRZBeDSmqSf8DqHGSUXlnUey6AIpqH97gfQBsrK
U1rmJpKbLZkWyC1G9Lhxti8CE2u1oWjORf57gngKpZEYJ8TU9gKsJsmuJFfHLQWq
fPYVB3GlKL/pmNhG0JIzG5fgHd+/bhig7VrUOO+b4IidWeZ5Jqixg7PcVo5wKlGC
vkmAyQ==
-----END CERTIFICATE-----

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Some files were not shown because too many files have changed in this diff Show More