Android Studio在2.2.2更新时无法识别应用程序名称

时间:2016-11-29 02:34:33

标签: java android android-studio firebase android-studio-2.2

我最近将Android Studio更新到版本2.2.2,并且遇到了一些问题,其中我的应用程序名称不再在清单中被识别。我还根据位于here的文档

迁移到新的Firebase SDK

enter image description here

我不确定原因,但一直在阅读有关多索引作为与此错误相关的组件之一。我也收到了一个运行时错误,我认为这也与问题有关:

--------- beginning of crash
11-28 20:29:06.313 10163-10163/com.troychuinard.fanpolls E/AndroidRuntime: FATAL EXCEPTION: main
       Process: com.troychuinard.fanpolls, PID: 10163
       java.lang.RuntimeException: Unable to instantiate application com.troychuinard.fanpolls.FanPollsApplication: java.lang.ClassNotFoundException: Didn't find class "com.troychuinard.fanpolls.FanPollsApplication" on path: DexPathList[[zip file "/data/app/com.troychuinard.fanpolls-1/base.apk"],nativeLibraryDirectories=[/data/app/com.troychuinard.fanpolls-1/lib/x86, /vendor/lib, /system/lib]]
       at android.app.LoadedApk.makeApplication(LoadedApk.java:578)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4680)
       at android.app.ActivityThread.-wrap1(ActivityThread.java)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:148)
       at android.app.ActivityThread.main(ActivityThread.java:5417)
       at java.lang.reflect.Method.invoke(Native Method)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.troychuinard.fanpolls.FanPollsApplication" on path: DexPathList[[zip file "/data/app/com.troychuinard.fanpolls-1/base.apk"],nativeLibraryDirectories=[/data/app/com.troychuinard.fanpolls-1/lib/x86, /vendor/lib, /system/lib]]
       at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
       at android.app.Instrumentation.newApplication(Instrumentation.java:981)
       at android.app.LoadedApk.makeApplication(LoadedApk.java:573)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4680) 
       at android.app.ActivityThread.-wrap1(ActivityThread.java) 
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405) 
       at android.os.Handler.dispatchMessage(Handler.java:102) 
       at android.os.Looper.loop(Looper.java:148) 
       at android.app.ActivityThread.main(ActivityThread.java:5417) 
       at java.lang.reflect.Method.invoke(Native Method) 
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
        Suppressed: java.lang.ClassNotFoundException: com.troychuinard.fanpolls.FanPollsApplication
       at java.lang.Class.classForName(Native Method)
       at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
       at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
            ... 12 more
    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

的build.gradle

apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion '25.0.1'


defaultConfig {
    vectorDrawables.useSupportLibrary = true
    applicationId "com.troychuinard.fanpolls"
    minSdkVersion 16
    targetSdkVersion 24
    multiDexEnabled true
    versionCode 1
    versionName "1.0"
}


buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

packagingOptions {
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE-FIREBASE.txt'
    exclude 'META-INF/NOTICE'
  }
}
repositories {
maven { url "https://jitpack.io" }
 }

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.firebase:firebase-core:9.6.1'
compile 'com.google.firebase:firebase-database:9.6.1'
compile 'com.google.firebase:firebase-auth:9.6.1'
compile 'jp.wasabeef:recyclerview-animators:2.2.3'
compile 'com.github.clans:fab:1.6.2'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile 'com.android.support:cardview-v7:24.1.1'
compile 'com.android.support:appcompat-v7:24.1.1'
compile 'com.android.support:recyclerview-v7:24.1.1'
compile 'com.android.support:design:24.1.1'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.facebook.android:facebook-android-sdk:4.6.0'
compile 'com.google.android.gms:play-services-auth:9.6.1'
compile 'org.twitter4j:twitter4j-core:4.0.2'
compile 'com.android.support:support-v4:24.1.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.squareup.okhttp3:okhttp:3.1.2'
compile 'com.github.PhilJay:MPAndroidChart:v2.2.2'
compile 'com.google.android.gms:play-services-appindexing:9.6.1'
compile 'com.google.code.gson:gson:2.6.2'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.3.0'
compile 'com.android.support:multidex:1.0.1'
 }

apply plugin: 'com.google.gms.google-services'

这是我的目录结构:

enter image description here

感谢任何帮助或建议!

2 个答案:

答案 0 :(得分:1)

我认为当你添加firebase时,你的应用程序超过64k方法,你需要关注这个关于MultiDex的链接

https://developer.android.com/studio/build/multidex.html

答案 1 :(得分:1)

由于您没有课程com.troychuinard.fanpolls.FanPollsApplication,只需删除属性name='.FanPollsApplication'即可。它将使用标准android.app.Application代替。