美文网首页
Android Studio问题杂记

Android Studio问题杂记

作者: 默默磊OK | 来源:发表于2016-06-07 23:24 被阅读1043次

    本文是自己在用Android Studio的使用过程,所遇到的一些个人觉得比较有价值的问题,特此记录。
    总结几点感触:
    == 1.正确的理解日志的内容很重要
    == 2.分析问题时要有一个清晰的思路,避免乱撞。

    一、Nine-Patch 图片


    问题:导入xxx.9.png文件后,使用该文件时报错:


    解决:问题的关键出在图片本身,在AS下双击该图片文件,对图片再进行编辑,注意理解四条线的意思

    二、UnHandled exception


    问题:UnHandled exception:java.io.IOException


    原因:进行try/catch的时候catch的是FileNoFound Exception,不能处理此处的异常
    解决:AS快捷键 Ctrl+Alt+T

    三、IllegalArgumentException:Unable to locate adb within SDK


    问题:Unable to locate adb within SDK
    分析:应该是Android SDK Platform-tools 出了问题,打开SDK Manager 查看

    解决方案:应该是没装Android SDK Platform-tool...安装即可

    四、建立aidl文件,生成对应Java文件


    1. 创建aidl文件后,make project 出现错误'F:\Android\android-sdk\build-tools\23.0.1\aidl.exe'' finished with non-zero exit value 1
    2. 在aidl文件中导入自定义的类后,import class not found

    正确思路:
    先在main目录下新建一个文件夹,命名为aidl,再在该目录下新建一个包,包名跟AndroidManifest中的package同名,然后在该包下创建aidl文件,创建完之后,make Project下,在build/generated/source/aidl/debug下就可以见到自动生成的java文件


    五、Plugin is too old, please update to a more recent version......


    分析:google了一下,问题定位到了下面这个位置 'com.android.to ols.build:gradle:2.1.0-alpha4',根据提示,可能是这个不是最新的Plugin

    解决方法:http://stackoverflow.com/questions/29063968/plugin-is-too-old-please-update-to-a-more-recent-version-or-set-android-daily#comment46364169_29064084
    将 'com.android.tools.build:gradle:2.1.0-alpha4'
    替换成 'classpath 'com.android.tools.build:gradle:+'

    六、Attempt to invoke virtual method‘xxxxxxx’ (java.lang.CharSequence)' on a null object reference


    问题如图:


    日志指向:


    错误分析:
    --- 根据日志可知,报错语句是tv_title.setText(tv_content[xx]); 原因是NullPointerException:
    --- 那么,两种可能:1. tv_title为空 2. tv_content[]为空
    经测,数组tv_content[]不空,则控件对象 tv_title空指针
    这种情况下也有两种可能:1.对象用错了 2.没有初始化 findViewById (一般后者比较常见,但此处是前者。。)

    十、Cause: com/android/build/gradle/AppPlugin : Unsupported major.mi nor version 52.0


    解决方法:将项目所用的jdk版本调高 1.7改成1.8


    十一、JSON解析遇到的问题


    如:Excepted BEGIN_OBJECT but was STRING at line1 column1......
    正确解读意思:你以为它一个JSONObject对象,但实际它是String类型的

    十二、FATAL EXCEPTION: main Process: com.example.mml.huaerjietest, PID: 9779 android.content.res.Resources$NotFoundException: String resource ID #0x5


    问题原因:此处括号里返回的是一个int类型的值,setText(int xx)报错:
    日志原因:setText( )方法有几个重载的方法,比如
    ---------- textView.setText(CharSequence text);
    ---------- textView.setText(int resId);
    如果不小心将一个int值传给了它,那它不会显示该int值,而是跑到工程下去找一个对应的resource的id,当然是找不到的,于是就报错.....
    来源:http://blog.sina.com.cn/s/blog_5e58565701012ox7.html

    相关文章

      网友评论

          本文标题:Android Studio问题杂记

          本文链接:https://www.haomeiwen.com/subject/ngzddttx.html