TSR*_*TSR 11 java error-handling android compiler-errors android-studio
以前,我的程序运行良好.但是当我刚刚将我的Android工作室更新到最新版本(基于15-sept-16构建的2.2)时,我遇到以下错误.当我构建它时,它说:内置成功,但是当我运行程序时会出现此错误:
E/AndroidRuntime:FATAL EXCEPTION:main进程:com.example.androidtutorial,PID:28293 java.lang.RuntimeException:无法获取提供者com.google.firebase.provider.FirebaseInitProvider:java.lang.ClassNotFoundException:未找到类路径上的"com.google.firebase.provider.FirebaseInitProvider":DexPathList [[zip文件"/data/app/com.example.androidtutorial-2/base.apk"],nativeLibraryDirectories=[/data/app/com.example .androidtutorial-2/lib/x86,/ system/lib,/ vendor/lib]]在android.app.ActivityThread.installProvider(ActivityThread.java:5814)android.app.ActivityThread.installContentProviders(ActivityThread.java:5403)在android.app.ActivityThread.handleBindApplication(ActivityThread.java:5342)的android.app.ActivityThread.-wrap2(ActivityThread.java)android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1528)在android.os .Handler.dispatchMessage(Handler.java:102)位于android.app.ActivityThread.main的android.os.Looper.loop(Looper.java:154)(ActivityThread.java:6077)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865)的com.android.internal.os.ZygoteInit.main(ZygoteInit.)中的java.lang.reflect.Method.invoke(Native Method). java:755)引起:java.lang.ClassNotFoundException:在路径上找不到类"com.google.firebase.provider.FirebaseInitProvider":DexPathList [[zip file"/data/app/com.example.androidtutorial-2 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java)中的/base.apk"],nativeLibraryDirectories=[/data/app/com.example.androidtutorial-2/lib/x86,/ system/lib,/ vendor/lib]] :56)在java.lang.ClassLoader.loadClass(ClassLoader.java:380)java.lang.ClassLoader.loadClass(ClassLoader.java:312)at android.app.ActivityThread.installProvider(ActivityThread.java:5799)at android android.app.A活动中的android.app.ActivityThread.handleBindApplication(ActivityThread.java:5342)上的.app.ActivityThread.installContentProviders(ActivityThread.java:5403)位于android.app.ActivityThre的android.app.ActivityThread.-wrap2(ActivityThread.java)ad.H.handleMessage(ActivityThread.java:1528)位于android.app.A.运行时,Android.A.Ra上运行android.os.Handler.Mopage(Handler.java:102),位于android.app.ActivityThread.main的android.os.Looper.loop(Looper.java:154) (ActivityThread.java:6077)位于com.android.internal.os的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865)的java.lang.reflect.Method.invoke(Native Method) .ZygoteInit.main(ZygoteInit.java:755)
我已经看过其他问题,但问题不一样了.我究竟做错了什么?请帮忙
Gar*_*g's 16
在app模块build.gradle中
android {
...
defaultConfig {
multiDexEnabled true
...
}
}
dependencies {
// add dependency
compile 'com.android.support:multidex:1.0.1'
}
Run Code Online (Sandbox Code Playgroud)
在AndroidManifest.xml中更改名称
<application
....
android:name=".MyApplication">
// ...
</application>
Run Code Online (Sandbox Code Playgroud)
创建一个MyApplication.java文件
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅此链接.
Chi*_*inh 10
看来你有超过64K方法的问题,然后尝试multiDexEnabled true在build.gradle(app模块)中解决它.但是你需要添加以下内容:
add:compile 'com.android.support:multidex:1.0.0'在build.gradle的依赖项中
将Application类扩展为MultiDexApplication.添加MultiDex.install(this);在onCreated应用程序类的方法.
你的问题应该得到解决
参考链接:https://developer.android.com/studio/build/multidex.html
| 归档时间: |
|
| 查看次数: |
19796 次 |
| 最近记录: |