我最近向市场发布了一个应用程序,我现在收到一些用户的错误,该应用程序可能会在启动时崩溃.不幸的是我无法直接与他联系,该应用程序在模拟器以及我的手机(以及一些朋友的手机)上工作正常.
编辑:我想这会发生在多个用户身上,因为我在市场上收到的评论就像"开始时崩溃"或"不起作用".我只收到了这一个堆栈跟踪,但没有关于配置,设备,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) 此前据工作正常,一旦我的ADT和Android SDK工具我更新到最新版本REV 22,我的应用程序停止工作下面是logcat的输出
请帮忙
05-16 16:36:01.922: E/AndroidRuntime(12717): FATAL EXCEPTION: main
05-16 16:36:01.922: E/AndroidRuntime(12717): java.lang.ExceptionInInitializerError
05-16 16:36:01.922: E/AndroidRuntime(12717): at com.adroit.photoflick.TagsGridActivity.onStart(TagsGridActivity.java:303)
05-16 16:36:01.922: E/AndroidRuntime(12717): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163)
05-16 16:36:01.922: E/AndroidRuntime(12717): at android.app.Activity.performStart(Activity.java:5018)
05-16 16:36:01.922: E/AndroidRuntime(12717): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032)
05-16 16:36:01.922: E/AndroidRuntime(12717): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
05-16 16:36:01.922: E/AndroidRuntime(12717): at android.app.ActivityThread.access$600(ActivityThread.java:130)
05-16 16:36:01.922: E/AndroidRuntime(12717): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
05-16 16:36:01.922: E/AndroidRuntime(12717): at android.os.Handler.dispatchMessage(Handler.java:99)
05-16 16:36:01.922: E/AndroidRuntime(12717): at android.os.Looper.loop(Looper.java:137)
05-16 16:36:01.922: E/AndroidRuntime(12717): at android.app.ActivityThread.main(ActivityThread.java:4745)
05-16 16:36:01.922: E/AndroidRuntime(12717): at java.lang.reflect.Method.invokeNative(Native Method)
05-16 16:36:01.922: E/AndroidRuntime(12717): at java.lang.reflect.Method.invoke(Method.java:511)
05-16 16:36:01.922: E/AndroidRuntime(12717): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) …Run Code Online (Sandbox Code Playgroud) 所以我在处理Android程序时遇到了一个问题.我有一个类将XML字符串转换为Java对象(第三方),它作为常规Java项目工作正常但在Android上我得到这个奇怪的错误:
06-21 22:44:26.402: DEBUG/App(259): java.lang.ClassNotFoundException: com.package.mycode.Class in loader dalvik.system.PathClassLoader@4001b500 06-21 22:44:26.402: DEBUG/App(259): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
我出于显而易见的原因隐藏了我的应用程序名称和我的软件包,但我想知道是否有人遇到过这样的问题.类在正确的包中,这是我添加的库.我之前参考的其他课程都在那里,可以制作.是否还有其他原因ClassNotFoundException被抛出?
谢谢,杰克
在尝试运行我的应用程序时,我的一个或两个用户遇到上述类未找到的运行时异常.
怎么会发生这种情况,我该如何解决?安装不好吗?
谢谢
保罗
通过Android Publishers网站收到的堆栈跟踪.我自己无法复制这个.(com.android.app.app.app)是清单中定义的app/activity的名称.
java.lang.RuntimeException:无法在loader dalvik中实例化活动ComponentInfo {my,app.app.app/com.android.app.app.app}:java.lang.ClassNotFoundException:com.android.app.app.app. android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)上android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659)的system.PathClassLoader [/mnt/asec/my,app.app.app-1/pkg.apk] :2753)在Android.app.Handler.dispatchMessage(Handler.java:99)的android.app.ActivityThread.access $ 2500(ActivityThread.java:129)android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2107) )在android.app.Looper.loop(Looper.java:143)的android.app.ActivityThread.main(ActivityThread.java:4701),位于java.lang的java.lang.reflect.Method.invokeNative(Native Method).在com.android.internal.os.ZygoteInit.main的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)中反映了.Method.invoke(Method.java:521)(ZygoteInit.java: 626)在dalvik.system.NativeStart.main(Native Met hod)引起:java.lang.ClassNotFoundException:com.android.app.app.app在dalvik的loader dalvik.system.PathClassLoader [/mnt/asec/my,app.app.app-1/pkg.apk]中. system.PathClassLoader.findClass(PathClassLoader.java:243)位于java.lang.ClassLoader.loadClass(ClassLoader.java:573)的java.lang.ClassLoader.loadClass(ClassLoader.java:532),位于android.app.Instrumentation.newActivity (Instrumentation.java:1021)在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2651)... 11更多
我收到消息:缺少包语句.这是红色的:

这是一个我到这里的简单项目,
我刚刚将MainActivity.java重命名为ContactWithAuto.java.我的项目构建正常,但当我尝试在手机上运行时,我得到:
Launching application: com.example.chris.autocompletetextview/ContactWithAuto.
DEVICE SHELL COMMAND: am start -n "com.example.chris.autocompletetextview/ContactWithAuto" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
open: Permission denied
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.chris.autocompletetextview/ContactWithAuto }
Error type 3
Error: Activity class {com.example.chris.autocompletetextview/ContactWithAuto} does not exist.
Run Code Online (Sandbox Code Playgroud)
我试过这个解决方案,但它不起作用: Android studio自动修复
还尝试了几次清理,构建,重启Android Studio.有任何想法吗?
这是我的代码:
ContactWithAuto.java:
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AutoCompleteTextView;
import android.widget.SimpleAdapter;
import com.example.chris.autocompletetextview.R;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class ContactWithAuto extends Activity {
private …Run Code Online (Sandbox Code Playgroud) 无法运行应用。该应用程序已成功编译,但因该异常而崩溃
FATAL EXCEPTION: main
Process: com.example.myapplication, PID: 15209
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.myapplication/com.example.myapplication.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.myapplication.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.myapplication-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2426)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2601)
at android.app.ActivityThread.access$800(ActivityThread.java:178)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5637)
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:960)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.myapplication.MainActivity" on path: DexPathList[[zip file "/data com.example.myapplication-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.app.Instrumentation.newActivity(Instrumentation.java:1071)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2601)
at android.app.ActivityThread.access$800(ActivityThread.java:178)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470)
at android.os.Handler.dispatchMessage(Handler.java:111) …Run Code Online (Sandbox Code Playgroud) 我按照其他线程中指示的方式导入了如何导入外部库,但是在将android-support-v7-appcompat.jar导入我的Android项目的Referenced Libraries之后(在ADT v.22.0.5中),我得到了java.lang. ClassNotFoundException的:
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?

java android classnotfoundexception android-actionbaractivity