unity使用aar依赖关系处理

我使用AndroidStudio在主模块做了一个启动其他apk的功能,这个功能在AS中在真机上正常执行,但是将aar导入到unity中就报错,提示androidx 找不到。

img

我的unity版本是2019.4,androidStudio GradleVersion是7.5。 查过资料,了解到AndroidX这个库,Unity本身就支持。只是gradle版本不匹配,
所以我在网上下载了一个Gradle5.5,将unity Gradle 版本升级到了Gradle5.5,本来想用最新的8.0,但是一打包就报错,最后根据错误提示,选择了5.5(提示要求gradle版本在5.4.1以上)。只是打包之后运行还是报之前的错误,不知道怎么办了。


另外,我之前其实想找到androidX jar包的,直接使用jar包,不使用gradle加载这种方式,但是androidX太多了,把提示的都加了还是报错,就放弃了。
不知道有没有人知道,使用androidX jar包 可行不?

img


我的依赖文件 ,targetsdk 有红线,但是不影响使用就没管

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7440967
  • 以下回答来自chatgpt: 由于您的问题比较复杂,我需要先分析一下您的情况,然后再给出解决方案: 1. 您已经将aar文件导入到Unity中,但在使用时出现了错误。 2. 您在Android Studio中使用了启动其他apk的功能,但在Unity中使用时,提示无法找到androidx库。 3. 您已经升级了Gradle版本到5.5,但在打包时仍然报相同的错误。 4. 您尝试使用androidX jar包替代Gradle加载,但由于androidX库太多,仍然会出现错误。 5. 您的依赖文件中有一个targetSDK显示出现红线,但在实际使用中并没有影响。 根据您的描述,可能出现问题的地方有两个:aar文件的导入和androidx库的使用。针对这两个问题,我分别给出以下解决方案: 1. 解决aar文件导入问题 由于您没有提供具体的错误信息,我无法确定问题出现的根本原因。不过,您可以尝试以下操作: ① 确保您导入的aar文件没有问题,在Android Studio中测试过可以正常运行。 ② 在Unity中尝试重新导入aar文件,或者在Unity的项目中检查是否有其他冲突的文件。 ③ 检查Unity和Android Studio的Android版本是否相同,不同的版本可能会导致兼容性问题。 ④ 检查Unity和Android Studio使用的Gradle版本是否相同,Gradle版本不匹配可能会导致问题。 ⑤ 检查Unity和Android Studio使用的Java版本是否相同,Java版本不同可能会导致报错。 2. 解决androidx库使用问题 为了解决Unity中找不到androidx库的问题,您需要将相关的库添加到Gradle中。以下是一个可能的解决方案: ① 在Unity项目中,找到Assets/Plugins/Android目录。如果没有该目录,请手动创建。 ② 在Android目录下创建一个名为mainTemplate.gradle的新文件。 ③ 打开mainTemplate.gradle文件,并添加以下代码: android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } packagingOptions { exclude 'META-INF/DEPENDENCIES.txt' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/maven/com.google.guava/guava/pom.properties' exclude 'META-INF/maven/com.google.guava/guava/pom.xml' } lintOptions { disable 'MissingTranslation' checkReleaseBuilds false abortOnError false } configurations.all { resolutionStrategy.force 'com.android.support:support-v4:27.1.0' resolutionStrategy.force 'com.android.support:support-annotations:27.1.0' } repositories { mavenCentral() } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'androidx.legacy:legacy-support-v4:1.0.0' } 以上代码包含了常见的androidx库,可以尝试添加到您的项目中进行测试。 ④ 然后重新编译项目,在Unity中运行并测试有没有解决问题。 3. 关于targetSDK的问题 如果您的依赖文件中有一个targetSDK显示出现红线,但在实际使用中并没有影响,那么您可以尝试以下操作: ① 在Android Studio中打开你的项目。 ② 打开File -> Project Structure -> Project将你想要使用的SDK版本选择为Android SDK。 ③ 然后,打开File -> Project Structure -> Modules -> app对依赖项的状态进行检查,确保依赖项中的库版本与您的项目兼容。 以上是我对您的问题的分析和解决方案,希望对您有所帮助。如果还有问题,请告诉我。

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^