出现错误:-不幸的是,应用程序已在 android 中停止
Posted
技术标签:
【中文标题】出现错误:-不幸的是,应用程序已在 android 中停止【英文标题】:Getting error :- unfortunately app has stopped in android 【发布时间】:2015-08-13 15:54:46 【问题描述】:我一直在寻找这个几个小时,但都是徒劳的。我正在开发一个名为 Yamba 的教程应用程序,来自 learning android 一书。它是一个在 twitter 上更新状态的应用程序。它使用 @ 987654321@图书馆。我正在使用的东西:
linux(ubuntu) ant 调试(构建我的项目) 我的安卓手机用于测试应用程序。
项目成功构建并在我的手机上安装了该应用程序,但是当我运行该应用程序时,我收到错误“不幸的是,Yamba 已停止”。我有以下文件:
AndroidManifest.xml 文件为--
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.Yamba"
android:versionCode="1"
android:versionName="1.0">
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
<activity android:name=".Yamba"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
我的 Yamba.java 文件为 --
package com.example.Yamba;
import winterwell.jtwitter.Twitter;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Button;
public class Yamba extends Activity implements OnClickListener
private static final String TAG = "Yamba";
EditText editText;
Button updateButton;
Twitter twitter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.status);
//find views
editText =(EditText) findViewById(R.id.editText);
updateButton =(Button) findViewById(R.id.buttonUpdate);
updateButton.setOnClickListener(this);
twitter = new Twitter("student","password");
twitter.setAPIRootUrl("http://yamba.marakana.com/api");
public void onClick(View view)
twitter.setStatus(editText.getText().toString());
Log.d(TAG,"onClicked");
我的 layout.xml 为 ----
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_
android:layout_
>
<TextView
android:id="@+id/text"
android:layout_
android:layout_
android:gravity="center"
android:text="@string/titleStatus"
android:textSize="30sp"
/>
<EditText
android:layout_
android:layout_
android:layout_weight="1"
android:hint="@string/hintText"
android:id="@+id/editText"
android:gravity="top|center_horizontal">
</EditText>
<Button
android:layout_
android:layout_
android:text="@string/buttonUpdate"
android:textSize="20sp"
android:id="@+id/buttonUpdate">
</Button>
</LinearLayout>
我的logcat如下---
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
E/ObjectHelper( 6376): Can't find method:setCompatibilityInfo
E/Trace ( 6342): error opening trace file: No such file or directory (2)
E/jdwp ( 6342): jdwp::setsockopt(SO_SNDTIMEO)
E/jdwp ( 6342): jdwp::setsockopt(SO_RCVTIMEO)
E/KeyguardUpdateMonitor( 508): Object tried to add another callback
E/KeyguardUpdateMonitor( 508): java.lang.Exception: Called by
E/KeyguardUpdateMonitor( 508): at com.android.internal.policy.impl.keyguard.KeyguardUpdateMonitor.registerCallback(KeyguardUpdateMonitor.java:1107)
E/KeyguardUpdateMonitor( 508): at com.android.internal.policy.impl.keyguard.KeyguardSelectorView.onResume(KeyguardSelectorView.java:331)
E/KeyguardUpdateMonitor( 508): at com.android.internal.policy.impl.keyguard.KeyguardHostView.onScreenTurnedOn(KeyguardHostView.java:1118)
E/KeyguardUpdateMonitor( 508): at com.android.internal.policy.impl.keyguard.KeyguardViewManager.onScreenTurnedOn(KeyguardViewManager.java:404)
E/KeyguardUpdateMonitor( 508): at com.android.internal.policy.impl.keyguard.KeyguardViewMediator.handleNotifyScreenOn(KeyguardViewMediator.java:1775)
E/KeyguardUpdateMonitor( 508): at com.android.internal.policy.impl.keyguard.KeyguardViewMediator.access$2300(KeyguardViewMediator.java:106)
E/KeyguardUpdateMonitor( 508): at com.android.internal.policy.impl.keyguard.KeyguardViewMediator$4.handleMessage(KeyguardViewMediator.java:1413)
E/KeyguardUpdateMonitor( 508): at android.os.Handler.dispatchMessage(Handler.java:107)
E/KeyguardUpdateMonitor( 508): at android.os.Looper.loop(Looper.java:194)
E/KeyguardUpdateMonitor( 508): at android.os.HandlerThread.run(HandlerThread.java:60)
E/AudioMTKHardware( 137): setParameters() still have param.size() = 1, remain param = "screen_state=on"
E/CellLocation( 784): create GsmCellLocation
E/CellLocation( 784): create GsmCellLocation
E/AndroidRuntime( 6411): FATAL EXCEPTION: main
E/AppErrorDialog( 508): Failed to get ILowStorageHandle instance
不知道现在该做什么。 在这方面的任何帮助将不胜感激。
编辑-- 删除错字后,我发布了新的 logcat。
【问题讨论】:
您的权限名称有错字:persmission
在正确的地方吗?对不起 ?正确的地方是什么意思?我已将它添加到我在几篇文章中阅读的 androidmanifest 文件中
@SergeyGlotov 也刚刚注意到 - 它在正确的位置,只是拼写错误。
你的 logcat 现在显示什么?如果您已更正输入错误,则不会出现此错误。再次尝试清理并重建您的项目。
Caused by: java.io.IOException: Permission denied (missing INTERNET permission?)
【参考方案1】:
<uses-permission android:name="android.persmission.INTERNET"/>
权限命名错误...应该是:
<uses-permission android:name="android.permission.INTERNET"/>
【讨论】:
错字已删除,但问题仍然存在 网络权限问题解决了吗?这意味着你没有一个错误,你有两个错误。您的 logcat 没有显示您的应用程序的任何崩溃信息(我可以告诉您)。请再次运行您的应用并尝试获取与您的应用相关的崩溃堆栈跟踪。【参考方案2】:android 中存在拼写错误。persmission.INTERNET
【讨论】:
这个错字只是我通过搜索它最初没有放在 xml 文件中的几个小时得到的宿醉的结果。问题依旧 尝试将权限标签放在应用程序元素上方。 developer.android.com/guide/topics/manifest/… 对不起,上面也试过了,但问题仍然存在。 能否请您卸载您的应用并重新安装?还添加以上是关于出现错误:-不幸的是,应用程序已在 android 中停止的主要内容,如果未能解决你的问题,请参考以下文章
不幸的是,在 Android 的 layout-land 文件中更改 .xml 时,应用程序已在物理设备上停止 [重复]
不幸的是,“应用程序”已经停止了 Android Studio 的问题