2017-07-18 79 views
1

我有一个奇怪的问题,即在我的项目中包含了一个类,所有内容都会生成,但是当它运行时会崩溃,说它找不到类。Android Studio在运行时无法找到类

进出口使用的SlidingUpPanelLayout

https://github.com/umano/AndroidSlidingUpPanel

这里是崩溃:

  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)  
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)  
     at dalvik.system.NativeStart.main(Native Method)  
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sothree.slidinguppanel.SlidingUpPanelLayout" on path: DexPathList[[zip file "/data/app/com.example.ns.app-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.ns.app-1, /vendor/lib, /system/lib]] 
     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
     at android.view.LayoutInflater.createView(LayoutInflater.java:559) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:469)  
     at android.view.LayoutInflater.inflate(LayoutInflater.java:397)  
     at android.view.LayoutInflater.inflate(LayoutInflater.java:353)  
     at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:288)  
     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  
     at com.example.ns.app.MainActivity.onCreate(MainActivity.java:92)  
     at android.app.Activity.performCreate(Activity.java:5133)  
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)  
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2227)  

这里是gradle这个:

apply plugin: 'com.android.application' 

    android { 
    compileSdkVersion 24 
    buildToolsVersion "23.0.3" 
    dexOptions { 
     javaMaxHeapSize "8g" 
    } 
    defaultConfig { 
     applicationId "com.example.ns.app" 
     minSdkVersion 16 
     targetSdkVersion 24 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
multiDexEnabled true 
    } 
    buildTypes { 
     release { 
    minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

    packagingOptions { 
     exclude 'META-INF/maven/commons-io/commons-io/pom.xml' 
     exclude 'META-INF/maven/commons-io/commons-io/pom.properties' 
    } 
    configurations.all { 
     resolutionStrategy.dependencySubstitution { 
      substitute module('org.apache.commons:commons-io:1.3.2') with  module('commons-io:commons-io:1.3.2') 
     } 
     } 
    } 



    dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',  { 
exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.android.support:design:24.2.1' 
    compile 'com.android.support:support-v4:24.2.1' 
    testCompile 'junit:junit:4.12' 
    compile 'com.github.amigold.fundapter:library:1.0' 
    compile 'org.osmdroid:osmdroid-android:5.6.4' 
    compile 'com.google.android.gms:play-services-location:9.6.1' 
    compile 'com.sothree.slidinguppanel:library:3.3.1' 
    compile 'org.apache.commons:commons-io:1.3.2' 
    compile 'com.google.android.gms:play-services:11.0.2' 
    } 
+0

尝试清洁 - 重建您的项目。还要尝试制作具有相同API级别的android支持库版本,targetSdkVersion和buidToolsVersion。 –

+0

我对它进行了大约一千次的清理并且出现了相同的问题,可能它与这个愚蠢的dalvik.system.BaseDexClassLoader –

+0

有关。Android编程就是这样一个自由的噩梦。我知道他们正在开发自动驾驶汽车,我敢肯定,如果这是谷歌开发软件的方式,那么那些开车的人肯定会死亡。 –

回答

0
defaultConfig { 
     applicationId "com.ignite.a01hw909350.kolamdemo" 
     minSdkVersion 17 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     ndk { 
      abiFilters "armeabi-v7a", "x86", "armeabi", "mips" 
     } 
    } 

添加您的build.gradle应用程序模块中的abiFilters。同步并清理您的项目

+0

sagar,谢谢,我试过了,但是当我在手机上运行它时,它仍然崩溃,但同样的东西在模拟器上运行而不会崩溃。但我注意到模拟器日志显示此警告“ClassLoader引用未知路径:/data/app/com.example.ns.app-2/lib/x86”我不知道什么是应用程序-2,这可能是错误。还有什么想法? –

+0

即使我有时会遇到这个问题。有时上述解决方案有效。但如果它不起作用,那么我们都在同一条船上航行。 –

+0

我讨厌android编程,它是我见过的最大的自由噩梦,一切都如此复杂,他们有万事万物的版本,只有上帝知道哪个版本适用于哪个版本。 Android工作室也是一个很大的噩梦,不能相信有这么多钱的公司可以制造这种低劣的产品! –

相关问题