为什么应用程序崩溃显示错误?

时间:2017-10-27 06:26:26

标签: android manifest

应用程序的安装和操作工作正常,但在我再次安装应用程序到设备后升级到最新的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>

4 个答案:

答案 0 :(得分:0)

您可以在Android Studio中禁用“即时运行”选项吗? 选择文件 - &gt;设置 - &gt;构建,执行,部署 - &gt;即时运行。尝试清理项目并重建并运行应用程序。

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

经过大量研究后,我通过向manifest.xml添加android:name="android.support.multidex.MultiDexApplication"解决了我的问题 通过在build.gradle中启用multiDex

defaultConfig { .... multiDexEnabled true }