Skip to content

Commit b0fc99d

Browse files
committed
Switch Fabric to AppCenter
Signed-off-by: tiann <twsxtd@gmail.com>
1 parent 1ab205c commit b0fc99d

File tree

5 files changed

+22
-30
lines changed

5 files changed

+22
-30
lines changed

VirtualApp/app/build.gradle

+5-8
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11
apply plugin: 'com.android.application'
2-
apply plugin: 'io.fabric'
3-
4-
repositories {
5-
maven { url 'https://maven.fabric.io/public' }
6-
}
72

83
Properties properties = new Properties()
94
def localProp = file(project.rootProject.file('local.properties'))
@@ -90,9 +85,11 @@ dependencies {
9085
implementation 'org.jdeferred:jdeferred-android-aar:1.2.4'
9186
// ThirdParty
9287
implementation 'com.jonathanfinerty.once:once:1.0.3'
93-
aospImplementation('com.crashlytics.sdk.android:crashlytics:2.9.0@aar') {
94-
transitive = true
95-
}
88+
89+
def appCenterSdkVersion = '3.0.0'
90+
aospImplementation("com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}")
91+
aospImplementation("com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}")
92+
9693
implementation 'com.kyleduo.switchbutton:library:1.4.6'
9794
implementation 'com.allenliu.versionchecklib:library:1.8.3'
9895
implementation 'com.github.medyo:android-about-page:1.2.2'

VirtualApp/app/src/aosp/java/io/virtualapp/delegate/MyCrashHandler.java

+10-7
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66
import android.content.pm.PackageInfo;
77
import android.util.Log;
88

9-
import com.crashlytics.android.Crashlytics;
109
import com.lody.virtual.client.VClientImpl;
1110
import com.lody.virtual.client.core.VirtualCore;
1211
import com.lody.virtual.os.VUserHandle;
1312
import com.lody.virtual.remote.InstalledAppInfo;
13+
import com.microsoft.appcenter.crashes.Crashes;
1414

15+
import java.util.HashMap;
16+
import java.util.Map;
1517
import java.util.concurrent.TimeUnit;
1618

1719
/**
@@ -27,18 +29,19 @@ public class MyCrashHandler extends BaseCrashHandler {
2729
public void handleUncaughtException(Thread t, Throwable e) {
2830
SharedPreferences sp = VirtualCore.get().getContext().getSharedPreferences(CRASH_SP, Context.MODE_MULTI_PROCESS);
2931

32+
Map<String, String> properties = new HashMap<>();
3033
try {
3134
ApplicationInfo currentApplicationInfo = VClientImpl.get().getCurrentApplicationInfo();
3235
if (currentApplicationInfo != null) {
3336
String packageName = currentApplicationInfo.packageName;
3437
String processName = currentApplicationInfo.processName;
3538

36-
Crashlytics.setString("process", processName);
37-
Crashlytics.setString("package", packageName);
39+
properties.put("process", processName);
40+
properties.put("package", packageName);
3841

3942
int userId = VUserHandle.myUserId();
4043

41-
Crashlytics.setInt("uid", userId);
44+
properties.put("uid", String.valueOf(userId));
4245

4346
InstalledAppInfo installedAppInfo = VirtualCore.get().getInstalledAppInfo(packageName, 0);
4447
if (installedAppInfo != null) {
@@ -47,8 +50,8 @@ public void handleUncaughtException(Thread t, Throwable e) {
4750
String versionName = packageInfo.versionName;
4851
int versionCode = packageInfo.versionCode;
4952

50-
Crashlytics.setString("versionName", versionName);
51-
Crashlytics.setInt("versionCode", versionCode);
53+
properties.put("versionName", versionName);
54+
properties.put("versionCode", String.valueOf(versionCode));
5255

5356
}
5457
}
@@ -64,7 +67,7 @@ public void handleUncaughtException(Thread t, Throwable e) {
6467
if (exceptionType.equals(lastCrashType) && (now - lastCrash) < TimeUnit.MINUTES.toMillis(1)) {
6568
// continues crash, do not upload
6669
} else {
67-
Crashlytics.logException(e);
70+
Crashes.trackError(e, properties, null);
6871
}
6972

7073
Log.i(TAG, "uncaught :" + t, e);

VirtualApp/app/src/aosp/java/io/virtualapp/delegate/MyVirtualInitializer.java

+7-5
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
import android.app.Application;
44

5-
import com.crashlytics.android.Crashlytics;
65
import com.lody.virtual.client.core.VirtualCore;
7-
8-
import io.fabric.sdk.android.Fabric;
6+
import com.microsoft.appcenter.AppCenter;
7+
import com.microsoft.appcenter.analytics.Analytics;
8+
import com.microsoft.appcenter.crashes.Crashes;
99

1010
/**
1111
* @author weishu
@@ -18,15 +18,17 @@ public MyVirtualInitializer(Application application, VirtualCore core) {
1818

1919
@Override
2020
public void onMainProcess() {
21-
Fabric.with(this.application, new Crashlytics());
21+
AppCenter.start(application, "bf5e74bd-3795-49bd-95c8-327db494dd11",
22+
Analytics.class, Crashes.class);
2223
super.onMainProcess();
2324
}
2425

2526
@Override
2627
public void onVirtualProcess() {
2728

2829
// For Crash statics
29-
Fabric.with(application, new Crashlytics());
30+
AppCenter.start(application, "bf5e74bd-3795-49bd-95c8-327db494dd11",
31+
Analytics.class, Crashes.class);
3032

3133
super.onVirtualProcess();
3234

VirtualApp/app/src/main/AndroidManifest.xml

-4
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,6 @@
2626
android:value="com.android.support:design:25.4.0"
2727
tools:replace="android:value" />
2828

29-
<meta-data
30-
android:name="io.fabric.ApiKey"
31-
android:value="797c6ad1f87c908a4d7f6e8091e6466848b1611d" />
32-
3329
<activity
3430
android:name=".splash.SplashActivity"
3531
android:screenOrientation="portrait"

VirtualApp/build.gradle

-6
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,13 @@ buildscript {
66
url 'https://maven.google.com/'
77
name 'Google'
88
}
9-
maven {
10-
url 'https://maven.fabric.io/public'
11-
}
129
jcenter()
1310
}
1411
dependencies {
1512
classpath 'com.android.tools.build:gradle:3.2.1'
1613
classpath 'com.android.tools.build:gradle-experimental:0.11.1'
1714
// We recommend changing it to the latest version from our changelog:
1815
// https://docs.fabric.io/android/changelog.html#fabric-gradle-plugin
19-
classpath 'io.fabric.tools:gradle:1.27.1'
20-
// NOTE: Do not place your application dependencies here; they belong
21-
// in the individual module build.gradle files
2216
}
2317
}
2418

0 commit comments

Comments
 (0)