相关疑难解决方法(0)

Android:无法实例化activity/ClassNotFoundException

我最近向市场发布了一个应用程序,我现在收到一些用户的错误,该应用程序可能会在启动时崩溃.不幸的是我无法直接与他联系,该应用程序在模拟器以及我的手机(以及一些朋友的手机)上工作正常.
编辑:我想这会发生在多个用户身上,因为我在市场上收到的评论就像"开始时崩溃"或"不起作用".我只收到了这一个堆栈跟踪,但没有关于配置,设备,Android版本等的信息.

该应用程序是一个简单的音板,所以没有任何魔术,但我无法理解为什么它在某些手机上失败.这是我得到的堆栈跟踪,我希望有人可以帮助我:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.my.app/com.my.app.SoundMachine}: java.lang.ClassNotFoundException: com.my.app.SoundMachine in loader dalvik.system.PathClassLoader[/mnt/asec/com.my.app-1/pkg.apk]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
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:876)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.my.app.SoundMachine in loader dalvik.system.PathClassLoader[/mnt/asec/com.my.app-1/pkg.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.app.Instrumentation.newActivity(Instrumentation.java:1021)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
... 11 more
Run Code Online (Sandbox Code Playgroud)

这些是我活动的前几行:

public class SoundMachine extends Activity {
  private SoundManager mSoundManager;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
Run Code Online (Sandbox Code Playgroud)

编辑:这是(几乎)完成onCreate:

  @Override …
Run Code Online (Sandbox Code Playgroud)

android exception

68
推荐指数
6
解决办法
7万
查看次数

工作应用程序的java.lang.ClassNotFoundException

我创建并发布了我的第一个Android应用程序.这很简单.它在模拟器和一些手机上工作正常,但我收到此错误:

java.lang.RuntimeException: Unable to instantiate application cz.teamnovak.droid.Novak ESC Track guide: java.lang.ClassNotFoundException: cz.teamnovak.droid.Novak ESC Track guide in loader dalvik.system.PathClassLoader[/data/app/cz.teamnovak.droid-1.apk]
    at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:649)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4232)
    at android.app.ActivityThread.access$3000(ActivityThread.java:125)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071)
    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:868)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: cz.teamnovak.droid.Novak ESC Track guide in loader dalvik.system.PathClassLoader[/data/app/cz.teamnovak.droid-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.app.Instrumentation.newApplication(Instrumentation.java:942)
    at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:644)
    ... 11 more
Run Code Online (Sandbox Code Playgroud)

知道是什么原因引起的吗?

android classnotfoundexception

51
推荐指数
7
解决办法
10万
查看次数

无法实例化应用程序 - ClassNotFoundException

编辑:此问题尚未在其他建议的SO问题中得到解决

我在市场上有一个完整的应用程序超过一年,很少有崩溃报告.最近我将我的应用程序更改为一个库,以便它可以包含在多个不同的"包装器"项目中.这样我就可以轻松制作不同版本 - 免费,付费,非谷歌市场,有/无应用内购买等.

新的"库+包装"应用似乎工作正常.我可以多次运行它,没有错误.但是后来一天之后(大概是操作系统关闭了部分或全部应用程序的活动)我尝试运行它并报告

Unable to instantiate application com.mycompany.mygamelibrary.MyGameApplicationClass: java.lang.ClassNotFoundException: com.mycompany.mygamelibrary.MyGameApplicationClass
Run Code Online (Sandbox Code Playgroud)

它找不到的类是程序启动时运行的第一个类,MyGameApplicationClass - 扩展Application.该类是库的一部分.

我怀疑两个清单文件中有一个是傻瓜.

包装器项目的清单包含行...

<application android:icon="@drawable/mygame_icon"
    android:screenOrientation="portrait" android:label="My Game Name"
    android:name="com.mycompany.mygamelibrary.MyGameApplicationClass">
Run Code Online (Sandbox Code Playgroud)

什么想法可能会出错?

编辑:该库被引用为"正确的方式",由yorkw 对此SO问题的答案所定义.

编辑:我现在无法重复崩溃:-(我不知道当应用程序一两天不使用时操作系统会做什么.

android

15
推荐指数
3
解决办法
2万
查看次数