Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我有一个无法跟踪的java.lang.ClassNotFoundException错误_Java_Android_Eclipse - Fatal编程技术网

我有一个无法跟踪的java.lang.ClassNotFoundException错误

我有一个无法跟踪的java.lang.ClassNotFoundException错误,java,android,eclipse,Java,Android,Eclipse,我有一个应用程序,直到最近才开始工作。 Google play商店中的错误如下: java.lang.RuntimeException: Unable to instantiate application org.marsfirst.mars_app: java.lang.ClassNotFoundException: Didn't find class "org.marsfirst.mars_app" on path: DexPathList[[zip file "/data/app/

我有一个应用程序,直到最近才开始工作。 Google play商店中的错误如下:

    java.lang.RuntimeException: Unable to instantiate application org.marsfirst.mars_app: java.lang.ClassNotFoundException: Didn't find class "org.marsfirst.mars_app" on path: DexPathList[[zip file "/data/app/org.marsfirst.mars_app-2.apk"],nativeLibraryDirectories=[/data/app-lib/org.marsfirst.mars_app-2, /vendor/lib, /system/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:516)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4703)
at android.app.ActivityThread.access$1600(ActivityThread.java:175)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1368)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5602)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.marsfirst.mars_app" on path: DexPathList[[zip file "/data/app/org.marsfirst.mars_app-2.apk"],nativeLibraryDirectories=[/data/app-lib/org.marsfirst.mars_app-2, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
at android.app.Instrumentation.newApplication(Instrumentation.java:981)
at android.app.LoadedApk.makeApplication(LoadedApk.java:511)
... 11 more
主要活动:

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;//this gives me a warning that states its unused but it has been used in the past
import android.support.v4.app.Fragment;//this gives me a warning that states its unused but it has been used in the past

import android.app.Activity;//this gives me a warning that states its unused but it has been used in the past
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;



import com.parse.ParseException;

import com.parse.ParseUser;

import com.parse.LogInCallback;

public class MainActivity extends ActionBarActivity {

    private String un, pw;
    public TextView username;
    public EditText pass;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        username = (TextView) findViewById(R.id.editloginusername);
        pass = (EditText) findViewById(R.id.editpass);

        Button login = (Button) findViewById(R.id.login);
        login.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub

                un = username.getText().toString();
                pw = pass.getText().toString();

                ParseUser.logInInBackground(un, pw, new LogInCallback() {
                    public void done(ParseUser user, ParseException e) {
                        if (user != null) {
                            new CallMainPage().execute();

                        } else {
                            // username.setText("");
                            pass.setText("");
                            makeToast("User name or password not recognized.");

                        }

                    }
                });

            }
        });

        Button signup = (Button) findViewById(R.id.signup);
        signup.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                new CallSignup().execute();
            }
        });

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    public class CallSignup extends AsyncTask<Void, Void, String> {
        protected String doInBackground(Void... urls) {
            Intent intent = new Intent(MainActivity.this, Signup.class);
            MainActivity.this.startActivity(intent);
            return "";
        }
    }

    public class CallMainPage extends AsyncTask<Void, Void, String> {
        protected String doInBackground(Void... urls) {
            Intent intent = new Intent(MainActivity.this, MainPage.class);
            MainActivity.this.startActivity(intent);
            return "";
        }
    }

    public void makeToast(String text) {
        int duration = Toast.LENGTH_SHORT;

        Toast toast = Toast.makeText(getApplicationContext(), text, duration);
        toast.show();
    }

}
导入android.support.v7.app.ActionBarActivity;
导入android.support.v7.app.ActionBar//这给了我一个警告,说明它未使用,但它已在过去使用过
导入android.support.v4.app.Fragment//这给了我一个警告,说明它未使用,但它已在过去使用过
导入android.app.Activity//这给了我一个警告,说明它未使用,但它已在过去使用过
导入android.content.Intent;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
导入android.widget.Toast;
导入com.parse.ParseException;
导入com.parse.ParseUser;
导入com.parse.LogInCallback;
公共类MainActivity扩展了ActionBarActivity{
私人字符串un,pw;
公共文本视图用户名;
公共文本通行证;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
用户名=(TextView)findViewById(R.id.editloginusername);
pass=(EditText)findViewById(R.id.editpass);
按钮登录=(按钮)findViewById(R.id.login);
login.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图arg0){
//TODO自动生成的方法存根
un=username.getText().toString();
pw=pass.getText().toString();
logInInBackground(un,pw,new LogInCallback(){
公共无效完成(ParseUser用户,parsee异常){
如果(用户!=null){
新建CallMainPage().execute();
}否则{
//username.setText(“”);
pass.setText(“”);
MakeToos(“用户名或密码不可识别”);
}
}
});
}
});
按钮注册=(按钮)findViewById(R.id.signup);
signup.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图arg0){
//TODO自动生成的方法存根
新建CallSignup().execute();
}
});
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
//处理操作栏项目单击此处。操作栏将
//自动处理Home/Up按钮上的点击,只要
//在AndroidManifest.xml中指定父活动时。
int id=item.getItemId();
if(id==R.id.action\u设置){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
公共类CallSignup扩展了异步任务{
受保护的字符串doInBackground(无效…URL){
意向意向=新意向(MainActivity.this,Signup.class);
MainActivity.this.startActivity(意图);
返回“”;
}
}
公共类CallMainPage扩展了异步任务{
受保护的字符串doInBackground(无效…URL){
意向意向=新意向(MainActivity.this,MainPage.class);
MainActivity.this.startActivity(意图);
返回“”;
}
}
公共void makeToast(字符串文本){
int duration=Toast.LENGTH\u SHORT;
Toast Toast=Toast.makeText(getApplicationContext(),text,duration);
toast.show();
}
}
我的舱单:

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

    <permission
        android:name="org.marsfirst.mars_app"
        android:protectionLevel="signature" />

    <uses-permission android:name="org.marsfirst.mars_app" />

    <application
        android:name="org.marsfirst.mars_app"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="org.marsfirst.mars_app.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Signup"
            android:label="@string/signup"
            android:parentActivityName=".MainActivity" >
            <intent-filter />

            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainActivity" />
        </activity>
        <activity
            android:name=".MainPage"
            android:label="Main Page" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Webpage"
            android:label="Website"
            android:parentActivityName=".MainPage" >
            <intent-filter />

            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainPage" />
        </activity>
        <activity
            android:name=".TeamNews"
            android:label="Team News"
            android:parentActivityName="org.marsfirst.mars_app.MainPage" >
            <intent-filter />

            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="org.marsfirst.mars_app.MainPage" />
        </activity>
        <activity
            android:name=".OprPage"
            android:label="OPR Page"
            android:parentActivityName="org.marsfirst.mars_app.MainPage" >
            <intent-filter />

            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="org.marsfirst.mars_app.MainPage" />
        </activity>
        <activity
            android:name="org.marsfirst.mars_app.MechPage"
            android:label="Mechanical Page"
            android:parentActivityName="org.marsfirst.mars_app.MainPage" >
            <intent-filter />

            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainPage" />
        </activity>
        <activity
            android:name=".DriveNews"
            android:label="Drive News"
            android:parentActivityName=".MainPage" >
            <intent-filter />

            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainPage" />
        </activity>
        <activity
            android:name=".ProgramingPage"
            android:label="Programming Page"
            android:parentActivityName=".MainPage" >
            <intent-filter />

            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainPage" />
        </activity>

        <service android:name="com.parse.PushService" />

        <receiver android:name="com.parse.ParseBroadcastReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>
        <receiver
            android:name="com.parse.GcmBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

                <category android:name="org.marsfirst.mars_app" />
            </intent-filter>
        </receiver>
    </application>

</manifest>

我不确定这是否是一个代码错误,由于我的研究,我相信这是一个构建路径错误,但我所尝试的一切似乎都失败了,请帮助 我会发布任何需要的额外屏幕截图或代码。为了解决这个问题,我发现一个“修复”方法是将所有东西都改成
android:name=“.DriveNews”
,而不是原来的
android:name=org.marsfirst.mars\u app.DriveNews

感谢您提供的任何帮助。

免责声明:我是安卓开发领域的noob

我认为您希望验证以下权限标记:

<permission
    android:name="org.marsfirst.mars_app"
    android:protectionLevel="signature" />

<uses-permission android:name="org.marsfirst.mars_app" />

类加载器找不到类
org.marsfirst.mars\u app
。从你的代码来看,mars_应用程序似乎是一个软件包。应用程序名称中的android:name与之相同。

更改

android:name="org.marsfirst.mars_app"

其中,
YourApplicationClass
是扩展
Application
类的类。如果您没有这样的类,只需删除
name
属性即可

根据标签的官方文档,
名称
属性应为

为应用程序实现的应用程序子类的完全限定名。当应用程序进程启动时,该类在应用程序的任何组件之前实例化。


子类是可选的;大多数应用程序都不需要。在没有子类的情况下,Android使用基本应用程序类的实例。

可以显示文件浏览吗

e、 g。

右键单击项目->生成路径->配置生成路径->排序并导出并检查项目中使用的库。

在应用程序中是否使用proguard

如果是:请查看developer.google网站。这可能对你有帮助

默认的
proguard.cfg
文件将尝试
android:name="org.marsfirst.mars_app.YourApplicationClass"