我是Android开发新手,正在学习使用Android Studio。我正在开发一个简单的应用程序,它告诉所订购的咖啡杯数量的价格。当我在虚拟设备上运行应用程序时,它工作得很好,但是当我在手机上运行时出现问题。该应用程序正确加载,但当我点击“订单”按钮时,我收到一个错误:“不幸的是,Just Java已停止。”当我用Google搜索时,我知道有一种叫做Logcat的东西。在查看Logcat时,我发现了多个我无法解决的错误。
11-04 21:49:08.255 8217-8217 /? E / System:elements.add:/data/app/com.example.darshan.justjava-2/base.apk /data/app/com.example.darshan.justjava-2/base.apk / data / app / com .example.darshan.justjava-2 / base.apk
11-04 21:49:08.452 8217-8217 /? E / System:elements.add:/data/app/com.example.darshan.justjava-2/split_lib_dependencies_apk.apk /data/app/com.example.darshan.justjava-2/split_lib_dependencies_apk.apk / data / app / com .example.darshan.justjava-2 / split_lib_dependencies_apk.apk
11-04 21:49:08.454 8217-8217 /? E / System:elements.add:/data/app/com.example.darshan.justjava-2/split_lib_slice_0_apk.apk /data/app/com.example.darshan.justjava-2/split_lib_slice_0_apk.apk / data / app / com .example.darshan.justjava-2 / split_lib_slice_0_apk.apk
此列表中的第三个错误在Logcat中已经计算了10次。
然后,当我点击“订购”按钮时,会出现运行时错误,如下所示:
11-04 21:53:45.667 8217-8217 / com.example.darshan.justjava E / AndroidRuntime:FATAL EXCEPTION:main 处理:com.example.darshan.justjava,PID:8217 java.lang.IllegalStateException:无法执行android:onClick
的方法
在此之下还有例如
之类的例外引起:java.lang.reflect.InvocationTargetException
引起:java.lang.NoClassDefFoundError:解析失败:Landroid / icu / text / NumberFormat;
引起:java.lang.ClassNotFoundException:在路径上没有找到类“android.icu.text.NumberFormat”:DexPathList [[zip file“/data/app/com.example.darshan.justjava-2/ base.apk“,zip文件”/data/app/com.example.darshan
引起:java.lang.NoClassDefFoundError:使用引导类加载器找不到类;没有可用的堆栈
引起:java.lang.reflect.InvocationTargetException
有人可以帮助我在手机上运行我的应用吗?而且,为什么即使存在运行时异常,我的应用程序也能在虚拟设备上正确运行?
提前致谢。
PS:此应用的项目文件夹不在Android Studio为我创建的默认AndroidStudioProjects目录中。我创建了一个独立的目录。告诉它以防万一这可能是导致错误的原因。
答案 0 :(得分:1)
对于您的第一个错误:
在android中," - "包名称是不可接受的:justjava-2
是您的错误的来源,似乎因此,某些文件未添加到您的设备
您应该使用符合名称(例如justjava_2
套餐名称仅接受" a..z" ," _"," 0..9"并且必须以字母开头
答案 1 :(得分:0)
似乎您通过XML将 android:onClick 引用到您的活动中不存在的方法。如果您想以这种方式引用某个操作,则必须有一个返回 void 的方法,并在您的活动中将查看作为参数。
public void myOrderAction(View view){
//Do the "Order" stuff here
}
并在您的XML中
android:onClick="myOrderAction"