2017-07-18 35 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工作室也是一個很大的噩夢,不能相信有這麼多錢的公司可以製造這種低劣的產品! –

相關問題