简体   繁体   English

java.lang.NoClassDefFoundError:解析失败:Landroidx/appcompat/app/AppCompatActivity;

[英]java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/appcompat/app/AppCompatActivity;

I have unity app with android studio plugin, that load android camera app on my phone when I press the button... Here java class:我有一个带有 android 工作室插件的统一应用程序,当我按下按钮时,它会在我的手机上加载 android 相机应用程序......这里是 java ZA2F212ED4F8EBC2CBB6D212ED4F8EBC2CBB1

 import android.content.Intent;
 import android.os.Bundle;
 import android.provider.MediaStore;
 import androidx.appcompat.app.AppCompatActivity;


 public class LoadAndroidApp extends AppCompatActivity 
 {
     @Override
     protected void onCreate(Bundle savedInstanceState) 
   {

     super.onCreate(savedInstanceState);
     Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
     startActivity(intent);
   }
 }

here my build gradle:这是我的构建 gradle:

    apply plugin: 'com.android.library'

android {
compileSdkVersion 30
buildToolsVersion "30.0.3"

defaultConfig {
    minSdkVersion 24
    targetSdkVersion 30
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    consumerProguardFiles "consumer-rules.pro"
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
  }
}

dependencies 
{
  implementation fileTree(dir: "libs", include: ["*.jar"])
  implementation  'androidx.appcompat:appcompat:1.1.0-alpha04'
  testImplementation 'junit:junit:4.12'
  androidTestImplementation 'androidx.test.ext:junit:1.1.2'
  androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

}

When I launch my unity app, it doesn't crush, but I have this error in logcat:当我启动我的统一应用程序时,它不会崩溃,但我在 logcat 中有这个错误:

 2021-04-27 18:45:26.327 27678-27700/? E/Unity: AndroidJavaException: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/appcompat/app/AppCompatActivity;
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/appcompat/app/AppCompatActivity;
    at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
    at com.unity3d.player.UnityPlayer.access$300(Unknown Source:0)
    at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:95)
    at android.os.Handler.dispatchMessage(Handler.java:103)
    at android.os.Looper.loop(Looper.java:241)
    at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)
 Caused by: java.lang.ClassNotFoundException: androidx.appcompat.app.AppCompatActivity
    at com.unity3d.player.UnityPlayer.nativeRender(Native Method) 
    at com.unity3d.player.UnityPlayer.access$300(Unknown Source:0) 
    at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:95) 
    at android.os.Handler.dispatchMessage(Handler.java:103) 
    at android.os.Looper.loop(Looper.java:241) 
    at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20) 
  at UnityEngine.AndroidJNISafe.CheckException () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.AndroidJNISafe.FindClass (System.String name) [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.AndroidJavaClass._AndroidJavaClass (System.String className) [0x00000] in <00000000000000000000000000000000>:0 

please, help, I need some feedback... I read that This is happening because the aar file doesn't contain external dependencies that we add in gradle file, but I didn't have error when I created my plugin... Please, help... Thank you in advance.请帮忙,我需要一些反馈...我读到这是因为 aar 文件不包含我们在 gradle 文件中添加的外部依赖项,但是我在创建插件时没有错误...请,帮助...提前谢谢你。

When you compile your plugin it does not include "androidx.appcompat.app.AppCompatActivity" You have to add that package to your Plugin/Android folder.当你编译你的插件时,它不包括“androidx.appcompat.app.AppCompatActivity”你必须将 package 添加到你的 Plugin/Android 文件夹中。 There is two way to fix this;有两种方法可以解决此问题;

1- External Dependency Manager for Unity . 1- Unity 的外部依赖管理器 This plugin helps to add external dependencies.该插件有助于添加外部依赖项。

2-You can find dependency.jar or.aar on Android Developer website. 2-您可以在Android开发者网站上找到dependency.jar或.aar。

I recommend first option.我推荐第一个选项。 Because it also handles cocoapods dependencies.因为它还处理 cocoapods 依赖项。

OR或者

If you don't want any dependencies, extend your class with just "Activity".如果您不想要任何依赖项,请仅使用“活动”扩展您的 class。 If your functions included in Activity class you do not have to add any dependency.如果您的函数包含在活动 class 中,则不必添加任何依赖项。

暂无
暂无

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

相关问题 java.lang.NoClassDefFoundError:解析失败:Landroidx / core / app / ActivityManagerCompat - java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/app/ActivityManagerCompat java.lang.NoClassDefFoundError:解析失败:Landroidx/core/view/MenuHost; - java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/view/MenuHost; Android Espresso:java.lang.NoClassDefFoundError:解析失败:Landroidx/test/platform/io/FileTestStorage; - Android Espresso: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/test/platform/io/FileTestStorage; java.lang.NoClassDefFoundError:解析失败 - java.lang.NoClassDefFoundError: Failed resolution java.lang.NoClassDefFoundError:无法解决以下问题:Ljava / lang / invoke / MethodType; - java.lang.NoClassDefFoundError: Failed resolution of: Ljava/lang/invoke/MethodType; Android ButterKnife java.lang.NoClassDefFoundError:无法解决以下问题:Lbutterknife / ButterKnife - Android ButterKnife java.lang.NoClassDefFoundError: Failed resolution of: Lbutterknife/ButterKnife java.lang.NoClassDefFoundError:解析失败:Lretrofit2/Retrofit$Builder; - java.lang.NoClassDefFoundError: Failed resolution of: Lretrofit2/Retrofit$Builder; java.lang.NoClassDefFoundError:解析失败:Landroid/webkit/PacProcessor - java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/PacProcessor java.lang.NoClassDefFoundError:解析失败:Lcom/google/gson/Gson; - java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/gson/Gson; java.lang.NoClassDefFoundError:解析失败:Ljava/time/LocalDate; 错误 - java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/LocalDate; error
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM