获取ClassNotFoundException的jar中的子类活动

时间:2012-12-21 14:37:49

标签: android eclipse android-activity manifest classnotfoundexception

我有两个Android项目。一个是库,并在构建路径上编译另一个包含此jar的可执行文件的jar。

我在我的项目中将jar中的一个活动子类化,但是当我启动它时,我得到一个ClassNotFoundException。

以下是有关活动的清单MainActivity

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.my.package.MyProject"
    android:versionCode="1"
    android:versionName="1.0">

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

    <application android:label="@string/app_name"
        android:name=".MyApplication"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/AppTheme">

        <activity android:label="@string/app_name"
            android:configChanges="orientation|keyboardHidden"
            android:name=".MainActivity">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

这是我的MainActivity,我的jar中找到了QCARSamples包:

package com.my.package.MyProject;

import java.io.File;

import com.qualcomm.QCARSamples.ImageTargets.GraphicsEngineHook;
import com.qualcomm.QCARSamples.ImageTargets.VuforiaTrackingActivity;

import com.my.package.MyProject.R;

public class MainActivity extends VuforiaTrackingActivity{
    private File blenderFile;

    @Override
    protected synchronized void updateApplicationStatus(final int appStatus){
        return;
    }

    @Override
    protected GraphicsEngineHook getGraphicsEngineHook() {
        return new MyGraphicsEngineHook();
    }

    @Override
    protected int getSplashScreenImageResource() {
        return R.drawable.splash_screen_image_targets;
    }
}

我也尝试过将我在清单中继承的活动包括在内,但我仍然遇到同样的错误:

<activity>
    <android:name="com.qualcomm.QCARSamples.ImageTargets.VuforiaTrackingActivity>
</activity>

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

问题通常在BuildPath上。

假设你正在使用eclipse和ADT: 右键单击您的项目,选择Build Path - &gt;配置构建路径 - &gt;订购和导出,确保您的库已被选中。

请记住在再次尝试之前清理项目。

它也可以是注释时在清单上建议的类路径,而不是直接编辑XML,转到“应用程序”选项卡,选择活动,单击“浏览器”,取消选中“从项目源显示类” ...',然后从库中选择活动。