java - 使用 Android 应用程序运行 JAR MainActivity

标签 java android eclipse

美好的一天!

我有一个包含 MainActivity 的 JAR 文件。我创建了一个新的 Android 应用程序来测试 Intent 代码。下面是我的按钮代码。

public void doSomething(View v) {
    Intent i = new Intent(this, com.testing1234.apptest.MainActivity.class);
    startActivity(i);
}

com.testing1234.apptest 是我的 JAR 文件。当我尝试运行它时,会显示第一个带有按钮的表单。单击按钮运行 JAR 文件后,应用程序终止。

在 logcat 上显示错误“找不到类 'com.testing1234.apptest.MainActivity'”

或者这并非不可能?我确实确保将 JAR 文件包含在我的项目中。请帮我。请随时向我提供一些有关这方面的有用提示。谢谢。

编辑:

我用另一个 JAR 文件尝试了它,下面是我的 list :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.wodota.test123"
    android:versionCode="1"
    android:versionName="1.0" >

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

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.viva.demo.MainActivity" />         
</application>


</manifest>

编辑2:Logcat

08-19 19:17:30.940: D/dalvikvm(26519): VFY: replacing opcode 0x1c at 0x0002
08-19 19:17:30.950: D/dalvikvm(2614): GC_EXPLICIT freed <1K, 27% free 6422K/8771K, paused 0ms+0ms
08-19 19:17:30.950: D/dalvikvm(2614): GC_EXPLICIT freed <1K, 27% free 6422K/8771K, paused 0ms+0ms
08-19 19:17:30.960: W/InputManagerService(2624): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@b32849d0 (uid=1000 pid=26271)
08-19 19:17:30.970: I/PGA(26519): New SOCKET connection: .wodota.test123 (pid 26519, tid 26519)
08-19 19:17:30.980: I/ActivityManager(2624): Displayed com.wodota.test123/.MainActivity: +80ms
08-19 19:17:33.660: E/InputDispatcher(2624): Motion event has invalid pointer count 0; value must be between 1 and 16.
08-19 19:17:33.730: E/InputDispatcher(2624): Motion event has invalid pointer count 0; value must be between 1 and 16.
08-19 19:17:33.730: D/AndroidRuntime(26519): Shutting down VM
08-19 19:17:33.730: W/dalvikvm(26519): threadid=1: thread exiting with uncaught exception (group=0xb2c63180)
08-19 19:17:33.730: D/BstCommandProcessor-Application(2806): Application crash has been observed. 
08-19 19:17:33.730: I/Process(26519): Sending signal. PID: 26519 SIG: 9
08-19 19:17:33.730: D/AndroidRuntime(26519): procName from cmdline: com.wodota.test123
08-19 19:17:33.730: E/AndroidRuntime(26519): in writeCrashedAppName, pkgName :com.wodota.test123
08-19 19:17:33.730: D/AndroidRuntime(26519): file written successfully with content: com.wodota.test123 StringBuffer : ;com.wodota.test123
08-19 19:17:33.730: E/AndroidRuntime(26519): FATAL EXCEPTION: main
08-19 19:17:33.730: E/AndroidRuntime(26519): java.lang.IllegalStateException: Could not execute method of the activity
08-19 19:17:33.730: E/AndroidRuntime(26519):    at android.view.View$1.onClick(View.java:3044)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at android.view.View.performClick(View.java:3511)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at android.view.View$PerformClick.run(View.java:14105)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at android.os.Handler.handleCallback(Handler.java:605)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at android.os.Handler.dispatchMessage(Handler.java:92)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at android.os.Looper.loop(Looper.java:137)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at android.app.ActivityThread.main(ActivityThread.java:4424)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at java.lang.reflect.Method.invokeNative(Native Method)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at java.lang.reflect.Method.invoke(Method.java:511)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:592)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at dalvik.system.NativeStart.main(Native Method)
08-19 19:17:33.730: E/AndroidRuntime(26519): Caused by: java.lang.reflect.InvocationTargetException
08-19 19:17:33.730: E/AndroidRuntime(26519):    at java.lang.reflect.Method.invokeNative(Native Method)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at java.lang.reflect.Method.invoke(Method.java:511)
08-19 19:17:33.730: E/AndroidRuntime(26519):    at android.view.View$1.onClick(View.java:3039)
08-19 19:17:33.730: E/AndroidRuntime(26519):    ... 11 more
08-19 19:17:33.730: E/AndroidRuntime(26519): Caused by: java.lang.NoClassDefFoundError: com.viva.demo.MainActivity
08-19 19:17:33.730: E/AndroidRuntime(26519):    at com.wodota.test123.MainActivity.doSomething(MainActivity.java:26)
08-19 19:17:33.730: E/AndroidRuntime(26519):    ... 14 more
08-19 19:17:33.740: I/WindowManager(2624): WIN DEATH: Window{b341f500 com.wodota.test123/com.wodota.test123.MainActivity paused=false}
08-19 19:17:33.740: I/ActivityManager(2624): Process com.wodota.test123 (pid 26519) has died.
08-19 19:17:33.740: W/ActivityManager(2624): Force removing ActivityRecord{b30ace88 com.wodota.test123/.MainActivity}: app died, no saved state
08-19 19:17:33.740: D/ActivityManager(2624): TopActivityInfo, pkgName: com.android.settings activityName: com.android.settings/.Settings  bstSpecialAppKeyboardHandlingEnabled = false
08-19 19:17:33.740: D/ActivityManager(2624): Showing guidance for pkgName: com.android.settings
08-19 19:17:33.750: V/AudioHardware(515): open playback normal
08-19 19:17:33.750: V/AudioHardware(515): write() wakeup setting route SPK
08-19 19:17:33.750: D/GuidanceScreen(2777): hiding guidance
08-19 19:17:33.750: D/GuidanceScreen(2777): event === app_launch
08-19 19:17:33.750: D/GuidanceScreen(2777): hardKeyboard = 1
08-19 19:17:33.750: D/GuidanceScreen(2777): controllerType === DualAction
08-19 19:17:33.750: D/GuidanceScreen(2777): appName: Settings, currentPkg: com.android.settings, event: app_launch, controller: DualAction
08-19 19:17:33.750: D/GuidanceScreen(2777): appName: Settings
08-19 19:17:33.750: D/GuidanceScreen(2777): no guidance for com.android.settings.
08-19 19:17:33.770: I/ManageApplications(26271): onCreateOptionsMenu in ManageApplications{b3502558 #1 id=0x10202d4}: com.android.internal.view.menu.MenuBuilder@b3549888
08-19 19:17:33.780: D/VoldCmdListener(507): asec fspath air.com.playtika.slotomania-2
08-19 19:17:33.780: W/InputManagerService(2624): Got RemoteException sending setActive(false) notification to pid 26519 uid 10055
08-19 19:17:33.790: D/VoldCmdListener(507): asec fspath com.igg.bzbee.slotsdeluxe-2
08-19 19:17:33.790: D/VoldCmdListener(507): asec fspath com.kingsky.moto3dAndroid-1
08-19 19:17:36.770: D/AudioHardware(515): AudioHardware pcm playback is going to standby.
08-19 19:17:42.290: W/ActivityManager(2624): Activity destroy timeout for ActivityRecord{b319b598 com.android.packageinstaller/.UninstallAppProgress}
08-19 19:17:43.860: I/ActivityManager(2624): No longer want com.google.android.partnersetup (pid 26421): hidden #9
08-19 19:17:45.640: D/Finsky(26435): [1] 5.onFinished: Installation state replication succeeded.
08-19 19:18:20.210: D/dalvikvm(3343): GC_CONCURRENT freed 1914K, 40% free 6446K/10691K, paused 0ms+0ms

最佳答案

您需要将 Activity 添加到 list 中。您想要运行的每个 Activity 都必须添加到 list 中。

添加此:

<activity android:name="com.testing1234.apptest.MainActivity" /> 

关于java - 使用 Android 应用程序运行 JAR MainActivity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25381022/

相关文章:

java - 是否可以在一种方法中获取锁并从另一种方法中释放它?

java - 如何选择包含前一个单词的单词?

android - addView 不起作用(RelativeLayout)

java - Android,关于服务绑定(bind)的快速问题

Android - 使用 AlertDialog 时上下文为空

java - 我的第一个小程序无法在浏览器中加载

java - 尝试从 SQLiteOpenHelper 检索数据时出现 Android NullpointerException

java - Batik - 修改和保存 SVG 导致 XML 格式不正确

java - 在 war 中的所有文件中搜索字符串

java - 全局对象的成员变量也应该设为全局吗?