0

我有两个 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的,QCARSamples在我的 jar 中可以找到包:

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>

有任何想法吗?

4

1 回答 1

2

问题通常出在 BuildPath 上。

假设您使用的是 eclipse 和 ADT:右键单击您的项目,选择 Build Path -> Configure Build Path -> Order and Export 并确保选择了您的库。

请记住在重试之前清理项目。

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

于 2012-12-21T14:44:22.717 回答