我正在尝试构建一个允许我通过蓝牙连接到健康设备的程序,但是当我尝试在模拟器或手机上运行它时,当我尝试访问该活动时它会崩溃。这是没有完全运行的活动的代码:
package com.example.baard.mysqldemo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.Manifest;
import android.util.Log;
import android.view.View;
import android.app.ActionBar;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.empatica.empalink.EmpaDeviceManager;
import com.empatica.empalink.ConnectionNotAllowedException;
import com.empatica.empalink.config.EmpaSensorStatus;
import com.empatica.empalink.config.EmpaSensorType;
import com.empatica.empalink.config.EmpaStatus;
import com.empatica.empalink.delegate.EmpaDataDelegate;
import com.empatica.empalink.delegate.EmpaStatusDelegate;
import static com.empatica.empalink.config.EmpaStatus.*;
/**
* Created by arnar on 01.11.2017.
*/
public class Bconnect extends AppCompatActivity implements EmpaDataDelegate, EmpaStatusDelegate{
private static final int REQUEST_ENABLE_BT = 1;
private static final int PERMISSION_REQUEST_COARSE_LOCATION=2;
private static final long STREAMING_TIME = 3600000; // Stops streaming 3600 seconds(1 hour) after connection
private static final long SCANNING_TIME = 10000;//Stop scanning after 10 sec
private static final String EMPATICA_API_KEY = "234acf07689e4d2aacfe46bf5b6a816c";
private EmpaDeviceManager deviceManager;
private EmpaStatus status;
private TextView accel_xLabel;
private TextView accel_yLabel;
private TextView accel_zLabel;
private TextView bvpLabel;
private TextView edaLabel;
private TextView ibiLabel;
private TextView hrLabel;
private TextView temperatureLabel;
private TextView batteryLabel;
private TextView statusLabel;
private Button searchDeviceBtn;
private TextView deviceNameLabel;
private RelativeLayout dataCnt;
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.i("*******","BT connect starter");
setContentView(R.layout.activity_bconnect);
super.onCreate(savedInstanceState);
//Lager en ny EmpaDeviceManager
Log.i("*********","Kjører til devicemng");
deviceManager = new EmpaDeviceManager(getApplicationContext(), this, this);
Log.i("*********","works");
//Initialiserer devicemanager med vår API-key
deviceManager.authenticateWithAPIKey(EMPATICA_API_KEY);
requestPermissions(new String[]{
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION
}, PERMISSION_REQUEST_COARSE_LOCATION);
}
@Override
protected void onPause() {
super.onPause();
//deviceManager.StopScanning
}
@Override
protected void onDestroy(){
super.onDestroy();
deviceManager.cleanUp();
}
//--------------------------ANDROID-TJENESTER
@Override
public void didRequestEnableBluetooth() {
// Ber brukeren skru på Bluetooth
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_ENABLE_BT && resultCode == Activity.RESULT_CANCELED) {
return;
}
super.onActivityResult(requestCode, resultCode, data);
}
//------------------------Empatica Status Delegate
@Override
public void didDiscoverDevice(BluetoothDevice bluetoothDevice, String deviceName, int rssi, boolean allowed){
Toast.makeText(this, "Fant en enhet", Toast.LENGTH_LONG).show();
if(allowed){
deviceManager.stopScanning();
try{
deviceManager.connectDevice(bluetoothDevice);
updateLabel(deviceNameLabel, "To: " + deviceName);
} catch (ConnectionNotAllowedException e){
Toast.makeText(this, "Beklager, du kan ikke koble til denne enheten", Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void didUpdateSensorStatus(EmpaSensorStatus status, EmpaSensorType type) {
// Ikke implementert ennå
}
@Override
public void didUpdateStatus(EmpaStatus status){
this.status = status;
//Oppdaterer UI
updateLabel(statusLabel, status.name());
//Enheten er klar for bruk
if(status == EmpaStatus.READY){
searchDeviceBtn.setEnabled(true);
updateLabel(statusLabel, status.name()+"- Skru på enheten din, deretter trykk på SCAN");
}
else if(status == EmpaStatus.CONNECTED){
//Stopper streamingen etter STREAMING_TIME er ferdig
runOnUiThread(new Runnable() {
@Override
public void run() {
dataCnt.setVisibility(View.VISIBLE);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//Kobler fra enheten
deviceManager.disconnect();
}
}, STREAMING_TIME);
}
});
//Device Manager koblet fra en enhet
} else if (status==EmpaStatus.DISCONNECTED){
updateLabel(deviceNameLabel, "");
}
}
//------------------------Empatica Data Delegate
@Override
public void didReceiveAcceleration(int x, int y, int z, double timestamp) {
updateLabel(accel_xLabel, "" + x);
updateLabel(accel_yLabel, "" + y);
updateLabel(accel_zLabel, "" + z);
}
@Override
public void didReceiveBatteryLevel(float battery, double timestamp) {
updateLabel(batteryLabel, String.format("%.0f %%", battery * 100));
}
@Override
public void didReceiveGSR(float gsr, double timestamp) {
updateLabel(edaLabel, "" + gsr);
}
@Override
public void didReceiveIBI(float ibi, double timestamp) {
updateLabel(ibiLabel, "" + ibi);
float hr=60/ibi;
updateLabel(hrLabel,""+ Math.round(hr));
}
@Override
public void didReceiveTemperature(float temp, double timestamp) {
updateLabel(temperatureLabel, "" + temp);
}
@Override
public void didReceiveBVP(float bvp, double timestamp) {
updateLabel(bvpLabel, "" + bvp);
}
//Click Event
public void scan(View v){
searchDeviceBtn.setEnabled(false);
deviceManager.startScanning();
runOnUiThread(new Runnable(){
@Override
public void run(){
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if(status==EmpaStatus.CONNECTED||status==EmpaStatus.CONNECTING) return;
deviceManager.stopScanning();
Toast.makeText(Bconnect.this, "Fant ikke noen enheter", Toast.LENGTH_SHORT).show();
searchDeviceBtn.setEnabled(true);
}
},SCANNING_TIME);
}
});
}
private void updateLabel(final TextView label, final String text) {
runOnUiThread(new Runnable() {
@Override
public void run() {
label.setText(text);
}
});
}
}
Beneath是logcat提供的信息:
11-01 16:55:23.185 19051-19051/? I/art: Not late-enabling -Xcheck:jni (already on)
11-01 16:55:23.188 19051-19051/? W/art: Unexpected CPU variant for X86 using defaults: x86
11-01 16:55:23.300 19051-19051/com.example.baard.mysqldemo W/System: ClassLoader referenced unknown path: /data/app/com.example.baard.mysqldemo-1/lib/x86
11-01 16:55:23.334 19051-19051/com.example.baard.mysqldemo W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
11-01 16:55:23.467 19051-19066/com.example.baard.mysqldemo I/OpenGLRenderer: Initialized EGL, version 1.4
11-01 16:55:23.467 19051-19066/com.example.baard.mysqldemo D/OpenGLRenderer: Swap behavior 1
11-01 16:55:23.468 19051-19066/com.example.baard.mysqldemo W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
11-01 16:55:23.468 19051-19066/com.example.baard.mysqldemo D/OpenGLRenderer: Swap behavior 0
11-01 16:55:23.491 19051-19066/com.example.baard.mysqldemo D/EGL_emulation: eglCreateContext: 0xa9b050c0: maj 2 min 0 rcv 2
11-01 16:55:23.514 19051-19066/com.example.baard.mysqldemo D/EGL_emulation: eglMakeCurrent: 0xa9b050c0: ver 2 0 (tinfo 0xa9b032b0)
11-01 16:55:23.543 19051-19066/com.example.baard.mysqldemo D/EGL_emulation: eglMakeCurrent: 0xa9b050c0: ver 2 0 (tinfo 0xa9b032b0)
11-01 16:55:25.994 19051-19051/com.example.baard.mysqldemo I/*******: Open BT trykke
11-01 16:55:26.018 19051-19051/com.example.baard.mysqldemo I/*******: BT connect starter
11-01 16:55:26.047 19051-19051/com.example.baard.mysqldemo I/*********: Kjører til devicemng
11-01 16:55:26.085 19051-19051/com.example.baard.mysqldemo I/art: Rejecting re-init on previously-failed class java.lang.Class<com.empatica.empalink.EmpaDeviceManager$4>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/squareup/okhttp/Callback;
11-01 16:55:26.085 19051-19051/com.example.baard.mysqldemo I/art: at void com.example.baard.mysqldemo.Bconnect.onCreate(android.os.Bundle) (Bconnect.java:101)
11-01 16:55:26.085 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6662)
11-01 16:55:26.085 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1118)
11-01 16:55:26.085 19051-19051/com.example.baard.mysqldemo I/art: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2599)
11-01 16:55:26.085 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2707)
11-01 16:55:26.085 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1460)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void android.os.Looper.loop() (Looper.java:154)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6077)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:866)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:756)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.squareup.okhttp.Callback" on path: DexPathList[[zip file "/data/app/com.example.baard.mysqldemo-1/base.apk"],nativeLibraryDirectories=[/data/app/com.example.baard.mysqldemo-1/lib/x86, /system/lib, /vendor/lib]]
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void com.example.baard.mysqldemo.Bconnect.onCreate(android.os.Bundle) (Bconnect.java:101)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6662)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1118)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2599)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2707)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1460)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void android.os.Looper.loop() (Looper.java:154)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6077)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:866)
11-01 16:55:26.086 19051-19051/com.example.baard.mysqldemo I/art: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:756)
11-01 16:55:26.105 19051-19051/com.example.baard.mysqldemo I/art: Rejecting re-init on previously-failed class java.lang.Class<com.empatica.empalink.EmpaDeviceManager$5>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/squareup/okhttp/Callback;
11-01 16:55:26.105 19051-19051/com.example.baard.mysqldemo I/art: at void com.example.baard.mysqldemo.Bconnect.onCreate(android.os.Bundle) (Bconnect.java:101)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6662)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1118)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2599)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2707)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1460)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.os.Looper.loop() (Looper.java:154)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6077)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:866)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:756)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.squareup.okhttp.Callback" on path: DexPathList[[zip file "/data/app/com.example.baard.mysqldemo-1/base.apk"],nativeLibraryDirectories=[/data/app/com.example.baard.mysqldemo-1/lib/x86, /system/lib, /vendor/lib]]
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void com.example.baard.mysqldemo.Bconnect.onCreate(android.os.Bundle) (Bconnect.java:101)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6662)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1118)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2599)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2707)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1460)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.os.Looper.loop() (Looper.java:154)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6077)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:866)
11-01 16:55:26.106 19051-19051/com.example.baard.mysqldemo I/art: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:756)
11-01 16:55:26.114 19051-19051/com.example.baard.mysqldemo D/AndroidRuntime: Shutting down VM
11-01 16:55:26.115 19051-19051/com.example.baard.mysqldemo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.baard.mysqldemo, PID: 19051
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.baard.mysqldemo-1/base.apk"],nativeLibraryDirectories=[/data/app/com.example.baard.mysqldemo-1/lib/x86, /system/lib, /vendor/lib]]] couldn't find "libempac.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:972)
at java.lang.System.loadLibrary(System.java:1530)
at com.empatica.empalink.EmpaDeviceManager.<clinit>(EmpaDeviceManager.java:69)
at com.example.baard.mysqldemo.Bconnect.onCreate(Bconnect.java:101)
at android.app.Activity.performCreate(Activity.java:6662)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
我非常喜欢这里的帮助,因为我真的不知道如何解决这个问题。