【问题标题】:android app crashes at startup, Logcat: Didn't find class "[package name]" at /data/app/[package name]android应用程序在启动时崩溃,Logcat:在/data/app/[package name]处找不到类“[package name]”
【发布时间】:2013-07-29 04:18:32
【问题描述】:

希望你能帮我解决我的问题。我的应用程序在启动时崩溃了,所以我尝试使用 LogCat 来查找错误。正如标题中提到的,errormassage 说:

07-29 03:49:46.734: E/AndroidRuntime(837): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.calculate.firsttry/com.example.calculate.firsttry.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.calculate.firsttry.MainActivity" on path: /data/app/com.example.calculate.firsttry-1.apk
07-29 03:49:46.734: E/AndroidRuntime(837): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.calculate.firsttry.MainActivity" on path: /data/app/com.example.calculate.firsttry-1.apk

所以我好像在某处遗漏了一些声明。问题是,我不知道在哪里。这不是我的第一个应用程序,我认为我重复了我之前所做的每一步。

这是我的应用程序的代码:

package com.example.calculate.firsttry;

 import org.ksoap2.SoapEnvelope;
 import org.ksoap2.serialization.SoapObject;
 import org.ksoap2.serialization.SoapSerializationEnvelope;
 import org.ksoap2.transport.HttpTransportSE;import android.app.Activity;
 import android.os.Bundle;
 import android.widget.TextView;

 public class AndroidWSDLFrontEnd extends Activity {

 private String METHOD_NAME = "add"; // our webservice method name
 private String NAMESPACE = "http://calculator.backend.org";;
 private String SOAP_ACTION = NAMESPACE + METHOD_NAME; // NAMESPACE + method name
 private static final String URL = "http://10.35.108.154:8080/AndroidBackend/services/Calculator?wsdl";;// you must use ipaddress here, don’t use Hostname or localhost

/** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

TextView tv = (TextView) findViewById(R.id.txtAddition);
 try
 {
 SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
 request.addProperty("a", 5);
 request.addProperty("b", 15);
 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
 envelope.dotNet = true;
 envelope.setOutputSoapObject(request);
 HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
 androidHttpTransport.call(SOAP_ACTION,envelope);
 Object result = envelope.getResponse();
 System.out.println("Result: " + result.toString());
 ((TextView) findViewById (R.id.txtAddition)).setText("Addition :" +result.toString());
 } catch (Exception E) {
 E.printStackTrace();
 ((TextView) findViewById (R.id.txtAddition)).setText("ERROR: "    + E.getClass().getName() + "," + E.getMessage());
 }
 }
 }

也许我在这里错过了一些东西。我不能再指定问题了。我得到的只是代码和错误消息。那么如何让我的应用运行呢?

感谢您的帮助。

【问题讨论】:

    标签: android web-services crash startup logcat


    【解决方案1】:

    一些建议

    1) 如果尚未声明,请在 AndroidManifest.xml 文件中声明活动。

    2) 看来您正在尝试打开 MainActivity class/Activity 并在问题中添加了 AndroidWSDLFrontEnd 活动,希望您调用正确的活动,检查 Manifest/ActivityDeclararion 中各个类的名称,并在开始活动。

    07-29 03:49:46.734: E/AndroidRuntime(837): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.calculate.firsttry.**MainActivity**" // here it says MainActivity not found, Check the name of your activity
    

    【讨论】:

    • 谢谢,这解决了原来的问题,我忘了在清单中更改类的名称。现在还是不行,我的代码@line 26有一个错误,但是由于我试图解决发布的错误消息,再次感谢您的帮助。
    【解决方案2】:

    在你的AndroidManifest.xml

    尝试改变

     <activity
            android:name="com.example.calculate.firsttry.MainActivity"
            ............
    
        </activity>
    

     <activity
                android:name="com.example.calculate.firsttry.AndroidWSDLFrontEnd"
                ............
    
            </activity>
    

    【讨论】:

      【解决方案3】:

      我在 Android Studio 0.2.10 中遇到了这个问题,必须在 Android Studio 中执行 Gradle clean

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-16
        • 2018-10-14
        • 2014-12-31
        • 1970-01-01
        • 2016-02-13
        • 1970-01-01
        • 1970-01-01
        • 2015-04-26
        相关资源
        最近更新 更多