【问题标题】:Android.mk jar file import java.lang.Error: packaging failure: java.lang.ClassNotFoundExceptionAndroid.mk jar 文件导入 java.lang.Error: 打包失败: java.lang.ClassNotFoundException
【发布时间】:2018-09-06 01:35:06
【问题描述】:

我最近开始在 AOSP 中进行 android 应用程序开发,并遇到了一项为手动测试场景获取代码覆盖率的议程。我遇到了使用 emma.jar 库来完成相同操作的选项。但是当我使用相同的 jar 文件作为我的 Android AOSP 项目的一部分时,库被添加并且编译成功。在运行时,当我尝试访问函数时,应用程序崩溃并出现以下错误

致命异常:主要 进程:com.panasonic.dairse.logger.loggerapp,PID:4843 java.lang.Error:打包失败:类 [com.vladium.logging.ILogLevels] 未找到 {java.lang.ClassNotFoundException: com.vladium.logging.ILogLevels}

【问题讨论】:

    标签: java android emma android.mk


    【解决方案1】:

    请检查您的 emma 的 proguard 规则。

    -keep class com.vladium.** {
        *;
    }
    

    【讨论】:

    • 我没有任何 progaurd 文件,是否必须添加一个并提及才能保留课程?
    • 根据您的建议,我已尝试添加 progaurd.files,但仍然存在相同的错误。
    【解决方案2】:

    请将此添加到您的“Manifest.xml”中

     <application.....>
     //add this line
     <activity name = "com.vladium.logging.ILogLevels">
     </application>
    

    【讨论】:

    • 该类是 jar 库的一部分。因此,类在应用程序的每次执行中都会发生变化。稍后使用类名“com.vladium.utils.IntSet”生成类似的错误
    • 在这种情况下,您必须检查您的 jar 库的较新版本,或联系提供者
    • 这个库是 android sdk 的一部分,也是 AOSP 源代码的一部分。我从 AOSP 源获得了该库。感谢您的建议,我将寻找同一库的更新版本。
    • 按照建议,我尝试使用最新的在线版本 emma-2.1.5320.jar 以及来自 android AOSP 的可用 emma.jar。这两种情况我都有同样的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 2014-10-04
    相关资源
    最近更新 更多