Android笔记 - 常见错误解决方法 | Android common erros and solutions  

2012-12-05 23:35:19|  分类: Android |  标签:android  错误  解决方法   |字号 订阅

因业务需要,要开发Android, IOS应用,提升用户体验。花了一天多时间搭建Android开发环境和常用的控件,但才刚开始就调入游戏团队。将一些笔记整理记录下来,供后面有空再学习开发Android应用的时候参考。

环境 | Enviroment

RedHat 5.7 64bit
Android SDK API16

常用错误及解决方法 | Common Erros And Solutions

1、Android模拟器报错
emulator: ERROR: Could not load OpenGLES emulation library: lib64OpenglRender.so: cannot open shared object file: No such file or directory
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer.

Android  - 常见错误解决方法 | Common Erros And Solutions - 傲风 - 宝剑锋从磨砺出 梅花香自苦寒来解决方法:
从目录 SDK\tools\lib 将下列文件复制到目录 SDK\tools
lib64EGL_translator.so
lib64GLES_CM_translator.so
lib64GLES_V2_translator.so
lib64OpenglRender.so
libEGL_translator.so
libGLES_CM_translator.so
libGLES_V2_translator.so
libOpenglRender.so

2、启动模拟器报错
emulator: ERROR: unknown virtual device name: 'WVGA'
emulator: could not find virtual device named 'WVGA'
Android  - 常见错误解决方法 | Common Erros And Solutions - 傲风 - 宝剑锋从磨砺出 梅花香自苦寒来解决方法:
设置环境变量 ANDROID_SDK_HOME,指向目录 .android/avd 的父目录。

3、使用ARM模拟器启动后进入应用列表,稍后报错
android emulator Unfortunately Launcher has stopped
Android  - 常见错误解决方法 | Common Erros And Solutions - 傲风 - 宝剑锋从磨砺出 梅花香自苦寒来解决方法:
当前安装的模拟器版本不稳定,换一个版本。或者在Windows XP中重新安装一个。

4、findViewById 出现 java.lang.NullPointerException
W/dalvikvm(  716): threadid=1: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime(  716): FATAL EXCEPTION: main
E/AndroidRuntime(  716): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{cn.uc.uzone.messagecenter/cn.uc.uzone.messagecenter.MessageCenter}: java.lang.NullPointerException
E/AndroidRuntime(  716):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
E/AndroidRuntime(  716):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
E/AndroidRuntime(  716):        at android.app.ActivityThread.access$1500(ActivityThread.java:117)
E/AndroidRuntime(  716):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
E/AndroidRuntime(  716):        at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(  716):        at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(  716):        at android.app.ActivityThread.main(ActivityThread.java:3683)
E/AndroidRuntime(  716):        at java.lang.reflect.Method.invokeNative(NativeMethod)
E/AndroidRuntime(  716):        at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(  716):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime(  716):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime(  716):        at dalvik.system.NativeStart.main(Native Method)

E/AndroidRuntime(  716): Caused by: java.lang.NullPointerException
E/AndroidRuntime(  716):        at android.app.Activity.findViewById(Activity.java:1647)
E/AndroidRuntime(  716):        at cn.uc.uzone.messagecenter.MessageCenter.(MessageCenter.java:22)
E/AndroidRuntime(  716):        at java.lang.Class.newInstanceImpl(Native Method)
E/AndroidRuntime(  716):        at java.lang.Class.newInstance(Class.java:1409)
E/AndroidRuntime(  716):        at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
E/AndroidRuntime(  716):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
E/AndroidRuntime(  716):        ... 11 more

代码:
public class MessageCenter extends Activity {    /**     * 日志分类。     */    private String logCategory = "MessageList";    /**     * 发送消息按钮。     */    private Button sendMsgBtn = (Button) findViewById(R.id.button_send_msg); // 报错的代码行        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_message_center);                // 发达消息按钮绑定事件        this.sendMsgBtn.setOnClickListener(new SendMsgBtnListener());    }        ... ... ...}

Android  - 常见错误解决方法 | Common Erros And Solutions - 傲风 - 宝剑锋从磨砺出 梅花香自苦寒来原因:
当在onCreate方法中使用setContentView(R.layout.main)时,那么才可以使用findVIewById这个方法。
这时候还要注意一点,就是setContentView(R.layout.main)一定要在findViewById之前,否则还是会报java.lang.NullPointerException的。

更多相关文章

  1. 【目录】每次吃一点Android
  2. 基于 Android NDK 的学习之旅-----目录
  3. [置顶] Android应用开发 第二讲:Android系统构架分析和应用程序目
  4. 丢失android系统库或Conversion to Dalvik format failed with e
  5. ArcGIS for Android 支持模拟器开发
  6. Android存储访问目录
  7. Android中thread.start()出现的thread already exist错误
  8. Android Studio 中gradle产生的一个错误

随机推荐

  1. android中AlertDialog包含EditText时弹出
  2. 安卓startActivity:彻底理解startActivity
  3. android重启代码
  4. Android 基础面试题
  5. Android 源码目录结构
  6. Android中XML解析-Dom解析
  7. ANDROID笔记:TextView的简单使用
  8. 【翻译】安卓新播放器EXOplayer介绍
  9. android 短信接收
  10. android自动化测试工具---monkeyrunner工