抛出java.lang.ClassNotFoundException当从APK安装应用程序 [英] java.lang.ClassNotFoundException when install app from APK

查看:312
本文介绍了抛出java.lang.ClassNotFoundException当从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:机器人=htt​​p://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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆