Android java.lang.ClassNotFoundException
我知道这已经被问了很多,但不幸的是没有一个答案能解决我的问题 我有3台Android设备用于testing+emulator,我的应用程序在所有这些设备上都可以正常工作,但当我发布应用程序时,我会出现此错误(仅在少数设备上,而不是所有设备上): 添加构造函数Android java.lang.ClassNotFoundException,java,android,classnotfoundexception,Java,Android,Classnotfoundexception,我知道这已经被问了很多,但不幸的是没有一个答案能解决我的问题 我有3台Android设备用于testing+emulator,我的应用程序在所有这些设备上都可以正常工作,但当我发布应用程序时,我会出现此错误(仅在少数设备上,而不是所有设备上): 添加构造函数 public MainSurfaceView(上下文上下文、属性集属性、int-defStyle){ 超级(上下文,attrs); } 没有解决问题 我的清单文件: 和我的布局文件: 谢谢你的帮助。如果有人能告诉我如何重新创建错误
public MainSurfaceView(上下文上下文、属性集属性、int-defStyle){
超级(上下文,attrs);
}
没有解决问题
我的清单文件:
和我的布局文件:
谢谢你的帮助。如果有人能告诉我如何重新创建错误,这将非常有帮助。如果您已更新到ADTv17或更高版本,旧的ProGuard文件将对您执行此操作。创建一个新的空项目,然后查看project.properties和proguard properties,并相应地修改当前项目。我建议使用try-catch块查找确切的错误。在我的案例中,我还发现了“java.lang.ClassNotFoundException”。调试之后,它会在catch块中被捕获。它显示“android.view.InflateException:二进制XML文件行#7:错误膨胀类片段”。因此,当我们遇到如上所述的错误时,我们需要首先对其进行调试以找到确切的错误。这也发生在我发布的应用程序上,即使使用了活动类。我认为有些手机只是有bug或必须重新启动。K-ballo:是的,我使用ProGuard;VinceFR:这个问题也发生在Android 2.3.5上(我不知道它是否是官方版本),但亚马逊团队拒绝发布我的应用程序,因为它在2.3上不起作用。5@cleanac:如果您已更新到ADTv17或更高版本,则旧的ProGuard文件将对您执行此操作。创建一个新的空项目,然后查看project.properties和proguard properties,并相应地修改当前项目。@K-ballo:在您的帮助下,我终于可以重新创建错误并修复它了。非常感谢。我想如果你能写一个答案,这样我就可以接受它作为解决方案。
java.lang.RuntimeException: Unable to start activity ComponentInfo{<package>/<package>.<ProjectName>Activity}: android.view.InflateException: Binary XML file line #10: Error inflating class <package>.MainSurfaceView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #10: Error inflating class <package>.MainSurfaceView
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198)
at android.app.Activity.setContentView(Activity.java:1647)
at <package>.<ProjectName>Activity.onCreate(Unknown Source)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
... 11 more
Caused by: java.lang.ClassNotFoundException: <package>.MainSurfaceView in loader dalvik.system.PathClassLoader[/data/app/<package>-1.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
at android.view.LayoutInflater.createView(LayoutInflater.java:466)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565)