Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG java.lang.NoSuchMethodError: no method with name='<init>' signature='(JIII)V' in class Lpl/droidsonroids/gif/GifInfoHandle; #530

Closed
Pinick opened this issue Apr 2, 2018 · 7 comments

Comments

@Pinick
Copy link

Pinick commented Apr 2, 2018

Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at android.view.LayoutInflater.createView(LayoutInflater.java:597)
... 31 more
Caused by: java.lang.NoSuchMethodError: no method with name='' signature='(JIII)V' in class Lpl/droidsonroids/gif/GifInfoHandle;
at pl.droidsonroids.gif.GifInfoHandle.openFd(GifInfoHandle.java)
at pl.droidsonroids.gif.GifInfoHandle.(GifInfoHandle.java:58)
at pl.droidsonroids.gif.GifDrawable.(GifDrawable.java:160)
at pl.droidsonroids.gif.GifDrawable.(GifDrawable.java:160)
at pl.droidsonroids.gif.GifDrawable.(GifDrawable.java:95)
at pl.droidsonroids.gif.GifDrawable.(GifDrawable.java:95)
at pl.droidsonroids.gif.GifViewUtils.setResource(GifViewUtils.java:52)
at pl.droidsonroids.gif.GifViewUtils$GifImageViewAttributes.getResourceId(GifViewUtils.java:137)
at pl.droidsonroids.gif.GifViewUtils$GifImageViewAttributes.(GifViewUtils.java:123)
at pl.droidsonroids.gif.GifViewUtils.initImageView(GifViewUtils.java:30)
at pl.droidsonroids.gif.GifImageView.(GifImageView.java:41)
... 34 more
android.view.InflateException: Binary XML file line #17: Error inflating class pl.droidsonroids.gif.GifImageView
at android.view.LayoutInflater.createView(LayoutInflater.java:623)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:699)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
at android.view.LayoutInflater.inflate(LayoutInflater.java:400)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at com.songheng.novel.view.CommonRefreshHeader.initView(CommonRefreshHeader.java:41)
at com.songheng.novel.view.CommonRefreshHeader.(CommonRefreshHeader.java:31)
at java.lang.reflect.Constructor.constructNative(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at android.view.LayoutInflater.createView(LayoutInflater.java:597)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:699)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
at android.view.LayoutInflater.inflate(LayoutInflater.java:400)
at com.songheng.novel.base.BaseFragment.onCreateView(BaseFragment.java:30)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2074)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1104)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1286)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:758)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1671)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManagerImpl.java:532)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5310)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:835)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:651)
at dalvik.system.NativeStart.main(NativeStart.java)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at android.view.LayoutInflater.createView(LayoutInflater.java:597)
... 31 more
Caused by: java.lang.NoSuchMethodError: no method with name='' signature='(JIII)V' in class Lpl/droidsonroids/gif/GifInfoHandle;
at pl.droidsonroids.gif.GifInfoHandle.openFd(GifInfoHandle.java)
at pl.droidsonroids.gif.GifInfoHandle.(GifInfoHandle.java:58)
at pl.droidsonroids.gif.GifDrawable.(GifDrawable.java:160)
at pl.droidsonroids.gif.GifDrawable.(GifDrawable.java:160)
at pl.droidsonroids.gif.GifDrawable.(GifDrawable.java:95)
at pl.droidsonroids.gif.GifDrawable.(GifDrawable.java:95)
at pl.droidsonroids.gif.GifViewUtils.setResource(GifViewUtils.java:52)
at pl.droidsonroids.gif.GifViewUtils$GifImageViewAttributes.getResourceId(GifViewUtils.java:137)
at pl.droidsonroids.gif.GifViewUtils$GifImageViewAttributes.(GifViewUtils.java:123)
at pl.droidsonroids.

'pl.droidsonroids.gif:android-gif-drawable:1.2.8'

@Pinick
Copy link
Author

Pinick commented Apr 2, 2018

android 4.4.2 红米1s

@koral--
Copy link
Owner

koral-- commented Apr 2, 2018

It looks like inconsistent native library version.
.so file which you are using comes from older library version. In 1.2.8 there was no constructor which such signature, but it had existed in the past.
See similar issue and solution: https://github.com/koral--/android-gif-drawable/issues/427#issuecomment-317694502

@Pinick
Copy link
Author

Pinick commented Apr 3, 2018

older library version?
app build.gradle file is :
compileSdkVersion 24
buildToolsVersion "24.0.2"
dexOptions {
javaMaxHeapSize "4g"
}

defaultConfig {
    applicationId "com.songheng.mopnovel"
    minSdkVersion 14
    targetSdkVersion 22
    versionCode Integer.parseInt(project.VERSION_CODE)
    versionName project.VERSION_NAME
    multiDexEnabled true
    ndk {
        abiFilters 'armeabi-v7a', 'armeabi'
    }

buildscript {
repositories {
mavenCentral()//如果 jcenter 很慢,尝试添加 mavenCentral 并调整到首行
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath "com.tinkerpatch.sdk:tinkerpatch-gradle-plugin:1.2.2"
// classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.5'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}

apply from: rootProject.getRootDir().getAbsolutePath() + "/utils.gradle"

}

allprojects {
repositories {
jcenter()
}
}

applibary build.gradle file is :
android {
compileSdkVersion 24
buildToolsVersion "24.0.2"

defaultConfig {
    minSdkVersion 14
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
repositories {
    flatDir {
        dirs '../commlibrary/libs'
        dirs '../novellibrary/libs'
    }
}
sourceSets {
    main {
        //......
        jniLibs.srcDirs = ['libs']
    }
}

}

dependencies {
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile project(path: ':commlibrary')
compile files('libs/alipaySingle-20170510.jar')
compile files('libs/open_sdk_r5990_lite.jar')
compile(name: 'openDefault-4.1.0', ext: 'aar')
// compile files('libs/weibosdk.jar')
compile 'com.meituan.android.walle:library:1.0.5'
compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.8'
compile 'com.umeng.analytics:analytics:latest.integration'
compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
compile('com.android.support:design:24.0.0') {
exclude module: 'support-v4'
exclude group: 'com.android.support'
}

Thank you for you reply!

@Pinick
Copy link
Author

Pinick commented Apr 3, 2018

Only find android 4.4.2 红米1s has this problem

@Pinick
Copy link
Author

Pinick commented Apr 3, 2018

in compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.12' this problem has been solved?

@koral--
Copy link
Owner

koral-- commented Apr 4, 2018

Only find android 4.4.2 红米1s has this problem

Only one device? Is it clean installation?

@koral--
Copy link
Owner

koral-- commented Apr 15, 2018

Closing due to inactivity. May be reopened if more info is provided. However, it seems that .so file used at runtime came from older library version (maybe due to system clock changes or something else causing gradle to deliver wrong files during build). Clean build should resolve this issue.

@koral-- koral-- closed this as completed Apr 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants