Closed HayTran closed 6 years ago
I could be wrong, but that looks like you're going over the 65k method limit (nothing to do with this library). To confirm, can you check your method count (with something like the dexcount plugin)? Or temporarily just enable proguard in the debug build (if you haven't already)?
Do you also have the afollestad/material-dialogs dependency? If so, then which version are you using?
I implemented Mutidex in my project and material-dialog dependency version is 0.9.5.0. After searched some resolves, my project can be compiled by adding classpath com.neenbedankt.gradle.plugins:android-apt:1.8
in build.gradle project level as well as adding this spinet in build.gradle app level:
android {
//..
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
However, now when I using this spinet result in crashing app.
new MorphDialog.Builder(getActivity(), mFab)
.title("Title")
.content("This is a sentence. Here is another one.")
.show();
This message below showed when app crash:
11-17 17:32:16.952 31279-31279/com.iot.babymonitor E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.iot.babymonitor, PID: 31279
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/databinding/DataBinderMapper;
at android.databinding.DataBindingUtil.
By the way, there's no need to use apt plugin now, there's an annotation processor built in, e.g:
dependencies {
annotationProcessor 'com.bluelinelabs:logansquare-compiler:1.3.6'
}
Can you confirm that you have data binding enabled like
android {
compileSdkVersion 26
buildToolsVersion '26.0.1'
dataBinding.enabled = true
...
}
Also, the library is built on fairly recent versions and this still seems like a configuration issue to me. What versions are your:
If you haven't already, try updating to at least the latest stable versions to rule out version mismatches.
Finally, can you also confirm that you can use data binding elsewhere inside your app? This should also rule out the possibility of a configuration issue.
It worked. Thank you very much for supporting me that. Anyway, I still do not understand why using
dependencies {
annotationProcessor 'com.bluelinelabs:logansquare-compiler:1.3.6'
}
Thanks
Oh that was just an example to show that you can replace all apt
's with annotationProcessor
(You don't actually need this for the project lol, feel free to remove it)
Error:com.android.builder.dexing.DexArchiveBuilderException: Failed to process /Users/haytran/.gradle/caches/transforms-1/files-1.1/Morphing-Material-Dialogs-0.0.1-alpha2.aar/a4e8ad92db421a1a69733ac31c121cd3/jars/classes.jar Error:com.android.builder.dexing.DexArchiveBuilderException: Error while dexing in/adityaanand/morphdialog/MorphDialogActivity.class Error:com.android.dx.cf.code.SimException: invalid opcode ba (invokedynamic requires --min-sdk-version >= 26) Error:Execution failed for task ':app:transformClassesWithDexBuilderForDebug'.