【问题标题】:Stickers Issue on Kitkat based Android Phones - QuickBlox SDK - Android基于 Kitkat 的 Android 手机上的贴纸问题 - QuickBlox SDK - Android
【发布时间】:2016-06-03 18:55:14
【问题描述】:

我正在开发一个 Android 应用程序,在这里我正在使用 QuickBlox Chat 开发聊天功能。到目前为止,我已经完成了文字、图像聊天。现在我在这里使用Stickers

应用程序在基于 Lollipop 的 Android 手机上运行良好,当我将它安装在基于 KitKat 的 Android 手机上时,它会在 Logcat 中出现以下错误。

这里是 LogCat 的详细信息:

    FATAL EXCEPTION: main
Process: com.musomeet, PID: 21520
java.lang.NoClassDefFoundError: vc908.stickerfactory.provider.b
at vc908.stickerfactory.provider.a.<init>(Unknown Source)
at vc908.stickerfactory.provider.a.d(Unknown Source)
at vc908.stickerfactory.provider.a.b(Unknown Source)
at vc908.stickerfactory.provider.a.a(Unknown Source)
at vc908.stickerfactory.provider.StickersProvider.a(Unknown Source)
at vc908.stickerfactory.provider.base.BaseContentProvider.onCreate(Unknown Source)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1638)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1609)
at android.app.ActivityThread.installProvider(ActivityThread.java:5008)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4582)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4522)
at android.app.ActivityThread.access$1500(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5292)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
at dalvik.system.NativeStart.main(Native Method)

构建.gradle:

    apply plugin: 'com.android.application'

repositories {
    mavenCentral()
    maven { url 'http://maven.stickerpipe.com/artifactory/stickerfactory' }
}

android {
    compileSdkVersion 23
    buildToolsVersion '22.0.1'

    defaultConfig {
        multiDexEnabled = false
        applicationId "com.xxx"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def newName = output.outputFile.name
                    newName = newName.replace("app-release", "XXXX") 

                    output.outputFile = new File(output.outputFile.parent, newName)
                }
            }
        }
        debug {

            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def newName = output.outputFile.name
                    newName = newName.replace("app-debug", "XXXX") 
                    output.outputFile = new File(output.outputFile.parent, newName)
                }
            }

        }
    }
}

repositories {
    maven {url "https://jitpack.io"}
}

dependencies {
    compile 'de.hdodenhof:circleimageview:1.2.1'
    compile 'com.android.support:recyclerview-v7:23.0.1'
    compile 'com.android.support:cardview-v7:23.0.1'
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:design:23.0.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
    compile 'me.drakeet.materialdialog:library:1.1.0'
    compile 'com.google.android.gms:play-services-gcm:7.5.0'
    compile 'com.google.apis:google-api-services-youtube:v3-rev152-1.20.0'
    compile 'com.google.code.gson:gson:2.3.1'
    compile 'com.squareup.retrofit:retrofit:1.8.0'
    compile 'com.wdullaer:materialdatetimepicker:2.1.0'
    compile('com.github.ozodrukh:CircularReveal:1.1.1@aar') { transitive = true; }
    compile files('libs/quickblox-android-sdk-chat-2.4.jar')
    compile files('libs/quickblox-android-sdk-content-2.4.jar')
    compile('vc908.stickers:stickerfactory:0.2.2@aar') {
        transitive = true;
    }
    compile files('libs/quickblox-android-sdk-messages-2.4.jar')
    compile files('libs/quickblox-android-sdk-core-2.4.jar')
    compile 'com.navercorp.pulltorefresh:library:3.2.3@aar'

    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.facebook.android:facebook-android-sdk:4.1.0'
    compile files('libs/androidsvg-1.2.2-beta-1.jar')
    compile files('libs/YouTubeAndroidPlayerApi.jar')
}

我访问了 Sticker 库和 Quickblox 的官方网站。我访问了许多 stackoverflow 帖子,但没有运气。

我不知道这个问题的确切解决方法。

请帮帮我。

【问题讨论】:

  • 尝试检查this answer。如果您有 multiDexEnabled = true,请尝试在 build.gradle 中更改为 multiDexEnabled = false。如果您解决了问题,请告诉我们
  • 这可能有帮助,我会尝试并告诉你。
  • @Dehimb 已尝试过,但在构建应用程序时出现错误:错误:任务 ':app:dexDebug' 的执行失败。
  • 请提供您的 build.gradle 文件
  • 我已将 build.gradle 包含在上述问题中。

标签: android quickblox


【解决方案1】:

如果您正在使用休闲提供者,请检查您的清单文件:

<provider
        android:name="vc908.stickerfactory.provider.StickersProvider"
        android:authorities="com.package_name.stickersProvider"
        android:exported="false"/>

请注意,类别标签中的 android:authorities 必须替换为您的应用程序的包名称。

【讨论】:

  • 我在清单文件中有这个,没有它,即使在棒棒糖上,贴纸也无法使用。
  • 我知道了,在 build.gradle 和清单文件中更新您的 api 级别,您正在使用 minSdkVersion 16,将其更新为 minSdkVersion 14,然后同步您的项目。
【解决方案2】:

请执行此步骤以启用 MultiDex。

public class YouApplication extends Application {

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

并像这样修改你的 build.gradle:

android {
compileSdkVersion 22
buildToolsVersion "23.0.0"

     defaultConfig {
         minSdkVersion 14 //lower than 14 doesn't support multidex
         targetSdkVersion 22

         // Enabling multidex support.
         multiDexEnabled true
     }
}

dependencies {
    compile 'com.android.support:multidex:1.0.1'
}

我为这个错误工作了 2 天。 使用multidex库解决。

它对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多