0

我有一个应用程序

public class mainactivity extends Activity implements View.OnClickListener
{
...

我在那个清单中声明它。一切都编译并完美运行。然后我改变类如下:

public class mainactivity extends Activity implements View.OnClickListener , MoPubInterstitialListener
{
...
+ extra code to do with "mopub"

这个新代码可以编译,但是现在,只要我的启动屏幕活动关闭并移交给 mainactivity,我就会看到

03-08 10:47:40.380: I/dalvikvm(9013): Failed resolving Lcom/mycompany/myapp/mainactivity; interface 1127 'Lcom/mopub/mobileads/MoPubInterstitial$MoPubInterstitialListener;'
03-08 10:47:40.380: W/dalvikvm(9013): Link of class 'Lcom/mycompany/myapp/mainactivity;' failed
03-08 10:47:40.380: D/AndroidRuntime(9013): Shutting down VM
03-08 10:47:40.380: W/dalvikvm(9013): threadid=1: thread exiting with uncaught exception (group=0x40c7e1f8)
03-08 10:47:40.385: E/AndroidRuntime(9013): FATAL EXCEPTION: main
03-08 10:47:40.385: E/AndroidRuntime(9013): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mycompany.myapp/com.mycompany.myapp.mainactivity}: java.lang.ClassNotFoundException: com.mycompany.myapp.mainactivity
03-08 10:47:40.385: E/AndroidRuntime(9013):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1891)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at android.app.ActivityThread.access$600(ActivityThread.java:127)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at android.os.Looper.loop(Looper.java:137)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at android.app.ActivityThread.main(ActivityThread.java:4511)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at java.lang.reflect.Method.invokeNative(Native Method)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at java.lang.reflect.Method.invoke(Method.java:511)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at dalvik.system.NativeStart.main(Native Method)
03-08 10:47:40.385: E/AndroidRuntime(9013): Caused by: java.lang.ClassNotFoundException: com.mycompany.myapp.mainactivity
03-08 10:47:40.385: E/AndroidRuntime(9013):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at android.app.Instrumentation.newActivity(Instrumentation.java:1026)
03-08 10:47:40.385: E/AndroidRuntime(9013):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1882)
03-08 10:47:40.385: E/AndroidRuntime(9013):     ... 11 more

我不知道如何进行。如果我尝试调试器,它似乎甚至没有执行 mainactivity.OnCreate() 的第一行。

编辑:我的清单中包含以下内容:

<activity android:name="com.mopub.mobileads.MoPubActivity"
 android:configChanges="keyboardHidden|orientation"/>
4

3 回答 3

1

类路径

如果这敲响了警钟,请继续阅读。

诊断:
这意味着编译器在过程中找到了这些类,compile-time但在你的类路径中没有找到这个类runtime

医学:
我以前有过这个,我不太确定步骤,但让我把你放在正确的方向上。

  • 如果您使用的是 ADT 和 eclipse,请检查您.classpath的项目。
  • 项目->构建属性中检查构建顺序
  • 检查您的 jar 是否包含在构建路径中

是图书馆项目

如果它ComponentInfo是库项目的一部分,那么CardinalSin手动将其包含在您的构建路径中是一个(真的!)。您应该project properties->android只在选项卡中添加一个库项目。

于 2013-03-07T20:21:17.787 回答
0

您是否在 Manifest 中定义了 MoPub 活动?

<activity android:name="com.mopub.mobileads.MoPubActivity"
 android:configChanges="keyboardHidden|orientation"/>

去看看这个链接。它应该可以解决您的问题。

于 2013-03-07T19:24:40.587 回答
0

我遇到了类似的问题,我检查了 Java Build Path - Order and Export 下的 android-support-v4.jar 复选框。

于 2015-01-08T05:22:28.860 回答