【发布时间】:2022-08-24 06:32:47
【问题描述】:
嘿,我很难弄清楚为什么当我将 .aar 文件的导出添加到我自己的项目中时它似乎不起作用。
我正在使用 Expanable-tab 项目,它通过 build.gradle 将它拥有的库编译为 .aap 文件:
apply plugin: \'com.android.library\'
apply plugin: \'kotlin-android\'
ext.versionMajor = 1
ext.versionMinor = 2
ext.versionPatch = 1
android {
compileSdkVersion 30
defaultConfig {
minSdkVersion 15
targetSdkVersion 30
versionCode versionMajor * 100000 + versionMinor * 100 + versionPatch * 1
versionName \"$versionMajor.$versionMinor.$versionPatch\"
setProperty(\"archivesBaseName\", \"expandable-fab\")
// Changes the name of generated AAR artifacts to be more descriptive
libraryVariants.all { variant ->
variant.outputs.all { output ->
if (outputFileName.endsWith(\'.aar\')) {
outputFileName = \"${archivesBaseName}-${versionName}.aar\"
}
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(\'proguard-android-optimize.txt\'), \'proguard-rules.pro\'
}
}
sourceSets {
main.java.srcDirs += \'src/main/kotlin\'
}
}
dependencies {
implementation fileTree(dir: \'libs\', include: [\'*.jar\'])
implementation\"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version\"
implementation \'com.google.android.material:material:1.4.0\'
implementation \'androidx.appcompat:appcompat:1.3.1\'
}
apply from: \'generate-docs-and-update-website.gradle\'
apply from: \'publish-artifacts-to-maven-repo.gradle\'
当我重建项目时,我导航到expandable-fab-master\\library\\build\\outputs\\aar 目录,其中已生成expandable-fab-1.2.1.aar 文件。
然后我将 .aap 文件复制到我自己项目中的 libs 文件夹中:
然后我继续将它添加到 build.gradle:
选择重建选项时所有这些编译 - 没有错误。
但是,当它到达我的应用程序中使用可扩展工厂代码的地步时,它会崩溃并出现以下错误:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.myapp, PID: 19960
android.view.InflateException: Binary XML file line #36 in com.myapp:layout/_fragvideoplay1: Binary XML file line #36 in com.myapp:layout/_fragvideoplay1: Error inflating class com.nambimobile.widgets.efab.ExpandableFabLayout
Caused by: android.view.InflateException: Binary XML file line #36 in com.myapp:layout/_fragvideoplay1: Error inflating class com.nambimobile.widgets.efab.ExpandableFabLayout
Caused by: java.lang.reflect.InvocationTargetException
及其引用的代码(videoPlay.java:99):
如果我注释掉 implementation files(\'libs/expandable-fab-1.2.1.aar\') 并取消注释原来的 implementation \'com.nambimobile.widgets:expandable-fab:1.2.1\' 然后运行应用程序,它应该可以正常工作......
我在这里想念什么?
标签: java android android-studio jar aar