【问题标题】:Is there a better way to recognize errors?有没有更好的方法来识别错误?
【发布时间】:2017-09-13 11:39:55
【问题描述】:

在一个项目上工作了大约一个月后,我的项目开始执行错误。每当我尝试通过电话运行程序时,它都会执行“应用程序停止工作”。我通过查看“android 监视器”来获利知道是谁导致了错误..(FATAL EXCEPTION: main):

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.app.programavima.java.javaprogramavimas.MainActivity" on path: DexPathList[[zip file "/data/app/com.app.programavima.java.javaprogramavimas-1/base.apk", zip file "/data/app/com.app.programavima.java.javaprogramavimas-1/split_lib_slice_7_apk.apk"],nativeLibraryDirectories=[/data/app/com.app.programavima.java.javaprogramavimas-1/lib/arm64, /vendor/lib64, /system/lib64]]

我是否缺少这些“base.apk”、“arm64”、“lib64”文件?也许是其他原因使我的应用程序执行错误?

每个帮助都会很高兴,我可以设法导入一些代码,因为我的项目中有很多文件

【问题讨论】:

  • 这个问题很可能出在多索引中。在此处阅读如何启用它:developer.android.com/studio/build/multidex.html
  • 异常是抱怨它找不到一个类,并告诉你它在哪里搜索...类文件在那个路径中吗?拼写正确吗?
  • 那些切片的 apk 是即时运行的结果。您可能安装了一个不完整的 apk,只进行了更改。进行干净的重建并通过工作室推送到设备。见stackoverflow.com/a/43383316/5948415

标签: android android-studio


【解决方案1】:

修改模块级 build.gradle 文件以启用 multidex 并将 multidex 库添加为依赖项,如下所示:

android {
    defaultConfig {
        ...
        minSdkVersion 15 
        targetSdkVersion 26
        multiDexEnabled true  // add this line
    }
    ...
}

dependencies {
  compile 'com.android.support:multidex:1.0.1'  // add this library
}

在您的清单更新中使用此代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp">
    <application
            android:name="android.support.multidex.MultiDexApplication" >  // add this line
        ...
    </application>
</manifest>

【讨论】:

  • 详细说明什么不起作用?您在项目中使用应用程序类吗?
  • 尝试清理并重建您的项目
猜你喜欢
  • 1970-01-01
  • 2021-04-06
  • 1970-01-01
  • 2018-08-22
  • 2011-08-06
  • 1970-01-01
  • 1970-01-01
  • 2019-01-12
相关资源
最近更新 更多