Oracle MDK示例应用程序在Eclipse中运行时显示错误和崩溃

时间:2012-10-13 07:09:05

标签: android oracle classnotfoundexception

我是Oracle数据库移动服务器的新手。接下来是here&的官方教程和文档。 here。我从here下载了Oracle Mobile服务器。 按照教程,

  • 我安装了MDK
  • 从目录<MDK_ROOT>\Mobile\Sdk\samples\Sync\android\simple_sync_android
  • 打开示例项目
  • 完成了Java Build Path练习
  • 没有错误出现在日食中。
  • 然后我选择了RUN AS -> Android application

显示模拟器和控制台显示安装成功......到目前为止一切顺利。

10-13 11:58:07.588: E/AndroidRuntime(654): FATAL EXCEPTION: main
10-13 11:58:07.588: E/AndroidRuntime(654): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{tests.sync/tests.sync.MainAct}: java.lang.ClassNotFoundException: tests.sync.MainAct
10-13 11:58:07.588: E/AndroidRuntime(654):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1983)
10-13 11:58:07.588: E/AndroidRuntime(654):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
10-13 11:58:07.588: E/AndroidRuntime(654):  at android.app.ActivityThread.access$600(ActivityThread.java:130)
10-13 11:58:07.588: E/AndroidRuntime(654):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
10-13 11:58:07.588: E/AndroidRuntime(654):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-13 11:58:07.588: E/AndroidRuntime(654):  at android.os.Looper.loop(Looper.java:137)
10-13 11:58:07.588: E/AndroidRuntime(654):  at android.app.ActivityThread.main(ActivityThread.java:4745)
10-13 11:58:07.588: E/AndroidRuntime(654):  at java.lang.reflect.Method.invokeNative(Native Method)
10-13 11:58:07.588: E/AndroidRuntime(654):  at java.lang.reflect.Method.invoke(Method.java:511)
10-13 11:58:07.588: E/AndroidRuntime(654):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-13 11:58:07.588: E/AndroidRuntime(654):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-13 11:58:07.588: E/AndroidRuntime(654):  at dalvik.system.NativeStart.main(Native Method)
10-13 11:58:07.588: E/AndroidRuntime(654): Caused by: java.lang.ClassNotFoundException: tests.sync.MainAct
10-13 11:58:07.588: E/AndroidRuntime(654):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
10-13 11:58:07.588: E/AndroidRuntime(654):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
10-13 11:58:07.588: E/AndroidRuntime(654):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
10-13 11:58:07.588: E/AndroidRuntime(654):  at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
10-13 11:58:07.588: E/AndroidRuntime(654):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)
10-13 11:58:07.588: E/AndroidRuntime(654):  ... 11 more

我检查了清单......这里是:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="tests.sync"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainAct"
                  android:label="@string/app_name"
                  android:configChanges="orientation" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".TextFileEditor"
                  android:label="@string/app_name"
                  android:configChanges="orientation" >                  
        </activity>        

        <service android:name="oracle.opensync.syncagent.android.SyncAgentService"></service>
    </application>    

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

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BATTERY_STATS" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

</manifest> 

我可以看到那里列出的所有活动(只有两个类来自活动,一个是启动器类型)。我在代码中没有做任何事情。它就是从Oracle那里得到的。

我试图通过Android设备与我的oracle企业数据库建立无风险的数据连接。这导致我进入Oracle数据库移动服务器。起点本身就停留在这里。

欢迎各种建议和指导。

1 个答案:

答案 0 :(得分:0)

得到答案:-) 我在这里分享它,期待它对像我这样的其他新手有所帮助..

问题在于我们从oracle主文件夹导入的jar文件的顺序。 我必须执行以下操作来解决此问题:

  • 在Eclipse中,转到“项目属性”
  • 选择Java Build Path
  • 单击“订购和导出”选项卡
  • 将“MOBILE_SYNC_ANDROID_LIB”条目向上移动直至它位于正下方 / simple / sync_android / src entry
  • 现在重建并
这对我有用。 可以从DoubleA编写的简单博客中获取更多信息。 Here is the link