feat: 1. use xcrash for release test case; 2. use proguard-android-optimize.txt for Compose laggy issue.

This commit is contained in:
cgspine
2022-02-23 10:27:18 +08:00
parent 16f9c10caa
commit d57554af28
4 changed files with 51 additions and 8 deletions
@@ -14,7 +14,7 @@ object Dep {
object QMUI {
const val group = "com.qmuiteam"
const val qmuiVer = "2.0.1"
const val archVer = "2.0.1_f_14"
const val archVer = "2.0.1"
const val typeVer = "0.0.14"
const val composeCoreVer = "0.0.1"
const val composeVer = "0.0.1"
+8 -2
View File
@@ -33,7 +33,7 @@ android {
keyPassword = properties.getProperty("RELEASE_KEY_PASSWORD")
storeFile = file("qmuidemo.keystore")
storePassword = properties.getProperty("RELEASE_STORE_PASSWORD")
enableV2Signing = false
enableV2Signing = true
}
}
@@ -62,11 +62,15 @@ android {
targetSdk = Dep.targetSdk
versionCode = gitVersion
versionName = Dep.QMUI.qmuiVer
ndk {
abiFilters.add("arm64-v8a")
}
}
buildTypes {
getByName("release") {
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
signingConfig = signingConfigs.getByName("release")
}
}
@@ -90,4 +94,6 @@ dependencies {
implementation(Dep.Flipper.flipper)
kapt(project(":compiler"))
kapt(project(":arch-compiler"))
implementation("com.iqiyi.xcrash:xcrash-android-lib:3.1.0")
}
+4 -1
View File
@@ -23,4 +23,7 @@
-keep class com.qmuiteam.qmui.arch.record.RecordIdClassMapImpl { *; }
-keep class com.qmuiteam.qmui.arch.scheme.SchemeMap {*;}
-keep class com.qmuiteam.qmui.arch.scheme.SchemeMapImpl {*;}
-keep class com.qmuiteam.qmui.arch.scheme.SchemeMapImpl {*;}
-keep class com.facebook.jni.**{*;}
-keep class com.facebook.flipper.**{*;}
@@ -17,8 +17,11 @@ package com.qmuiteam.qmuidemo
import android.annotation.SuppressLint
import android.app.Application
import android.content.ContentValues
import android.content.Context
import android.content.res.Configuration
import android.os.Environment
import android.provider.MediaStore
import android.util.Log
import coil.ImageLoader
import coil.ImageLoaderFactory
@@ -32,12 +35,26 @@ import com.qmuiteam.qmui.arch.QMUISwipeBackActivityManager
import com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler
import com.qmuiteam.qmuidemo.manager.QDSkinManager
import com.qmuiteam.qmuidemo.manager.QDUpgradeManager
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import xcrash.TombstoneManager
import xcrash.XCrash
import java.io.File
/**
* Demo 的 Application 入口。
* Created by cgine on 16/3/22.
*/
class QDApplication : Application(), ImageLoaderFactory {
override fun attachBaseContext(base: Context?) {
super.attachBaseContext(base)
XCrash.init(this)
}
override fun onCreate() {
super.onCreate()
context = applicationContext
@@ -64,10 +81,27 @@ class QDApplication : Application(), ImageLoaderFactory {
QMUISwipeBackActivityManager.init(this)
QMUIQQFaceCompiler.setDefaultQQFaceManager(QDQQFaceManager.getInstance())
QDSkinManager.install(this)
SoLoader.init(this, false)
val client = AndroidFlipperClient.getInstance(this)
client.addPlugin(InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()))
client.start()
if(BuildConfig.DEBUG){
SoLoader.init(this, false)
val client = AndroidFlipperClient.getInstance(this)
client.addPlugin(InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()))
client.start()
}
GlobalScope.launch(Dispatchers.IO) {
delay(5000)
for (file in TombstoneManager.getAllTombstones()) {
val contentValues = ContentValues()
contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, file.name)
contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "txt")
val uri = contentResolver.insert(MediaStore.Files.getContentUri("external"), contentValues) ?: continue
contentResolver.openOutputStream(uri)?.use { out ->
file.inputStream().use { ins ->
ins.copyTo(out)
}
}
}
}
}
override fun onConfigurationChanged(newConfig: Configuration) {