急!
最近再写一个文件信息管理器在CSDN上找到了一个例子,https://blog.csdn.net/u012721519/article/details/51746932,但是不知道为什么,部署了之后在虚拟机上跑不出来,一直闪退manifest也搞了很多权限,一直无法解决,在线请教各位。万分谢了
Process: com.example.ttt, PID: 31173
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ttt/com.example.filemanager.FileManagerActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3449)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
at com.example.filemanager.MyAdapter.small(MyAdapter.java:99)
at com.example.filemanager.MyAdapter.<init>(MyAdapter.java:34)
at com.example.filemanager.FileManagerActivity.showFileDir(FileManagerActivity.java:84)
at com.example.filemanager.FileManagerActivity.onCreate(FileManagerActivity.java:49)
at android.app.Activity.performCreate(Activity.java:8000)
at android.app.Activity.performCreate(Activity.java:7984)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
```
检查下面的代码,这里 使用了null 对象了
at com.example.filemanager.MyAdapter.small(MyAdapter.java:99)
不知道你这个问题是否已经解决, 如果还没有解决的话:由于无法获取具体的错误信息和代码,无法确定问题的根本原因。以下是一些常见的可能导致应用崩溃或闪退的问题和解决方法:
内存泄漏:在开发Android应用时,需要格外注意内存管理。如果没有妥善处理内存,容易导致内存泄漏,最终导致应用崩溃。可以使用Android Profiler等工具来检测内存泄漏,并及时修复。
线程问题:Android应用本身是多线程的,如果没有正确处理线程,可能会导致应用崩溃。最好使用AsyncTask、Handler、Thread等Android提供的线程管理工具来管理线程。
代码问题:应用崩溃或闪退也可能是因为代码问题。可以尝试使用调试工具来检测代码问题,并进行修复。
依赖库冲突:如果使用的依赖库版本不兼容,也可能导致应用崩溃。可以尝试升级或降级依赖库版本并重新编译应用。
手机版本问题:有一些应用可能只能在特定的Android版本上运行。可以检查应用的最低API版本和目标API版本,并确保应用可以在目标手机上运行。
总体而言,需要详细排查错误信息并找到根本原因才能解决问题。可以使用Android Studio提供的调试工具、日志信息等,或者尝试在真机上运行应用并通过控制台来查找错误信息。如果找不到问题,可以考虑咨询其他开发者或专业技术支持。