【问题标题】:Why app is crashing showing error?为什么应用程序崩溃显示错误?
【发布时间】:2017-10-27 06:26:26
【问题描述】:

应用程序的安装和运行正常,但升级到最新的 android 3.0 后,当我再次将应用程序安装到设备时,它在崩溃时显示以下错误。

谁能帮我解决这个错误。

Logcat 中的错误:

java.lang.RuntimeException: Unable to get provider android.support.v4.content.FileProvider: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.FileProvider" on path: DexPathList[[zip file "/data/app/community.infinity-1.apk"],nativeLibraryDirectories=[/data/app-lib/community.infinity-1, /vendor/lib, /system/lib, /system/lib/arm]]
                                                 at android.app.ActivityThread.installProvider(ActivityThread.java:5029)
                                                 at android.app.ActivityThread.installContentProviders(ActivityThread.java:4621)
                                                 at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4561)
                                                 at android.app.ActivityThread.access$1500(ActivityThread.java:139)
                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353)
                                                 at android.os.Handler.dispatchMessage(Handler.java:102)
                                                 at android.os.Looper.loop(Looper.java:149)
                                                 at android.app.ActivityThread.main(ActivityThread.java:5257)
                                                 at java.lang.reflect.Method.invokeNative(Native Method)
                                                 at java.lang.reflect.Method.invoke(Method.java:515)
                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
                                                 at dalvik.system.NativeStart.main(Native Method)
                                              Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.FileProvider" on path: DexPathList[[zip file "/data/app/community.infinity-1.apk"],nativeLibraryDirectories=[/data/app-lib/community.infinity-1, /vendor/lib, /system/lib, /system/lib/arm]]
                                                 at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                 at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
                                                 at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
                                                 at android.app.ActivityThread.installProvider(ActivityThread.java:5014)
                                                 at android.app.ActivityThread.installContentProviders(ActivityThread.java:4621) 
                                                 at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4561) 
                                                 at android.app.ActivityThread.access$1500(ActivityThread.java:139) 
                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353) 
                                                 at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                 at android.os.Looper.loop(Looper.java:149) 
                                                 at android.app.ActivityThread.main(ActivityThread.java:5257) 
                                                 at java.lang.reflect.Method.invokeNative(Native Method) 
                                                 at java.lang.reflect.Method.invoke(Method.java:515) 
                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609) 
                                                 at dalvik.system.NativeStart.main(Native Method) 

Manifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:anroid="http://schemas.android.com/apk/res-auto"
package="community.infinity">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
    android:configChanges="orientation|screenSize"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    >
    <activity android:name=".Login_Page"
        android:screenOrientation="portrait"
         >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Home_Screen"
        android:screenOrientation="portrait"
        />
    <activity android:name=".ProfileHolder"
        android:screenOrientation="portrait"/>
</application>

【问题讨论】:

  • 请分享您的 build.gradle 文件
  • 分享你的 build.gradle 文件
  • 也按照这个答案禁用即时运行选项:stackoverflow.com/a/44458490/6740130
  • Didn't find class "android.support.v4... 您缺少支持 v4 库

标签: android manifest


【解决方案1】:

能否请您禁用 Android Studio 中的 Instant Run 选项。 选择文件 -> 设置 -> 构建、执行、部署 -> 即时运行。尝试清理您的项目并重新构建并运行应用程序。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。如果清理和重建项目没有帮助,请打开 Build.Grade 文件并搜索可能导致问题的依赖项。在我的情况下,它是导致崩溃的自定义垂直搜索栏小部件。 如果以上都不起作用,请检查以下答案: Dex error On Android Studio 3.0 Beta4

    【讨论】:

      【解决方案3】:

      更新您的安卓 SDK。转到 SDK 独立管理器,在 Extras 选项卡中有 Android 支持库,如果安装了更新,否则安装它。还要更新你的 build.gradle 文件,并在 buildToolsVersion 中为 android 3.0 “写合适的版本”更新你的 gradle 版本,以对应 android 3.0。

      Android 插件 3.0.0 需要 Gradle 4.1 或更高版本。如果您使用 Android Studio 3.0 或更高版本打开现有项目,请按照提示自动将现有项目更新到兼容的 Gradle 版本。

      这将解决您的问题 :) 快乐编码 :)

      【讨论】:

        【解决方案4】:

        最后经过大量研究,我通过将android:name="android.support.multidex.MultiDexApplication" 添加到 manifest.xml 和 通过在 build.gradle 中启用 multiDex

        defaultConfig { .... multiDexEnabled true }

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-08-25
          • 1970-01-01
          • 2020-05-08
          • 2018-04-03
          • 2020-05-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多