hnvn / flutter_image_cropper

A Flutter plugin for Android and iOS supports cropping images
971 stars 374 forks source link

The problem of about v1.10 ~~~ Help! #77

Closed originlan closed 4 years ago

originlan commented 4 years ago

First of all, thank you very much for the update of the Widget. However, I found a problem today. After selecting the picture, my project will report this error. thanks

2019-09-30 17:53:22.155 30223-30223/com.aaa.aaa E/AndroidRuntime: FATAL EXCEPTION: main Process: com.aaa.aaa, PID: 30223 java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/lifecycle/LifecycleEventObserver; at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:453) at java.lang.Class.forName(Class.java:378) at com.growingio.android.sdk.utils.ClassExistHelper.hasClass(ClassExistHelper.java:77) at com.growingio.android.sdk.utils.ClassExistHelper.(ClassExistHelper.java:61) at com.growingio.android.sdk.utils.ClassExistHelper.issHasAdvertisingIdClient(ClassExistHelper.java:117) at com.growingio.android.sdk.collection.DeviceUUIDFactory.initGoogleAdId(DeviceUUIDFactory.java:209) at com.growingio.android.sdk.collection.DeviceUUIDFactory.getGoogleAdId(DeviceUUIDFactory.java:227) at com.growingio.android.sdk.models.VisitEvent.backgroundWorker(VisitEvent.java:131) at com.growingio.android.sdk.data.DataSubscriber.saveMessage(DataSubscriber.java:102) at com.growingio.android.sdk.data.DataSubscriber.onGIOEvent(DataSubscriber.java:72) at com.growingio.android.sdk.data.DataSubscriber.do$Action(Unknown Source:41) at com.growingio.eventcenter.bus.Subscription.action(Subscription.java:54) at com.growingio.eventcenter.bus.EventBus.invokeSubscriber(EventBus.java:579) at com.growingio.eventcenter.bus.EventBus.invokeSubscriber(EventBus.java:574) at com.growingio.eventcenter.bus.BackgroundPoster.run(BackgroundPoster.java:64) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:764) Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.lifecycle.LifecycleEventObserver" on path: DexPathList[[zip file "/data/app/com.aaa.aaa-5Y_nKZKct5ewxAIXhMIb-g==/base.apk"],nativeLibraryDirectories=[/data/app/com.aaa.aaa-5Y_nKZKct5ewxAIXhMIb-g==/lib/arm64, /data/app/com.aaa.aaa-5Y_nKZKct5ewxAIXhMIb-g==/base.apk!/lib/arm64-v8a, /system/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at java.lang.Class.classForName(Native Method)  at java.lang.Class.forName(Class.java:453)  at java.lang.Class.forName(Class.java:378)  at com.growingio.android.sdk.utils.ClassExistHelper.hasClass(ClassExistHelper.java:77)  at com.growingio.android.sdk.utils.ClassExistHelper.(ClassExistHelper.java:61)  at com.growingio.android.sdk.utils.ClassExistHelper.issHasAdvertisingIdClient(ClassExistHelper.java:117)  at com.growingio.android.sdk.collection.DeviceUUIDFactory.initGoogleAdId(DeviceUUIDFactory.java:209)  at com.growingio.android.sdk.collection.DeviceUUIDFactory.getGoogleAdId(DeviceUUIDFactory.java:227)  at com.growingio.android.sdk.models.VisitEvent.backgroundWorker(VisitEvent.java:131)  at com.growingio.android.sdk.data.DataSubscriber.saveMessage(DataSubscriber.java:102)  at com.growingio.android.sdk.data.DataSubscriber.onGIOEvent(DataSubscriber.java:72)  at com.growingio.android.sdk.data.DataSubscriber.do$Action(Unknown Source:41)  at com.growingio.eventcenter.bus.Subscription.action(Subscription.java:54)  at com.growingio.eventcenter.bus.EventBus.invokeSubscriber(EventBus.java:579)  at com.growingio.eventcenter.bus.EventBus.invokeSubscriber(EventBus.java:574)  at com.growingio.eventcenter.bus.BackgroundPoster.run(BackgroundPoster.java:64)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)  at java.lang.Thread.run(Thread.java:764) 

doctor

Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel master, v1.10.1-pre.41, on Mac OS X 10.14.5 18F132, locale zh-Hans-CN) ⢿
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3) [✓] Xcode - develop for iOS and macOS (Xcode 11.0) [✓] Android Studio (version 3.4) [✓] Connected device (1 available)

originlan commented 4 years ago

I don't quite understand why I think this LifecycleEventObserver is true,I have already add the

android{ configurations.all { resolutionStrategy { force 'androidx.media:media:1.0.0' force "androidx.lifecycle:lifecycle-runtime:2.1.0" } } } implementation "androidx.core:core:1.1.0" implementation 'androidx.lifecycle:lifecycle-runtime:2.0.0' implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0' implementation 'androidx.lifecycle:lifecycle-common-java8:2.0.0' annotationProcessor 'androidx.lifecycle:lifecycle-compiler:2.0.0'

angthing!

hnvn commented 4 years ago

gradle.properties

android.useAndroidX=true
android.enableJetifier=true
originlan commented 4 years ago

I have alreay org.gradle.jvmargs=-Xmx1536M android.enableJetifier=true android.useAndroidX=true

android.enableR8=true

but not work

hnvn commented 4 years ago

try this: https://github.com/flutter/flutter/issues/34401

originlan commented 4 years ago

try this: flutter/flutter#34401

Still won't work

originlan commented 4 years ago

In accordance with the #34401 only add implementation 'android.arch.lifecycle:common-java8:1.1.1' or nothing but,different to err

2019-10-01 00:39:07.613 10142-10142/com.yueli.sc_flutter E/AndroidRuntime: FATAL EXCEPTION: main Process: com.yueli.sc_flutter, PID: 10142 java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/lifecycle/LifecycleRegistry; at androidx.core.app.ComponentActivity.(ComponentActivity.java:56) at androidx.activity.ComponentActivity.(ComponentActivity.java:84) at androidx.fragment.app.FragmentActivity.(FragmentActivity.java:127) at androidx.appcompat.app.AppCompatActivity.(AppCompatActivity.java:77) at com.yalantis.ucrop.UCropActivity.(UCropActivity.java:63) at java.lang.Class.newInstance(Native Method) at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95) at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:43) at android.app.Instrumentation.newActivity(Instrumentation.java:1243) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3182) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.lifecycle.LifecycleRegistry" on path: DexPathList[[zip file "/data/app/com.yueli.sc_flutter-9uC4M1ORZFKY1n983fv4pQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.yueli.sc_flutter-9uC4M1ORZFKY1n983fv4pQ==/lib/x86, /data/app/com.yueli.sc_flutter-9uC4M1ORZFKY1n983fv4pQ==/base.apk!/lib/x86, /system/lib, /system/product/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at androidx.core.app.ComponentActivity.(ComponentActivity.java:56)  at androidx.activity.ComponentActivity.(ComponentActivity.java:84)  at androidx.fragment.app.FragmentActivity.(FragmentActivity.java:127)  at androidx.appcompat.app.AppCompatActivity.(AppCompatActivity.java:77)  at com.yalantis.ucrop.UCropActivity.(UCropActivity.java:63)  at java.lang.Class.newInstance(Native Method)  at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)  at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:43)  at android.app.Instrumentation.newActivity(Instrumentation.java:1243)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3182)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)  at android.os.Handler.dispatchMessage(Handler.java:107)  at android.os.Looper.loop(Looper.java:214)  at android.app.ActivityThread.main(ActivityThread.java:7356)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 

hnvn commented 4 years ago

Can you reproduce this issue on the example project?

hnvn commented 4 years ago

It seems like #78

originlan commented 4 years ago

Yes,example is the work,so It's my engineering that's not compatible with it

jasonlaw commented 4 years ago

Yes,example is the work,so It's my engineering that's not compatible with it

Hi @originlan, Have you resolved the problem? May I know how did you fix it? Thanks in advance.

originlan commented 4 years ago

Yes,example is the work,so It's my engineering that's not compatible with it

Hi @originlan, Have you resolved the problem? May I know how did you fix it? Thanks in advance.

sorry,It not fix to me

jasonlaw commented 4 years ago

It works well with a new create project, of course it is just a simple one. I tried to replace android folder from the new simple project (I have made all settings compatible to my project, and make sure the simple project still work under the settings), but still getting the same error. I have totally run out of ideas. Any help or advice is highly appreciated.

yevgeniaronov commented 4 years ago

@originlan @jasonlaw i have the same issue as you, i fixed it (but it throws some errors regarding my cloud_firestore dependencies now in the console, but it works).

the 2 ways i found are upgrading gradle and kotlin (root build.gradle): ext.kotlin_version = '1.3.0' classpath 'com.android.tools.build:gradle:3.3.1'

or pasting this voodoo in your app/build.grade: https://stackoverflow.com/a/54923461