简体   繁体   English

lStar 上的资源链接失败并出现错误

[英]Resource linking fails on lStar with error

I'm working on a android Native application.我正在开发 android 本机应用程序。 My Android builds began to fail without any changes.我的 Android 构建在没有任何更改的情况下开始失败。

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':etndoorcontrol:processHesuan_faceDebugResources'.
> Android resource linking failed
  C:\Users\xqf\.gradle\caches\transforms-2\files-2.1\fe7b90aa462d9a2e04dd8216aa450a51\res\values\values.xml:2422:5-2449:25: AAPT: error: resource android:attr/lStar not found.

  error: failed linking references.

Then I tried 2 solutions然后我尝试了2种解决方案

//soultion 1.
configurations.all {
    resolutionStrategy {
        // Java language implementation
        force "androidx.core:core:1.6.0"
        // Kotlin
        force "androidx.core:core-ktx:1.6.0"

    }
}

After I add this to app/build.gradle, the app can build correct.but after I install the apk and run.there is a new problem.将其添加到 app/build.gradle 后,该应用程序可以正确构建。但是在我安装 apk 并运行后,出现了一个新问题。

java stacktrace:
java.lang.NoClassDefFoundError: androidx.appcompat.widget.Toolbar
    at libcore.reflect.InternalNames.getClass(InternalNames.java:55)
    at java.lang.Class.getDexCacheType(Class.java:2551)
    at java.lang.reflect.AbstractMethod.getParameterTypes(AbstractMethod.java:169)
    at java.lang.reflect.Method.getParameterTypes(Method.java:193)
    at org.greenrobot.eventbus.SubscriberMethodFinder.findUsingReflectionInSingleClass(SubscriberMethodFinder.java:163)
    at org.greenrobot.eventbus.SubscriberMethodFinder.findUsingInfo(SubscriberMethodFinder.java:88)
    at org.greenrobot.eventbus.SubscriberMethodFinder.findSubscriberMethods(SubscriberMethodFinder.java:64)
    at org.greenrobot.eventbus.EventBus.register(EventBus.java:140)
    at com.yarward.a10doorcontrol.homepage.HomePageActivity.initFields(HomePageActivity.java:334)
    at com.yarward.base.mvp.view.BaseActivity.onCreate(BaseActivity.java:82)
    at com.yarward.a10doorcontrol.homepage.HomePageActivity.onCreate(HomePageActivity.java:257)
    at android.app.Activity.performCreate(Activity.java:6709)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2628)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2736)
    at android.app.ActivityThread.-wrap12(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1487)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6157)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
Caused by: java.lang.ClassNotFoundException: androidx.appcompat.widget.Toolbar
    at java.lang.VMClassLoader.findLoadedClass(Native Method)
    at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at libcore.reflect.InternalNames.getClass(InternalNames.java:53)
    ... 22 more
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/view/MenuHost;
    at java.lang.VMClassLoader.findLoadedClass(Native Method)
    at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at libcore.reflect.InternalNames.getClass(InternalNames.java:53)
    at java.lang.Class.getDexCacheType(Class.java:2551)
    at java.lang.reflect.AbstractMethod.getParameterTypes(AbstractMethod.java:169)
    at java.lang.reflect.Method.getParameterTypes(Method.java:193)
    at java.lang.Class.getDeclaredMethods(Class.java:1812)
    at org.greenrobot.eventbus.SubscriberMethodFinder.findUsingReflectionInSingleClass(SubscriberMethodFinder.java:154)
    ... 18 more
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.core.view.MenuHost" on path: DexPathList[[zip file "/data/app/com.yarward.hesuanface-1/base.apk"],nativeLibraryDirectories=[/data/app/com.yarward.hesuanface-1/lib/arm, /data/app/com.yarward.hesuanface-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    ... 28 more

After this, I tried the other solution, as below:在此之后,我尝试了另一种解决方案,如下所示:

ext{
  androidX = 1.6.0
}

but this is not working for me.但这对我不起作用。

axel8888 thank your sir, yes, I have solved this problem. axel8888谢谢你的先生,是的,我已经解决了这个问题。 yes, you are right , when I try solution one again是的,你是对的,当我再次尝试解决方案时

configurations.all {
    resolutionStrategy {
        // Java language implementation
        force "androidx.core:core:1.6.0"
        // Kotlin
        force "androidx.core:core-ktx:1.6.0"

    }
}

and as you the problem is now in正如你现在的问题

androidx.appcompat:appcompat:1.4.0-alpha

so I checked the gradle dependencies, yes , even I used所以我检查了 gradle 依赖项,是的,即使我使用过

androidx.appcompat:appcompat:1.3.1

but my project shows the version is 1.4.0-alpha.但我的项目显示版本是 1.4.0-alpha。 here is my solution这是我的解决方案

    configurations.all {
        resolutionStrategy.eachDependency { details ->
            def requested = details.requested
            
            if (requested.group == "androidx.appcompat") {
                if (requested.name == "appcompat") {
                    details.useVersion "1.3.1"
                }
            }


        }
    }

and it worked, now my project can build and run correctly, thank you, sir!成功了,现在我的项目可以正常构建和运行了,谢谢,先生!

Obveiously the problem is now in androidx.appcompat:appcompat:1.4.0-alpha.显然,问题现在出在 androidx.appcompat:appcompat:1.4.0-alpha 中。 If your UI use Toolbar, you will get the MenuHost not found crash.BUT, evenif I use resolutionStrategy to force 'androidx.appcompat:appcompat:1.3.1', dependency still make it toandroidx.appcompat:appcompat:{strictly 1.4.0-beta01}如果你的 UI 使用工具栏,你会得到 MenuHost not found crash.BUT,即使我使用 resolutionStrategy 来强制 'androidx.appcompat:appcompat:1.3.1',依赖仍然使它成为 androidx.appcompat:appcompat:{strictly 1.4.0 -beta01}

It still confuse me a lot.它仍然让我很困惑。

SOLVED -- someone write a update code for appcompat before... now it can force to 1.3.1 and solve the problem SOLVED——之前有人写了appcompat的更新代码……现在可以强制升级到1.3.1解决问题了

change implementation 'androidx.appcompat:appcompat:1.4.0' to implementation 'androidx.appcompat:appcompat:1.3.1'将实现'androidx.appcompat:appcompat:1.4.0'更改为实现'androidx.appcompat:appcompat:1.3.1'

that's it就是这样

implementation 'androidx.appcompat:appcompat:1.4.1'

was causing the problem, going back to 1.3.1 worked.导致问题,回到 1.3.1 工作。

implementation 'androidx.appcompat:appcompat:1.3.1'

ill update once I get an official solution.一旦我得到官方解决方案,我就会更新。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 lStar 上的资源链接失败 - Resource linking fails on lStar Android Studio Android 资源链接失败错误.. AAPT:错误:资源 android:未找到属性/lStar。 在值.xml 105 - Android Studio Android resource linking failed error .. AAPT: error: resource android:attr/lStar not found. at values.xml 105 消息“错误:资源 android:attr/lStar 未找到” - Message "error: resource android:attr/lStar not found" flutter AAPT:错误:资源 android:attr/lStar 未找到 - flutter AAPT: error: resource android:attr/lStar not found react native error:——AAPT: error: resource android:attr/lStar not found - react native error:——AAPT: error: resource android:attr/lStar not found Android Studio 错误:114:25:AAPT:错误:资源 android:attr/lStar 未找到 - Android Studio Error :114:25: AAPT: error: resource android:attr/lStar not found core-1.7.0/res/values/values.xml:105:5-114:25: AAPT: 错误: 资源 android:attr/lStar 未找到 - core-1.7.0/res/values/values.xml:105:5-114:25: AAPT: error: resource android:attr/lStar not found Android 构建错误:“找不到 lStar...” - Android Build Error: "lStar not found..." 错误:- Android 资源链接失败,如何解决? - Error :- Android resource linking failed, how fix this? 解决Android studio中的资源链接错误 - solving resource linking error in Android studio
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM