抛出java.lang.ClassNotFoundException当从APK安装应用程序 [英] java.lang.ClassNotFoundException when install app from APK
问题描述
我在下面说明的错误,出现这种症状:
- 在一个设备上的APK安装该应用程序直接。
- 在通过Play商店下载的应用程序
错误鸵鸟政策出现这种症状:
- 通过Eclipse的pressing的运行按钮,安装APK
了java.lang.RuntimeException:无法实例活动ComponentInfo {my.package / my.package.MainActivity}:
抛出java.lang.ClassNotFoundException:my.package.MainActivity
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1998) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2099) 在android.app.ActivityThread.access $ 600(ActivityThread.java:138) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1205) 在android.os.Handler.dispatchMessage(Handler.java:99) 在android.os.Looper.loop(Looper.java:137) 在android.app.ActivityThread.main(ActivityThread.java:4929) 在java.lang.reflect.Method.invokeNative(本机方法) 在java.lang.reflect.Method.invoke(Method.java:511) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:798) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565) 在dalvik.system.NativeStart.main(本机方法) 致:抛出java.lang.ClassNotFoundException:my.package.MainActivity 在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 在java.lang.ClassLoader.loadClass(ClassLoader.java:501) 在java.lang.ClassLoader.loadClass(ClassLoader.java:461) 在android.app.Instrumentation.newActivity(Instrumentation.java:1056) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1989) ... 11更多
要导出APK我一如既往,从使用导出向导来导出并签署APK
任何想法,因为它发生在APK但不直接从日食?
是由我产生上述错误。但用户的报告有所不同:
用户1:
了java.lang.RuntimeException:无法实例活动 ComponentInfo {my.package / my.package.MainActivity}: 抛出java.lang.ClassNotFoundException:没有找到类 在路径my.package.MainActivity:DexPathList [dexElements = [zip文件 /data/app/my.package-1.apk"],nativeLibraryDirectories=[/data/app-lib/my.package-1, /供应商/ lib中/系统/ lib目录]]
用户2:
了java.lang.RuntimeException:无法实例活动 ComponentInfo {my.package / my.package.MainActivity}: 抛出java.lang.ClassNotFoundException:没有找到类 在路径my.package.MainActivity:DexPathList [zip文件 /data/app/my.package-1.apk"],nativeLibraryDirectories=[/data/app-lib/my.package-1, /供应商/ lib中/系统/ lib目录]]
清单:
< XML版本=1.0编码=UTF-8&GT?; <舱单 的xmlns:机器人=http://schemas.android.com/apk/res/android 包=my.package 安卓版code =12 机器人:VERSIONNAME =2.3> <用途-SDK 安卓的minSdkVersion =9 机器人:targetSdkVersion =21/> <应用 机器人:allowBackup =真 机器人:图标=@可绘制/运动 机器人:标签=@字符串/ APP_NAME 机器人:largeHeap =真 机器人:主题=@风格/ Theme.AppCompat.Light> <活动 机器人:名称=my.package.MainActivity 机器人:标签=@字符串/ APP_NAME> <意向滤光器> <作用机器人:名称=android.intent.action.MAIN/> <类机器人:名称=android.intent.category.LAUNCHER/> &所述; /意图滤光器> < /活性GT; <活动机器人:名称=my.package.AlarmsListActivity 机器人:主题=@风格/ dialogTheme/> <活动机器人:名称=my.package.ImagenesActivity/> <活动机器人:名称=my.package.EndActivity/> < /用途> < /舱单>
我用MainActivity以下库
这是你的错误:
了java.lang.RuntimeException:无法实例活动ComponentInfo {my.package / my.package.MainActivity}:抛出java.lang.ClassNotFoundException:没有找到类my.package .MainActivity的路径:DexPathList [dexElements = [zip文件/data/app/my.package-1.apk"],nativeLibraryDirectories=[/data/app-lib/my.package-1,/供应商/ lib下, /系统/ lib目录]
的解决方法:的
您已经添加了库项目作为参考,您的项目,也可能是你加jar文件 ChartView
和支持-V7
在库
文件夹中,也可以作为一个添加外部JAR
。所以,你必须启用这两个复选框 Android的支持 - v7.jar
文件和 chartview罐
文件中的订单和出口菜单
。
有关它的路径是,
项目 - 右键 - 属性 - Java构建路径 - 订购和导出功能。
最后,你需要清理和运行项目。
The error I describe below, occurs when:
- Install the app on a device directly from the APK.
- Download the app by Play Store
The error don´t occurs when:
- Install apk through Eclipse pressing the 'run' button
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{my.package/my.package.MainActivity}:
java.lang.ClassNotFoundException: my.package.MainActivity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1998) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2099) at android.app.ActivityThread.access$600(ActivityThread.java:138) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4929) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ClassNotFoundException: my.package.MainActivity at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) at java.lang.ClassLoader.loadClass(ClassLoader.java:501) at java.lang.ClassLoader.loadClass(ClassLoader.java:461) at android.app.Instrumentation.newActivity(Instrumentation.java:1056) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1989) ... 11 more
To export the APk I do as always, from "Use the Export Wizard to export and sign an APK"
Any idea because it occurs from the APK but not directly from eclipse?
The above error is generated by me. But reports of users are somewhat different:
User1:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{my.package/my.package.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "my.package.MainActivity" on path: DexPathList[dexElements=[zip file "/data/app/my.package-1.apk"],nativeLibraryDirectories=[/data/app-lib/my.package-1, /vendor/lib, /system/lib]]
User2:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{my.package/my.package.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "my.package.MainActivity" on path: DexPathList[[zip file "/data/app/my.package-1.apk"],nativeLibraryDirectories=[/data/app-lib/my.package-1, /vendor/lib, /system/lib]]
Manifest:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="my.package" android:versionCode="12" android:versionName="2.3" > <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="21" /> <application android:allowBackup="true" android:icon="@drawable/motion" android:label="@string/app_name" android:largeHeap="true" android:theme="@style/Theme.AppCompat.Light" > <activity android:name="my.package.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="my.package.AlarmsListActivity" android:theme="@style/dialogTheme"/> <activity android:name="my.package.ImagenesActivity"/> <activity android:name="my.package.EndActivity" /> </application> </manifest>
I use the following libraries in MainActivity
This is your error:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{my.package/my.package.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "my.package.MainActivity" on path: DexPathList[dexElements=[zip file "/data/app/my.package-1.apk"],nativeLibraryDirectories=[/data/app-lib/my.package-1, /vendor/lib, /system/lib]]
Solution:
You have added library project as a reference to your project and also may be you have added jar files for ChartView
and support-v7
in your libs
folder and also as a Add External Jars
. So you have to enable both checkboxes for android-support-v7.jar
file and for chartview jar
file in order and export menu
.
The path for it is,
Project - Right Click - Properties - Java Build Path - Order and Export Menu.
Finally you need to clean and run your project.
这篇关于抛出java.lang.ClassNotFoundException当从APK安装应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!