3

我正在开发一个应用程序,我可以启动有两个按钮的 Launcher 活动。当单击这些按钮中的任何一个时,应打开一个新活动。但是,随后会发生运行时错误。


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Intro extends Activity {

    Button searchBut, fbButton;

    @Override
    protected void onResume() {
        super.onResume();
    }

    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        AppSettings.loadLogin(getApplicationContext());
        setContentView(R.layout.intro);
        if (AppSettings.logged) {
            Intent a = new Intent(Intro.this, AllChallengesPager.class);
            a.putExtra("logging", "0");
            startActivity(a);
        }
        searchBut = (Button) findViewById(R.id.button2);
        searchBut.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent a = new Intent(Intro.this, DetailedChallenge.class);
                a.putExtra("logging", "0");
                startActivity(a);
            }
        });
        fbButton = (Button) findViewById(R.id.fbBut);
        fbButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent a = new Intent(Intro.this, AllChallengesPager.class);
                a.putExtra("logging", "1");
                startActivity(a);
            }
        });
        AppSettings.loadLogin(getApplicationContext());
    }
}

06-07 11:26:07.776: E/AndroidRuntime(13305): FATAL EXCEPTION: main
06-07 11:26:07.776: E/AndroidRuntime(13305): java.lang.NoClassDefFoundError: com.loopj.android.http.RequestParams
06-07 11:26:07.776: E/AndroidRuntime(13305):    at com.example.challengeZygio.DetailedChallenge.onCreate(DetailedChallenge.java:216)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at android.app.Activity.performCreate(Activity.java:5047)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at android.app.ActivityThread.access$700(ActivityThread.java:134)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at android.os.Handler.dispatchMessage(Handler.java:99)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at android.os.Looper.loop(Looper.java:137)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at android.app.ActivityThread.main(ActivityThread.java:4867)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at java.lang.reflect.Method.invokeNative(Native Method)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at java.lang.reflect.Method.invoke(Method.java:511)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
06-07 11:26:07.776: E/AndroidRuntime(13305):    at dalvik.system.NativeStart.main(Native Method)

- 我所有的 jar 库都放在 libs 文件夹中 - 我已经清理了项目并多次重新启动 Eclipse - 我正在使用带有所有最新更新的 Eclipse Juno

4

4 回答 4

22

Right click your Project -> Properties -> Java Build Path -> Order & Export

到达这里后,您使用过的库,“选择”这些库并将它们移动到列表顶部。即假设您使用了“xyz.jar”文件,那么下面将是您的序列。

[x] xyz.jar
[x] Android xx
[x] Android 依赖项 ....

保存更改并在清理后重建您的项目。

于 2013-06-07T09:14:27.550 回答
1

我也遇到了这个问题,找不到类可能有几个原因,可能是您的活动没有添加到清单中,导入的库没有像上面提到的那样正确添加到项目中。另一个原因可能是 jar 不匹配。在我的情况下,这是 jar 不匹配,我的项目库包含 android-support.jar,而我导入的 appcompat v7 有另一个版本。所以我只是删除了项目库中的 android-support.jar,问题就解决了。

于 2015-02-12T18:03:01.167 回答
0

我也遇到了同样的问题。后来我才知道,在eclipse中构建后,通过Properties>JavaBuildPath>Library/Project添加库jar并没有添加到apk中。取而代之的是,将 .jar 库直接复制并粘贴到 lib 文件夹中,并且刷新项目对我有用。

于 2013-07-06T19:05:10.113 回答
0

右键单击项目。转到 BuildPath -> 配置构建路径 -> 订购和导出 -> 选择您使用过的所有库 -> 单击确定 -> 清理项目

于 2013-06-07T09:19:14.983 回答