kanyun-inc / Kace

Kace: Kotlin Android Compatible Extensions, a framework for assisting in the seamless migration from kotlin-android-extensions
Apache License 2.0
261 stars 11 forks source link

配置完成后,Sync Now 失败 #5

Closed shexianseng closed 1 year ago

shexianseng commented 1 year ago

偶然看到公众号推送的文章,尝试构建失败,求助 ext.kotlin_version = '1.7.20' dependencies { classpath 'com.android.tools.build:gradle:7.3.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" classpath 'com.kanyun.kace:kace-gradle-plugin:1.0.1' } plugins { id 'com.android.application' id 'kotlin-android' id 'com.kanyun.kace' id 'kotlin-kapt' id 'kotlin-parcelize' } 配置完成后,Sync Now 失败 A problem occurred configuring project ':app'.

Cannot convert the provided notation to a File or URI: [C:\Users\s\Documents\s\s\s\build\generated\source\kace\sapp\debug]. The following types/formats are supported:

  • A String or CharSequence path, for example 'src/main/java' or '/usr/include'.
  • A String or CharSequence URI, for example 'file:/usr/include'.
  • A File instance.
  • A Path instance.
  • A Directory instance.
  • A RegularFile instance.
  • A URI or URL instance.
  • A TextResource instance.
RicardoJiang commented 1 year ago

这个是agp7.3.1的兼容问题,可以暂时添加maven地址: maven { url "https://s01.oss.sonatype.org/content/repositories/snapshots" } 然后将kace版本升级到1.0.2-SNAPSHOT 后面会发正式版本,可以先这样解决

shexianseng commented 1 year ago

编译成功,但是运行时报错 java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/lifecycle/DefaultLifecycleObserver; 2022-11-23 14:59:23.660 E at com.kanyun.kace.AndroidExtensionsComponentKt.AndroidExtensionsComponent(AndroidExtensionsComponent.kt:34) 2022-11-23 14:59:23.660 E at com.kanyun.kace.AndroidExtensionsImpl.initComponent(AndroidExtensionsImpl.kt:29) 2022-11-23 14:59:23.660 E at com.kanyun.kace.AndroidExtensionsImpl.findViewByIdCached(AndroidExtensionsImpl.kt:40) 2022-11-23 14:59:23.660 E at com.S.S.base.BaseActivity.findViewByIdCached(Unknown Source:7) 2022-11-23 14:59:23.660 E at com.S.S.main.MainActivity.initView(MainActivity.kt:131) 2022-11-23 14:59:23.660 E at com.S.S.base.BaseActivity.onCreate(BaseActivity.kt:182) 2022-11-23 14:59:23.661 E at com.S.S.main.MainActivity.onCreate(MainActivity.kt:34) 2022-11-23 14:59:23.661 E at android.app.Activity.performCreate(Activity.java:8290) 2022-11-23 14:59:23.661 E at android.app.Activity.performCreate(Activity.java:8270) 2022-11-23 14:59:23.661 E at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329) 2022-11-23 14:59:23.661 E at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4085) 2022-11-23 14:59:23.661 E at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4277) 2022-11-23 14:59:23.661 E at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) 2022-11-23 14:59:23.661 E at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 2022-11-23 14:59:23.661 E at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 2022-11-23 14:59:23.662 E at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2443) 2022-11-23 14:59:23.662 E at android.os.Handler.dispatchMessage(Handler.java:106) 2022-11-23 14:59:23.662 E at android.os.Looper.loopOnce(Looper.java:226) 2022-11-23 14:59:23.662 E at android.os.Looper.loop(Looper.java:313) 2022-11-23 14:59:23.662 E at android.app.ActivityThread.main(ActivityThread.java:8751) 2022-11-23 14:59:23.662 E at java.lang.reflect.Method.invoke(Native Method) 2022-11-23 14:59:23.662 E at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) 2022-11-23 14:59:23.662 E at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) 2022-11-23 14:59:23.663 E Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.lifecycle.DefaultLifecycleObserver" on path: DexPathList[[zip file "/data/app/GmxvzH8RyB_38iJtYr2wWA==/com.S.S-eM0ZVFzJ-vq4C0-S8obKew==/base.apk"],nativeLibraryDirectories=[/data/app/GmxvzH8RyB_38iJtYr2wWA==/com.S.S-eM0ZVFzJ-vq4C0-S8obKew==/lib/arm, /data/app/~~GmxvzH8RyB_38iJtYr2wWA==/com.S.S-eM0ZVFzJ-vq4C0-S8obKew==/base.apk!/lib/armeabi, /system/lib, /system/system_ext/lib]] 2022-11-23 14:59:23.663 E at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218) 2022-11-23 14:59:23.663 E at java.lang.ClassLoader.loadClass(ClassLoader.java:379) 2022-11-23 14:59:23.663 E at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 2022-11-23 14:59:23.663 E ... 23 more 2022-11-23 14:59:23.663 E Back traces ends.

RicardoJiang commented 1 year ago

看样子应该是因为你没有添加DefaultLifecycleObserver的依赖,添加一下androidx.lifecycle.lifecycle-common依赖就行了

shexianseng commented 1 year ago

没问题了,维护阶段古早项目...没有依赖