rah*_*hul 145 android fatal-error
我试图运行示例代码在Android 1.5模拟器中启动应用程序时,我遇到了这些错误....任何人都有一些提示..?
来自LogCat的错误:
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): FATAL EXCEPTION: main
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.s.android.test/com.s.android.test.MainActivity}: java.lang.ClassNotFoundException: com.s.android.test.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.s.android.test-2.apk]
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1544)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.os.Handler.dispatchMessage(Handler.java:99)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.os.Looper.loop(Looper.java:123)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.main(ActivityThread.java:3647)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.reflect.Method.invokeNative(Native Method)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.reflect.Method.invoke(Method.java:507)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at dalvik.system.NativeStart.main(Native Method)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): Caused by: java.lang.ClassNotFoundException: com.s.android.test.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.s.android.test-2.apk]
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1536)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): ... 11 more
01-13 02:28:08.407: WARN/ActivityManager(112): Force finishing activity com.s.android.test/.MainActivity
Run Code Online (Sandbox Code Playgroud)
编辑 此错误发生在大多数初学者身上,问题是您必须在Manifest文件中添加所有活动.
Tan*_*dal 131
这是你的意图的问题.
请加入你Activity的 AndroidManifest.xml.
当您想要开展新活动时,您应该在您的活动中注册AndroidManifest.xml.
SMU*_*hah 54
您可能正试图找到之前onCreate()不正确的视图.
public class MainActivity extends Activity {
ImageView mainImage = (ImageView) findViewById(R.id.imageViewMain); //incorrect
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
...
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*ues 52
在我的情况下,我忘了添加谷歌地图库
<application>
....
<uses-library android:name="com.google.android.maps" />
</application>
Run Code Online (Sandbox Code Playgroud)
另外,检查您是否在活动路径之前没有错过前面的点
<activity android:name=".activities.MainActivity"/>
Run Code Online (Sandbox Code Playgroud)
Kev*_*vin 45
还有另一种获取java.lang.RuntimeException的方法:无法实例化活动ComponentInfo异常,这是您尝试启动的活动是抽象的.我犯了这个愚蠢的错误,很容易被忽视.
Kyl*_*yle 15
我也遇到了这个问题,但方式略有不同.这是我的场景:
应用细节:
<uses-library android:name="com.google.android.maps" />在库项目和我的主项目的清单中(在库中可能没有必要?)但是,我仍然遇到了原帖中描述的错误,无法让它消失.但问题是,在某方面略有不同:
我是如何修理它的:
仅此步骤无法解决问题
将jar添加到构建路径后,我在Java Build Path> Order and Export选项卡上更改了顺序 - 我将JAR设置为列表中的第一项(它是/ src和/ gen项之后的最后一项) ).
然后我重新构建并将应用程序重新部署到我的设备上 - 它在全新安装时按预期工作.为了确定,我再次卸载了2-3次并重新安装 - 仍然按预期工作.
这可能是一个彻头彻尾的新手错误,但我花了很长时间来挖掘帖子和我的代码才弄清楚,所以希望它对其他人有帮助.可能无法解决所有情况,但在这种特殊情况下,最终成为我问题的解决方案.
Muz*_*Muz 13
这可能与实际问题无关,但在我的实例中,我试图实施Kotlin并遗漏了apply plugin: 'kotlin-android'.发生错误是因为它无法将MainActivity识别为.kt文件.
希望它可以帮助某人.
Col*_*ris 11
这个错误也可能是一个愚蠢错误的终极迹象(就像我 - 我的意思是,咳嗽,就像我的一个朋友曾向我展示过他们的代码一样)他们试图在一个方法之外执行代码,比如试图这样做:
SQLiteDatabase db = openOrCreateDatabase("DB", MODE_PRIVATE, null); //trying to perform function where you can only set up objects, primitives, etc
@Override
public void onCreate(Bundle savedInstanceState) {
....
}
Run Code Online (Sandbox Code Playgroud)
而不是这个:
SQLiteDatabase db;
@Override
public void onCreate(Bundle savedInstanceState) {
db = openOrCreateDatabase("DB", MODE_PRIVATE, null);
....
}
Run Code Online (Sandbox Code Playgroud)
在我的情况下,我没有设置 setContentView(R.layout.main);
如果您创建了一个新类,请不要在on onCreate(Bundle savedInstanceState)方法中设置它.
我曾多次做过这个愚蠢的错误.
对我来说,我的包字符串AndroidManifest.xml是不正确的(从教程中复制).确保此文件中的包字符串与主要活动的位置相同,例如
package="com.example.app"
Run Code Online (Sandbox Code Playgroud)
一种简单的方法是在"Manifest"选项卡中打开AndroidManifest.xml文件,并在Package旁边的文本框中键入它,或使用Browse按钮.
此外,我的活动的包字符串是错误的,例如
<activity android:name="com.example.app.MainActivity" android:label="@string/app_name">
Run Code Online (Sandbox Code Playgroud)
几周后,当我重命名我的包名时,我(愚蠢地)得到了同样的错误.如果这样做,请确保您也更新该AndroidManifest.xml文件.
好吧,我在iPhone上相当有经验,但对android很新.我有这样的问题:
Button infoButton = (Button)findViewById(R.id.InfoButton);
Run Code Online (Sandbox Code Playgroud)
这行代码如上:
@Override
public void onCreate (Bundle savedInstanceState) {
}
Run Code Online (Sandbox Code Playgroud)
可能是我被剥夺了睡眠:P
onCreate就我而言,我什至在为 Activity 调用之前就尝试初始化组件(UI) 。
确保您的 UI 组件onCreate在之后的方法中初始化/链接setContentView
NB:这是我学习Android编程时犯的第一个错误。
小智 5
对我来说,这与以上任何一个都不一样,
该活动被声明为抽象的,这就是给出错误的原因。一旦删除它就起作用了。
早些时候
public abstract class SampleActivity extends AppcompatActivity{
}
Run Code Online (Sandbox Code Playgroud)
拆除后
public class SampleActivity extends AppcompatActivity{
}
Run Code Online (Sandbox Code Playgroud)
确保 MainActivity 不是“抽象的”。
abstract class MainActivity : AppCompatActivity()
Run Code Online (Sandbox Code Playgroud)
只需删除摘要
class MainActivity : AppCompatActivity() {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
323494 次 |
| 最近记录: |