精华内容
下载资源
问答
  • android 异常

    千次阅读 2013-05-01 23:05:33
    异常1: [java] view plaincopy org.json.JSONException: Unterminated array at character 1858 of json字符串。  我遇到这个Exception

    http://blog.csdn.net/dinglin_87/article/details/7852212

    异常1:

    [java] view plaincopy
    1. org.json.JSONException: Unterminated array at character 1858 of json字符串。  
    我遇到这个Exception的时候是因为缺少一个逗号(,)。 

    异常2:
    [java] view plaincopy
    1. java.net.SocketException: No route to host  
    原因是我手机连接的无线与SocketServer连接的无线不同。导致手机的IP与SocketServer服务器端的IP不在同一路由器上。把手机重新连接SocketServer的网络之后,就不会报这异常了。网上有的说模拟器不会报错的原因就是因为模拟器的IP和SocketServer的Ip是在同一个路由器中。


    异常3:

    [java] view plaincopy
    1. ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.zyq.main/.CropImage } from null (pid=6849, uid=2000) requires null  

    安装应用的时候报出上述异常。原因是因为入口Activity在AndroidManifest.xml中重复注册,注册了两遍。

    warn1:

    [java] view plaincopy
    1. Permission denied: checkComponentPermission() reqUid=10111  
    2. Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.zyq.main/.CropImage } from null (pid=3387, uid=2000) requires null  

    我遇到这个warn的时候是因为入口Activity在AndroidManifest.xml中重复注册,注册了两遍。


    异常4

    [java] view plaincopy
    1. android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application  
    这个异常出现在new AlertDialog.Builder(mContext)这句代码中,这里的mContext不能使用getApplicationContext()获得的Context,而必须使用Activity,因为只有一个Activity才能添加一个窗体。 
    展开全文
  • android 异常打印

    千次阅读 2017-02-18 23:17:18
    android 异常打印
    package com.lbstock;
      
    import java.io.File;  
    import java.io.FileNotFoundException;  
    import java.io.FileOutputStream;  
    import java.io.IOException;  
    import java.io.PrintWriter;  
    import java.io.StringWriter;  
    import java.io.Writer;  
    import java.lang.Thread.UncaughtExceptionHandler;  
    import java.lang.reflect.Field;  
    import java.text.SimpleDateFormat;  
    import java.util.Date;  
    import java.util.HashMap;  
    import java.util.Map;  
      
    import android.content.Context;  
    import android.content.pm.PackageInfo;  
    import android.content.pm.PackageManager;  
    import android.content.pm.PackageManager.NameNotFoundException;  
    import android.os.Build;  
    import android.os.Environment;  
    import android.os.Looper;  
    import android.util.Log;  
    import android.widget.Toast;  
      
    /** 
     * UncaughtException处理类,当程序发生Uncaught异常的时候,由该类来接管程序,并记录发送错误报告.
     * @author way
     */  
    public class CrashHandler implements UncaughtExceptionHandler {  
        private static final String TAG = "CrashHandler";  
        private Thread.UncaughtExceptionHandler mDefaultHandler;// 系统默认的UncaughtException处理类  
        private static CrashHandler INSTANCE = new CrashHandler();// CrashHandler实例  
        private Context mContext;// 程序的Context对象  
        private Map<String, String> info = new HashMap<String, String>();// 用来存储设备信息和异常信息  
        private SimpleDateFormat format = new SimpleDateFormat(  
                "yyyy-MM-dd-HH-mm-ss");// 用于格式化日期,作为日志文件名的一部分  
      
        /** 保证只有一个CrashHandler实例 */  
        private CrashHandler() {  
      
        }  
      
        /** 获取CrashHandler实例 ,单例模式 */  
        public static CrashHandler getInstance() {  
            return INSTANCE;  
        }  
          public void init(Context context) {
            mContext = context;  
            mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();// 获取系统默认的UncaughtException处理器  
            Thread.setDefaultUncaughtExceptionHandler(this);// 设置该CrashHandler为程序的默认处理器  
        }  
      
        /** 
         * 当UncaughtException发生时会转入该重写的方法来处理 
         */  
        public void uncaughtException(Thread thread, Throwable ex) {  
            if (!handleException(ex) && mDefaultHandler != null) {  
                // 如果自定义的没有处理则让系统默认的异常处理器来处理  
                mDefaultHandler.uncaughtException(thread, ex);  
            } else {  
                try {  
                    Thread.sleep(3000);// 如果处理了,让程序继续运行3秒再退出,保证文件保存并上传到服务器  
                } catch (InterruptedException e) {  
                    e.printStackTrace();  
                }  
                // 退出程序  
                android.os.Process.killProcess(android.os.Process.myPid());  
                System.exit(1);  
            }  
        }  
      
        /** 
         * 自定义错误处理,收集错误信息 发送错误报告等操作均在此完成.
         * @param ex      异常信息
         * @return true 如果处理了该异常信息;否则返回false. 
         */  
        public boolean handleException(Throwable ex) {  
            if (ex == null)  
                return false;  
            new Thread() {  
                public void run() {  
                    Looper.prepare();
                    Log.e("lbsotck",String.valueOf(ex.getMessage()));
                    Toast.makeText(mContext, "很抱歉,程序出现异常,即将退出", Toast.LENGTH_LONG).show();
                    Looper.loop();  
                }  
            }.start();  
            // 收集设备参数信息  
            collectDeviceInfo(mContext);  
            // 保存日志文件  
            saveCrashInfo2File(ex);  
            return true;  
        }  
      
        /** 
         * 收集设备参数信息
         * @param context 
         */  
        public void collectDeviceInfo(Context context) {  
            try {  
                PackageManager pm = context.getPackageManager();// 获得包管理器  
                PackageInfo pi = pm.getPackageInfo(context.getPackageName(),  
                        PackageManager.GET_ACTIVITIES);// 得到该应用的信息,即主Activity  
                if (pi != null) {  
                    String versionName = pi.versionName == null ? "null"  
                            : pi.versionName;  
                    String versionCode = pi.versionCode + "";  
                    info.put("versionName", versionName);  
                    info.put("versionCode", versionCode);  
                }  
            } catch (NameNotFoundException e) {  
                e.printStackTrace();  
            }  
      
            Field[] fields = Build.class.getDeclaredFields();// 反射机制  
            for (Field field : fields) {  
                try {  
                    field.setAccessible(true);  
                    info.put(field.getName(), field.get("").toString());  
                    Log.d(TAG, field.getName() + ":" + field.get(""));  
                } catch (IllegalArgumentException e) {  
                    e.printStackTrace();  
                } catch (IllegalAccessException e) {  
                    e.printStackTrace();  
                }  
            }  
        }  
      
        private String saveCrashInfo2File(Throwable ex) {  
            StringBuffer sb = new StringBuffer();  
            for (Map.Entry<String, String> entry : info.entrySet()) {  
                String key = entry.getKey();  
                String value = entry.getValue();  
                sb.append(key + "=" + value + "\r\n");  
            }  
            Writer writer = new StringWriter();  
            PrintWriter pw = new PrintWriter(writer);  
            ex.printStackTrace(pw);  
            Throwable cause = ex.getCause();  
            // 循环着把所有的异常信息写入writer中  
            while (cause != null) {  
                cause.printStackTrace(pw);  
                cause = cause.getCause();  
            }  
            pw.close();// 记得关闭  
            String result = writer.toString();  
            sb.append(result);  
            // 保存文件  
            long timetamp = System.currentTimeMillis();  
            String time = format.format(new Date());
          //  String fileName = "crash-" + time + "-" + timetamp + ".log";
            String fileName = "crash-" + time + ".log";
            if (Environment.getExternalStorageState().equals(  
                    Environment.MEDIA_MOUNTED)) {  
                try {  
                    File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() +                           File.separator + "1lbg");
                    Log.i("CrashHandler", dir.toString());  
                    if (!dir.exists())  
                        dir.mkdir();  
                    FileOutputStream fos = new FileOutputStream(new File(dir,  
                             fileName));  
                    fos.write(sb.toString().getBytes());  
                    fos.close();  
                    return fileName;  
                } catch (FileNotFoundException e) {  
                    e.printStackTrace();  
                } catch (IOException e) {  
                    e.printStackTrace();  
                }  
            }  
            return null;  
        }  
    } 
    展开全文
  • Android异常大全

    千次阅读 2017-12-25 16:38:34
    Android异常大全 java.lang.NullPointerException 这个异常的解释是 "程序遇上了空指针 ",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片...

    Android异常大全

    java.lang.NullPointerException
    这个异常的解释是 "程序遇上了空指针 ",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)。

    java.lang.ClassNotFoundException
    异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可

    java.lang.ArithmeticException
    这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。

    java.lang.ArrayIndexOutOfBoundsException
    这个异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。

    java.lang.IllegalArgumentException
    这个异常的解释是"方法的参数错误",很多j2me的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常,再比如g.setcolor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。

    java.lang.IllegalAccessException
    这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了package的情况下要注意这个异常。
    其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于异常的全部说明,在api里都可以查阅。

    算术异常类:ArithmeticExecption
    空指针异常类:NullPointerException
    类型强制转换异常:ClassCastException
    数组负下标异常:NegativeArrayException
    数组下标越界异常:ArrayIndexOutOfBoundsException
    违背安全原则异常:SecturityException
    文件已结束异常:EOFException
    文件未找到异常:FileNotFoundException
    字符串转换为数字异常:NumberFormatException
    操作数据库异常:SQLException
    输入输出异常:IOException
    方法未找到异常:NoSuchMethodException

    java.lang.AbstractMethodError   
    抽象方法错误。当应用试图调用抽象方法时抛出。
    java.lang.AssertionError   
    断言错。用来指示一个断言失败的情况。
    java.lang.ClassCircularityError   
    类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。
    java.lang.ClassFormatError   
    类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。
    java.lang.Error   
    错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。
    java.lang.ExceptionInInitializerError   
    初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。
    java.lang.IllegalAccessError   
    违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。
    java.lang.IncompatibleClassChangeError   
    不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。
    java.lang.InstantiationError   
    实例化错误。当一个应用试图通过Javanew操作符构造一个抽象类或者接口时抛出该异常.
    java.lang.InternalError   
    内部错误。用于指示Java虚拟机发生了内部错误。
    java.lang.LinkageError   
    链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。
    java.lang.NoClassDefFoundError   
    未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。
    java.lang.NoSuchFieldError   
    域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。
    java.lang.NoSuchMethodError   
    方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。
    java.lang.OutOfMemoryError   
    内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。
    java.lang.StackOverflowError   
    堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。
    java.lang.ThreadDeath   
    线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。
    java.lang.UnknownError   
    未知错误。用于指示Java虚拟机发生了未知严重错误的情况。
    java.lang.UnsatisfiedLinkError   
    未满足的链接错误。当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。
    java.lang.UnsupportedClassVersionError   
    不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。
    java.lang.VerifyError   
    验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。
    java.lang.VirtualMachineError   
    虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。
    java.lang.ArithmeticException   
    算术条件异常。譬如:整数除零等。
    java.lang.ArrayIndexOutOfBoundsException   
    数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
    java.lang.ArrayStoreException   
    数组存储异常。当向数组中存放非数组声明类型对象时抛出。
    java.lang.ClassCastException   
    类造型异常。假设有类ABA不是B的父类或子类),OA的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。
    java.lang.ClassNotFoundException   
    找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历 CLASSPAH之后找不到对应名称的class文件时,抛出该异常。
    java.lang.CloneNotSupportedException   
    不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。
    java.lang.EnumConstantNotPresentException   
    枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。
    java.lang.Exception   
    根异常。用以描述应用程序希望捕获的情况。
    java.lang.IllegalAccessException   
    违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。
    java.lang.IllegalMonitorStateException   
    违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。
    java.lang.IllegalStateException   
    违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。
    java.lang.IllegalThreadStateException   
    违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。
    java.lang.IndexOutOfBoundsException   
    索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。
    java.lang.InstantiationException   
    实例化异常。当试图通过 newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。
    java.lang.InterruptedException   
    被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Threadinterrupt方法终止该线程时抛出该异常。
    java.lang.NegativeArraySizeException   
    数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。
    java.lang.NoSuchFieldException   
    属性不存在异常。当访问某个类的不存在的属性时抛出该异常。
    java.lang.NoSuchMethodException   
    方法不存在异常。当访问某个类的不存在的方法时抛出该异常。
    java.lang.NullPointerException   
    空指针异常。当应用试图在要求使用对象的地方使用了 null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。
    java.lang.NumberFormatException   
    数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。
    java.lang.RuntimeException   
    运行时异常。是所有 Java虚拟机正常操作期间可以被抛出的异常的父类。
    java.lang.SecurityException   
    安全异常。由安全管理器抛出,用于指示违反安全情况的异常。
    java.lang.StringIndexOutOfBoundsException   
    字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。
    java.lang.TypeNotPresentException   
    类型不存在异常。当应用试图

    展开全文
  • 比如说出现空指针 我不弹框 直接结束掉出错的actvity
  • Android异常捕获防止崩溃弹框

    千次阅读 2016-01-05 13:47:19
    Android异常捕获放置崩溃弹框

    创建异常捕获handler类

    import android.app.ActivityManager;
    import android.app.AlarmManager;
    import android.app.Application;
    import android.app.PendingIntent;
    import android.content.Context;
    import android.content.Intent;
    import android.os.Looper;
    import android.widget.Toast;
    
    import com.magus.youxiclient.R;
    import com.magus.youxiclient.util.Log;
    
    /**
     * Created by yangshuai in the 10:53 of 2016.01.05 .
     */
    public class MyUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {
    
        private static final String TAG = "ExceptionHandler";
        private Thread.UncaughtExceptionHandler mUncaughtExceptionHandler;
        private Application mApplication;
    
        public MyUncaughtExceptionHandler(Application context) {
            mApplication = context;
            mUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
        }
    
        @Override
        public void uncaughtException(Thread thread, Throwable ex) {
            if (mApplication.getPackageName().equals(getProcessName(mApplication)))  {
    
                if (Log.showLog) {
                    mUncaughtExceptionHandler.uncaughtException(thread, ex);
                } else {
                    toastSorry();
                    restart();
                    android.os.Process.killProcess(android.os.Process.myPid());
                }
            } else {
                android.os.Process.killProcess(android.os.Process.myPid());
            }
        }
    
        private void toastSorry() {
            new Thread(){
                @Override
                public void run() {
                    Looper.prepare();
                    Toast.makeText(
                            mApplication.getApplicationContext(),
                            "Program is abnormal, is about to restart the application.",
                            Toast.LENGTH_SHORT).show();
                    Looper.loop();
                }
            }.start();
        }
    
        public static String getProcessName(Context appContext) {
            String currentProcessName = "";
            int pid = android.os.Process.myPid();
            ActivityManager manager = (ActivityManager) appContext.getSystemService(Context.ACTIVITY_SERVICE);
            for (ActivityManager.RunningAppProcessInfo processInfo : manager.getRunningAppProcesses()) {
                if (processInfo.pid == pid) {
                    currentProcessName = processInfo.processName;
                    break;
                }
            }
            return currentProcessName;
        }
    
        /* 重启应用 */
        private void restart() {
            try {
                Thread.sleep(4000);
            } catch (InterruptedException e) {
                android.util.Log.e(TAG, "error : " + e);
            }
            Intent intent = new Intent(
                    mApplication.getApplicationContext(),
                    MainActivity.class);
            PendingIntent restartIntent = PendingIntent.getActivity(
                    mApplication.getApplicationContext(), 0, intent,
                    Intent.FLAG_ACTIVITY_NEW_TASK);
            //退出程序
            AlarmManager mgr = (AlarmManager) mApplication.getSystemService(Context.ALARM_SERVICE);
            mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000,
                    restartIntent); // 1秒钟后重启应用
    
        }
    }

    Application

    import android.app.Application;
    
    import com.magus.trainingfirstapp.exception.CrashHandler;
    
    /**
     * Created by yangshuai on 2015/10/13 0013 11:01.
     */
    public class MApplication extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
            /* 异常捕获(debug 时不捕获异常) */
            Thread.setDefaultUncaughtExceptionHandler(new MyUncaughtExceptionHandler(this));
        }
    }
    展开全文
  • Android异常:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. 出现这个异常的原因是你在子线程中修改了主线程中的组件...
  • android异常:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. 出现这个异常的原因是你在子线程中修改了主线程中的组件...
  • Android 异常解决方法汇总

    千次阅读 2015-04-22 11:25:16
    Android 异常解决方法汇总  1)异常Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法) 1、在工程下新建lib文件夹,将需要的第三方包拷贝进来。 2、将引用的第三方包,添加进工作的...
  • Android异常总结

    千次阅读 2019-02-21 08:32:37
    异常 概述 Java程序在运行过程中出现的错误 分类 Error:服务器宏机,数据库崩溃等 Exception 编译时异常:Java程序必须显示处理,否则程序会发生错误,无法通过编译,如:IOException,SQLException等 当函数中存在...
  • 手写CrashHandler实现UncaughtExceptionHandler拦截android异常 有点复杂,虽然知道原理,但是并不好从哪开始写了。。。。。。 首先这是个需要在整个app运行状态中都需要存在的对象,所以需要在application里初始...
  • android异常compileDebugJavaWithJavac

    千次阅读 2017-06-05 11:41:57
    使用DataBinding变异异常: Error:Execution failed for task ':main:compileDebugJavaWithJavac'. > java.lang.RuntimeException: failure, see logs for details. Exception while handling step android....
  • 我报了一个java.lang.reflect.UndeclaredThrowableException异常,错误代码显示是mTencent.login(getActivity(), "all", loginListener);这句,我在做qq第三方登录,这个事qq登录内部方法。这个错误我好想第一次遇到...
  • Android异常之NoClassDefFoundError

    千次阅读 2019-09-03 11:34:48
    Android开发时如果出现NoClassDefFoundError异常, # main(1) java.lang.NoClassDefFoundError java.util.Objects 该异常表示找不到类定义,当JVM或者ClassLoader实例尝试装载该类的定义(这通常是一个方法调用...
  • android 异常收集

    千次阅读 2016-06-12 17:54:24
    当开发了一个APP,发布出去之后难免会碰到系统异常的情况,而且大多数的异常是不可重现的。经常遇到的情况就是平台迁移之后,数据与原来存在差异,比如说实际情况种的数据和开发和测试不一样。还有就是测试覆盖面不...
  • android异常笔记

    千次阅读 多人点赞 2015-12-23 17:36:46
    1.Activity ca.ct.activity.OBaccaratActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@42db0500 that was originally added here  ~~~ 出现这种错误的情景是:当我...
  • 手写CrashHandler实现UncaughtExceptionHandler拦截android异常作者:码字员小D有点复杂,虽然知道原理,但是并不好从哪开始写了。。。。。。首先这是个需要在整个app运行状态中都需要存在的对象,所以需要在...
  • Android 异常捕获处理

    2015-04-06 08:15:05
    android 应用程序,只有稍有一点错误就会自行关闭。我怎么样捕获异常信息并且给用户一个提示
  • android 异常总结:一个文件在jar包中出现多次。 Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > More than one file was found with OS independent path 'META-...
  • android 异常问题总结

    千次阅读 2016-05-14 14:53:08
    } 再次运行,就不会再打印下面的log了 Gradle 编译异常 原因,你的jdk环境是1.8,你也可以换成1.7(应该就不会有这问题了) Error:Error converting bytecode to dex: Cause: Dex cannot parse version 52 byte code....
  • android 异常解决方案汇总

    千次阅读 2019-07-05 05:18:22
    1)异常Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法) 1、在工程下新建lib文件夹,将需要的第三方包拷贝进来。 2、将引用的第三方包,添加进工作的build path。选中jar包->Build ...
  • android异常处理

    千次阅读 2013-03-29 10:19:57
    而Java提供了一套比较优秀的异常处理机制:   1、使开发人员不必编写特殊代码来测试返回值就能发现问题,   2、在语法结构就把正常的代码和异常处理的代码清晰的分开来,   3、允许我们使用相同的异常处理...
  • 因为服务器开发限制,返回给我的图片资源都是使用base64编码后的String字符串,而产品要求将所有的图片能够支持Android图片库的浏览方式,于是想都没想,直接将返回的List直接用 intent.putStringArrayListExtra(...
  • Android 异常崩溃日志,捕捉并保存到本地; 前几天因为在省公安厅做一个通讯类之类的应用;碰到个问题,就是download人员信息将信息保存到本地数据库完成的时候,菊花转还没有dismission掉程序就崩溃了;当然...
  • android异常——aapt.exe已停止工作

    千次阅读 2014-03-10 12:36:14
    android异常——aapt.exe已停止工作 在android开发时,当build项目时,发生如下异常: aapt.exe已停止工作,其他无任何错误提示,发生这个错误一般是资源文件或是xml文件中有错误造成的。 解决方法: clean...
  • Android异常统一处理

    2017-07-17 10:54:59
    因为Application是全局的,所以创建自己的application然后实现Thread.UncaughtExceptionHandler,然后在需要实现的方法里面统一处理异常 @Override public void uncaughtException(Thread thread, Throwable ex) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,218
精华内容 9,287
关键字:

android异常