久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Android:運行時在 Lollipop 上而不是 IceCreamSandwich 上

Android : app loading library at runtime on Lollipop but not IceCreamSandwich(Android:運行時在 Lollipop 上而不是 IceCreamSandwich 上的應用程序加載庫)
本文介紹了Android:運行時在 Lollipop 上而不是 IceCreamSandwich 上的應用程序加載庫的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我目前正在使用 Android Studio 開發一個 Android 應用.目前,該應用程序在 Lollipop 設備上完美啟動,但由于在預棒棒糖設備上出現 ClassNotFoundException 而在啟動時崩潰(我已經在 ICS 上進行了測試,但它失敗了).

I'm currently developping an Android app using Android Studio. Currently, the app is launching perfectly on Lollipop devices, but crashes at launch due to a ClassNotFoundException on pre-lollipop devices (i've tested on ICS and it fail).

缺少的類在運行時總是來自外部庫.

The missing class is always from an external librairies at runtime.

這是 gradle 文件:

Here's the gradle file :

    buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.0'
    defaultConfig {
        applicationId 'com.kappsports.kapp10'
        minSdkVersion 18
        targetSdkVersion 23
        versionCode 1
        versionName '1.0.0'
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            shrinkResources true
        }
    }
    lintOptions {
        abortOnError false
    }
    dexOptions {
        incremental true
        javaMaxHeapSize '4g'
    }
}

repositories {
    mavenCentral()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
    maven { url 'https://maven.fabric.io/public' }
    jcenter()
}

dependencies {
    compile fileTree(dir: 'libs', exclude: 'android-support-v4.jar', include: '*.jar')
    compile('com.crashlytics.sdk.android:crashlytics:2.5.1@aar') {
        transitive = true;
    }
    compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
    compile 'com.github.johnpersano:supertoasts:1.3.4@aar'
    compile 'com.google.code.gson:gson:2.3'
    compile 'com.squareup:otto:1.3.5'
    compile 'com.makeramen:roundedimageview:1.3.0'
    compile 'com.jakewharton:butterknife:6.0.0'
    compile 'com.malinskiy:superrecyclerview:1.0.0'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.jpardogo.materialtabstrip:library:1.0.9'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
    compile 'com.squareup.okhttp:okhttp:2.4.0'
    compile 'org.buraktamturk:loadingview:1.0.0@aar'
    compile 'com.facebook.android:facebook-android-sdk:4.1.0'
    compile 'com.github.navasmdc:MaterialDesign:1.5@aar'
    compile 'net.danlew:android.joda:2.8.2'
    //noinspection GradleCompatible
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.google.android.gms:play-services:7.5.0'
    //noinspection GradleCompatible
    compile 'com.android.support:recyclerview-v7:22.2.1'

}

這是 logcat 輸出的一部分:

Here is a shunk of logcat output :

> 09-06 23:25:58.414  27436-27436/? W/dalvikvm﹕ Link of class
> 'Lio/fabric/sdk/android/InitializationTask;' failed 09-06 23:25:58.414
> 27436-27436/? E/dalvikvm﹕ Could not find class
> 'io.fabric.sdk.android.InitializationTask', referenced from method
> io.fabric.sdk.android.Kit.<init> 09-06 23:25:58.414  27436-27436/?
> W/dalvikvm﹕ VFY: unable to resolve new-instance 8228
> (Lio/fabric/sdk/android/InitializationTask;) in
> Lio/fabric/sdk/android/Kit; 09-06 23:25:58.414  27436-27436/?
> D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x0003 09-06 23:25:58.414 
> 27436-27436/? W/dalvikvm﹕ Unable to resolve superclass of
> Lio/fabric/sdk/android/InitializationTask; (8269) 09-06 23:25:58.414 
> 27436-27436/? W/dalvikvm﹕ Link of class
> 'Lio/fabric/sdk/android/InitializationTask;' failed 09-06 23:25:58.414
> 27436-27436/? W/dalvikvm﹕ Unable to resolve superclass of
> Lio/fabric/sdk/android/InitializationTask; (8269) 09-06 23:25:58.414 
> 27436-27436/? W/dalvikvm﹕ Link of class
> 'Lio/fabric/sdk/android/InitializationTask;' failed 09-06 23:25:58.414
> 27436-27436/? I/dalvikvm﹕ Could not find method
> io.fabric.sdk.android.InitializationTask.getDependencies, referenced
> from method io.fabric.sdk.android.Kit.getDependencies 09-06
> 23:25:58.414  27436-27436/? W/dalvikvm﹕ VFY: unable to resolve virtual
> method 57413:
> Lio/fabric/sdk/android/InitializationTask;.getDependencies
> ()Ljava/util/Collection; 09-06 23:25:58.414  27436-27436/? D/dalvikvm﹕
> VFY: replacing opcode 0x6e at 0x0002 09-06 23:25:58.414  27436-27436/?
> W/dalvikvm﹕ VFY: unable to find class referenced in signature
> (Lio/fabric/sdk/android/services/common/IdManager;) 09-06 23:25:58.414
> 27436-27436/? W/dalvikvm﹕ Unable to resolve superclass of
> Lio/fabric/sdk/android/InitializationTask; (8269) 09-06 23:25:58.414 
> 27436-27436/? W/dalvikvm﹕ Link of class
> 'Lio/fabric/sdk/android/InitializationTask;' failed 09-06 23:25:58.414
> 27436-27436/? W/dalvikvm﹕ Unable to resolve superclass of
> Lio/fabric/sdk/android/InitializationTask; (8269) 09-06 23:25:58.414 
> 27436-27436/? W/dalvikvm﹕ Link of class
> 'Lio/fabric/sdk/android/InitializationTask;' failed 09-06 23:25:58.414
> 27436-27436/? I/dalvikvm﹕ Could not find method
> io.fabric.sdk.android.InitializationTask.executeOnExecutor, referenced
> from method io.fabric.sdk.android.Kit.initialize 09-06 23:25:58.414 
> 27436-27436/? W/dalvikvm﹕ VFY: unable to resolve virtual method 57412:
> Lio/fabric/sdk/android/InitializationTask;.executeOnExecutor
> (Ljava/util/concurrent/ExecutorService;[Ljava/lang/Object;)V 09-06
> 23:25:58.414  27436-27436/? D/dalvikvm﹕ VFY: replacing opcode 0x6e at
> 0x0011 09-06 23:25:58.414  27436-27436/? W/dalvikvm﹕ VFY: unable to
> find class referenced in signature
> (Lio/fabric/sdk/android/services/common/IdManager;) 09-06 23:25:58.419
> 27436-27436/? W/dalvikvm﹕ Unable to resolve superclass of
> Lio/fabric/sdk/android/InitializationTask; (8269) 09-06 23:25:58.419 
> 27436-27436/? W/dalvikvm﹕ Link of class
> 'Lio/fabric/sdk/android/InitializationTask;' failed 09-06 23:25:58.419
> 27436-27436/? D/dalvikvm﹕ DexOpt: unable to opt direct call 0xe03e at
> 0x05 in Lio/fabric/sdk/android/Kit;.<init> 09-06 23:25:58.419 
> 27436-27436/? D/AndroidRuntime﹕ Shutting down VM 09-06 23:25:58.419 
> 27436-27436/? W/dalvikvm﹕ threadid=1: thread exiting with uncaught
> exception (group=0x41bfb700) 09-06 23:25:58.419  27436-27436/?
> E/AndroidRuntime﹕ FATAL EXCEPTION: main
>     java.lang.NoClassDefFoundError: io.fabric.sdk.android.services.common.ExecutorUtils
>             at com.crashlytics.android.core.CrashlyticsCore.<init>(CrashlyticsCore.java:205)
>             at com.crashlytics.android.core.CrashlyticsCore$Builder.build(CrashlyticsCore.java:189)
>             at com.kappsports.kapp10.Kapp10Application.onCreate(Kapp10Application.java:53)
>             at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
>             at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4684)
>             at android.app.ActivityThread.access$1400(ActivityThread.java:159)
>             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1376)
>             at android.os.Handler.dispatchMessage(Handler.java:99)
>             at android.os.Looper.loop(Looper.java:176)
>             at android.app.ActivityThread.main(ActivityThread.java:5419)
>             at java.lang.reflect.Method.invokeNative(Native Method)
>             at java.lang.reflect.Method.invoke(Method.java:525)
>             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
>             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
>             at dalvik.system.NativeStart.main(Native Method) 09-06 23:25:58.424    2346-2891/? I/ActivityManager﹕ Notify an
> ApplicationCrash

我目前沒有解決方案.任何有關這方面的線索將不勝感激.

I'm currently out of solution for now. Any clue about that would be appreciated.

謝謝,問候.

推薦答案

1) 為您的應用添加多索引支持:

1) Add multidex support to your app:

compile 'com.android.support:multidex:1.0.1'

2) 將您的應用程序設置為 MultiDexApplication.選擇以下選項之一:

2) Set your application as a MultiDexApplication. Select one of the options below:

這是android的MultiDexApplication類的源碼:

This is the source code of android's MultiDexApplication class:

public class MultiDexApplication extends Application {
    public MultiDexApplication() {
    }

    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}

選項 1) 您可以從 MultiDexApplication 擴展您的自定義應用程序:

Option 1) You can extend your custom application from MultiDexApplication:

public class MyApplication extends MultiDexApplication {
    // Your application implementation here
}

選項 2) 您可以從默認的 Application 類擴展您的自定義應用程序,然后您需要在 調用 MultiDex.installattachBaseContext(Context base) 方法:

Option 2) You can extend your custom application from default Application class, then you need to call MultiDex.install at attachBaseContext(Context base) method:

public class MyApplication extends Application {

    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }

    // Your application implementation here
}

選項 3) 如果您沒有任何自定義應用程序并且您不想要任何應用程序,只需將您的應用程序名稱(在 AndroidManifest.xml 中)設置為 MultiDexApplication:

Option 3) If you don't have any custom application and you don't want any, simply set your application name (at AndroidManifest.xml) to MultiDexApplication:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.multidex.myapplication">
    <application
        ...
        android:name="android.support.multidex.MultiDexApplication">
        ...
    </application>
</manifest>

注意:如果您使用的是自定義應用程序類(參見 Option1 和 Option2),則必須已經設置了 application 標簽的 android:name到您的自定義應用程序類.

Note: If you are using a custom application class (see Option1 and Option2), application tag's android:name must already be set to your custom application class.

3)multiDexEnabled true 設置添加到您的 build.gradle 文件中:

3) Add multiDexEnabled true setting to your build.gradle file:

defaultConfig {
    // Other settings here
    multiDexEnabled true
}

更多信息.

這篇關于Android:運行時在 Lollipop 上而不是 IceCreamSandwich 上的應用程序加載庫的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

IncompatibleClassChangeError after updating to Android Build Tools 25.1.6 GCM / FCM(更新到 Android Build Tools 25.1.6 GCM/FCM 后出現 IncompatibleClassChangeError)
How to get current flavor in gradle(如何在 gradle 中獲取當前風味)
How to fix quot;unexpected element lt;queriesgt; found in lt;manifestgt;quot; error?(如何修復“意外元素lt;查詢gt;在“清單中找到錯誤?)
Multi flavor app based on multi flavor library in Android Gradle(基于 Android Gradle 中多風味庫的多風味應用)
Android dependency has different version for the compile and runtime(Android 依賴在編譯和運行時有不同的版本)
Transitive dependencies for local aar library(本地 aar 庫的傳遞依賴)
主站蜘蛛池模板: 久久大全 | 午夜精品在线 | 久久精品国产亚洲 | 欧美色视频免费 | 超碰在线国产 | 中文在线亚洲 | 日韩一区二区福利视频 | 99免费精品视频 | 国产精品永久 | 免费成人高清在线视频 | 综合二区 | 亚洲国产成人久久综合一区,久久久国产99 | 九九热国产视频 | 精品久久久久久国产 | 精品国产一区久久 | 国产一区二区在线免费观看 | 欧美一级黄视频 | 国产在线视频在线观看 | 免费在线色 | 中文字幕国产精品 | 一区二区精品 | 五月天婷婷狠狠 | 日韩欧美视频 | 久久福利电影 | 久久精品99久久 | 免费久久精品视频 | 久久国产成人精品国产成人亚洲 | 免费麻豆视频 | 人人艹人人 | 特黄毛片 | 一级毛片色一级 | 国产激情一区二区三区 | 91在线电影 | 欧美1—12sexvideos | 欧美在线资源 | 国产精品国产三级国产aⅴ原创 | 国产一区二区精品 | 欧美一级毛片在线播放 | 激情五月激情综合网 | 免费在线播放黄色 | 国内自拍第一页 |