首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的应用程序在启动时崩溃

我的应用程序在启动时崩溃
EN

Stack Overflow用户
提问于 2018-08-29 16:38:52
回答 1查看 428关注 0票数 0

我的应用程序在启动时崩溃了!请帮帮我!

这是我的密码

MainActivity.java:

代码语言:javascript
运行
复制
  }

public static String getDeviceName() {
    String manufacturer = Build.MANUFACTURER;
    String model = Build.MODEL;
    if (model.startsWith(manufacturer)) {
        return capitalize(model);
    }
    return capitalize(manufacturer) + " " + model;
}

private static String capitalize(String str) {
    if (TextUtils.isEmpty(str)) {
        return str;
    }
    char[] arr = str.toCharArray();
    boolean capitalizeNext = true;
    String phrase = "";
    for (char c : arr) {
        if (capitalizeNext && Character.isLetter(c)) {
            phrase += Character.toUpperCase(c);
            capitalizeNext = false;
            continue;
        } else if (Character.isWhitespace(c)) {
            capitalizeNext = true;
        }
        phrase += c;
    }
    return phrase;
}


private AdView mAdView;
AdRequest adRequest;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getWindow().setStatusBarColor(getResources().getColor(R.color.app_color_Dark));
    }
    setContentView(R.layout.activity_main);
    toolbar = (Toolbar) findViewById(R.id.tool_bar);
    toolbar.setTitleTextColor(Color.WHITE);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle(getResources().getString(R.string.app_name));
    setupdialog();


    getBaseContext().getApplicationContext().sendBroadcast(new Intent("BatteryReciver"));

    arcProgress = (ArcProgress) findViewById(R.id.arc_progress);
    TxtLevel = (TextView) findViewById(R.id.TxtLevel);
    TxtVoltage = (TextView) findViewById(R.id.TxtVoltage);
    TxtTemperature = (TextView) findViewById(R.id.TxtTemperature);
    Tools_WiFi = (ImageView) findViewById(R.id.tool_wifi);
    Tools_Rotate = (ImageView) findViewById(R.id.tool_rotate);
    Tools_Brightness = (ImageView) findViewById(R.id.tool_brightness);
    Tools_Bluetooth = (ImageView) findViewById(R.id.tool_bluetooth);
    Tools_Timeout = (ImageView) findViewById(R.id.tool_timeout);
    Tools_Mode = (ImageView) findViewById(R.id.tool_mode);
    PowerSavingMode = (Button) findViewById(R.id.PowerSavingMode);
    CardViewBatteryArc = (CardView) findViewById(R.id.CardViewBatteryArc);
    CardViewTools = (CardView) findViewById(R.id.CardViewTools);
    batteryDetail = (CardView) findViewById(R.id.batteryDetail);
    CardViewRate = (CardView) findViewById(R.id.CardViewRate);
    mCardViewShare = (CardView) findViewById(R.id.CardViewShare);
    btn_feedback = (Button) findViewById(R.id.btn_feedbak);
    btn_ratenow = (Button) findViewById(R.id.btn_ratenow);
    AlertLout = (RelativeLayout) findViewById(R.id.AlertLout);
    mAlertText = (TextView) findViewById(R.id.AlertText);


    mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);

    final NativeExpressAdView adView = (NativeExpressAdView) findViewById(R.id.NativeadView);
    adView.loadAd(new AdRequest.Builder().build());
    adView.setVisibility(View.GONE);
    adView.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            super.onAdLoaded();
            adView.setVisibility(View.VISIBLE);
        }
    });

    mAdView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);
    mAdView.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            super.onAdLoaded();
            mAdView.setVisibility(View.VISIBLE);
        }
    });

    registerReceiver(this.batteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

    setColorToCardview();

    cResolver = getContentResolver();
    window = getWindow();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (Settings.System.canWrite(this)) {
            try {
                Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
                brightness = Settings.System.getInt(cResolver, Settings.System.SCREEN_BRIGHTNESS);
                rotate = Settings.System.getInt(cResolver, Settings.System.ACCELEROMETER_ROTATION);
                timeout = Settings.System.getInt(cResolver, Settings.System.SCREEN_OFF_TIMEOUT);

                if (timeout > 40000) {
                    setTimeout(3);
                    timeout = 40000;
                }

                CheckOnAndOff();

            } catch (Settings.SettingNotFoundException e) {
                //Throw an error case it couldn't be retrieved
                Log.e("Error", "Cannot access system brightness");
                e.printStackTrace();
            }
        } else {
            NotificationManager notificationManager =
                    (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
                    && !notificationManager.isNotificationPolicyAccessGranted()) {

                donotdisterb_dialog.show();
            }
            writesetting_dialog.show();

        }

    } else {
        try {
            Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
            brightness = Settings.System.getInt(cResolver, Settings.System.SCREEN_BRIGHTNESS);
            rotate = Settings.System.getInt(cResolver, Settings.System.ACCELEROMETER_ROTATION);
            timeout = Settings.System.getInt(cResolver, Settings.System.SCREEN_OFF_TIMEOUT);

            Log.e("timeout", "" + timeout);

            if (timeout > 40000) {
                setTimeout(3);
                timeout = 40000;
            }

            CheckOnAndOff();

        } catch (Settings.SettingNotFoundException e) {
            //Throw an error case it couldn't be retrieved
            Log.e("Error", "Cannot access system brightness");
            e.printStackTrace();
        }
    }

    //refreshAd1();
    //refreshAd2();
    getBatteryPercentage();
    SetClickListner();
    CheckIntentToolsOnOrOff();

    mInterstitialAd = new InterstitialAd(getApplicationContext());
    mInterstitialAd.setAdUnitId(getResources().getString(R.string.instritial));
    mInterstitialAd.loadAd(adRequest);

    mInterstitialAd.setAdListener(new AdListener() {
        public void onAdLoaded() {
            showInterstitial();
        }
    });

}

private void showInterstitial() {
    if (mInterstitialAd.isLoaded()) {
        mInterstitialAd.show();
    }
}


private void setColorToCardview() {

    CardViewBatteryArc.setCardBackgroundColor(getApplicationContext().getResources().getColor(R.color.white));
    CardViewTools.setCardBackgroundColor(getApplicationContext().getResources().getColor(R.color.white));
    batteryDetail.setCardBackgroundColor(getApplicationContext().getResources().getColor(R.color.white));
    CardViewRate.setCardBackgroundColor(getApplicationContext().getResources().getColor(R.color.white));
    mCardViewShare.setCardBackgroundColor(getApplicationContext().getResources().getColor(R.color.white));
    CardViewBatteryArc.setCardElevation(0);
    CardViewTools.setCardElevation(0);
    batteryDetail.setCardElevation(0);
    CardViewRate.setCardElevation(0);
    mCardViewShare.setCardElevation(0);
}

private void setupdialog() {

    exit_dialog = new AlertDialog.Builder(MainActivity.this);
    exit_dialog.setTitle("Are you sure?");
    exit_dialog.setMessage("Do you want to exit from this application?");
    exit_dialog.setNegativeButton("Yes",
            new DialogInterface.OnClickListener() {
                @SuppressLint("NewApi")
                public void onClick(DialogInterface dialog, int whichButton) {
                    am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
                    am.setRingerMode(Profile);
                    setTimeout(3);
                    finish();
                }
            });

    writesetting_dialog = new AlertDialog.Builder(MainActivity.this);
    writesetting_dialog.setTitle("Important!");
    writesetting_dialog.setCancelable(false);
    writesetting_dialog.setMessage("Need write setting permission to set screen brightness, screen timeout, screen rotation, sound profile.");
    writesetting_dialog.setPositiveButton("OK",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
                    intent.setData(Uri.parse("package:" + getPackageName()));
                    startActivity(intent);
                }
            });

Logcat:

08-29 17:31:22.448 25221-25221/com.巡回应用程序D/FirebaseApp: com.google.firebase.auth.FirebaseAuth没有链接。跳过初始化。08-29 17:31:22.450 25221-25221/com.巡回应用程序D/FirebaseApp: com.google.firebase.crash.FirebaseCrash没有链接。跳过初始化。电池充电器I/FirebaseInitProvider: FirebaseApp初始化成功08-29 17:31:22.455 25221-25221/com.loop app.快餐.电池充电器D/AndroidRuntime:关闭VM-08-29 17:31:22.457 25221-25221/com.loop app.kg-1 E/AndroidRuntime:致命例外:主要进程: com.loopapp.fast.batterycharger,PID: 25221 ComponentInfo{com.loopapp.fast.batterycharger/com.loopapp.fast.batterycharger.com.loopapp.fast.charging.MainActivity}::无法实例化活动"com.loopapp.fast.batterycharger.com.loopapp.fast.charging.MainActivity“java.lang.ClassNotFoundException:没有找到路径上的类java.lang.RuntimeException: DexPathList[zip文件"/data/app/com.loopapp.fast.batterycharger-2/base.apk",]压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_dependencies_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice__apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_1_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_2_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_3_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_4_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_5_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_6_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_7_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_8_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_9_apk.apk",nativeLibraryDirectories=/data/app/com.loopapp.fast.batterycharger-2/lib/arm,/system/lib,/供应商/库]在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2849) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045) at android.app.ActivityThread.-wrap14(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop( android.app.ActivityThread.main(ActivityThread.java:6776) at java.lang.reflect.Method.invoke(原生方法) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)引起的: java.lang.ClassNotFoundException: Native "com.loopapp.fast.batterycharger.com“路径上的.loopapp.fast.charging.MainActivity: DexPathList[zip文件DexPathList压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_dependencies_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice__apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_1_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_2_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_3_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_4_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_5_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_6_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_7_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_8_apk.apk",压缩文件"/data/app/com.loopapp.fast.batterycharger-2/split_lib_slice_9_apk.apk",nativeLibraryDirectories=/data/app/com.loopapp.fast.batterycharger-2/lib/arm,/system/lib,/供应商/库]在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.Instrumentation.newActivity(Instrumentation.java:1086) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2839) at android.app.ActivityThread.handleLaunchActivity(在android.app.ActivityThread.-wrap14(ActivityThread.java),android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)在android.os.Handler.dispatchMessage(Handler.java:102),在android.os.Looper.loop(Looper.java:154),在android.app.ActivityThread.main(ActivityThread.java:6776),在java.lang本土化方法(com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496))的.reflect.Method.invoke(本地方法)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)上进行了测试,电话:com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386) 08-29 17:31:22.459 2832-3758/?D/ debug:!@DumpState : SHIP !@DumpState :调试级别:0x4f4c !@Dumpstate :最后,系统将跳过dumpstate

EN

回答 1

Stack Overflow用户

发布于 2018-08-29 17:19:31

com.google.firebase.auth.FirebaseAuth不是链接。跳过初始化。08-29 17:31:22.450 25221-25221/com.巡回应用程序D/FirebaseApp D/FirebaseApp应用程序: com.google.firebase.crash.FirebaseCrash不是链接

检查您的依赖项并添加这些(如果您还没有):

代码语言:javascript
运行
复制
implementation 'com.google.firebase:firebase-auth:16.0.3'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.5'

https://firebase.google.com/docs/android/setup

Android已经有了连接到Firebase的选项,这大大有助于添加Firebase及其依赖关系:https://developer.android.com/studio/write/firebase

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52082327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档