java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.AssetManager android.content.res.Resources.getAssets()' on a null object reference
at android.app.LoadedApk.getAssets(LoadedApk.java:537)
at android.app.LoadedApk.makeApplication(LoadedApk.java:593)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4909)
at android.app.ActivityThread.access$1600(ActivityThread.java:181)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1557)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5729)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

解决方案 »

  1.   

    全局搜索一下:getAssets,看看是否有用到,还真没遇到这样的问题,难道assets里面有隐藏的文件?
      

  2.   

    google这个bug,有大神说这个可能是application启动了两次,用这种方法可以避免public class DevToolsApplication extends Application {
        private static final String TAG = "DevToolsApplication";    @Override
        public void onCreate() {
            super.onCreate();
            AppLogger.i(TAG, "app start...");
            checkAppReplacingState();
        }    private void checkAppReplacingState() {
            if (getResources() == null) {
                AppLogger.w(TAG, "app is replacing...kill");
                Process.killProcess(Process.myPid());
            }
        }
    }
      

  3.   

    没用到Asset的话把这个文件夹删除了试试
      

  4.   

    Process.killProcess(Process.myPid());这个是哪里来的