问题描述
正如标题所说,我构建了一个示例应用程序,其中包含自定义 Maven 库的依赖项,并且在切换调用库的相关位置函数的位置权限开关时出现此错误:
2021-01-21 19:00:19.053 20440-20440/com.livnao.androidsdk.sample E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.livnao.androidsdk.sample,PID: 20440
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/location/LocationRequest;
at com.livnao.androidsdk.LivNaoSDK.checkDeviceLocationSettings(LivNaoSDK.kt:452)
at com.livnao.androidsdk.LivNaoSDK.startLocationUpdates(LivNaoSDK.kt:427)
at com.livnao.androidsdk.LivNaoSDK.enableLocationTracking(LivNaoSDK.kt:411)
at com.livnao.androidsdk.sample.MainActivity.locationEnableCode(MainActivity.kt:123)
at com.livnao.androidsdk.sample.MainActivity.access$locationEnableCode(MainActivity.kt:17)
at com.livnao.androidsdk.sample.MainActivity$initPermissionElements$1.onCheckedChanged(MainActivity.kt:41)
at android.widget.CompoundButton.setChecked(CompoundButton.java:182)
at androidx.appcompat.widget.SwitchCompat.setChecked(SwitchCompat.java:1071)
at androidx.appcompat.widget.SwitchCompat.toggle(SwitchCompat.java:1066)
at android.widget.CompoundButton.performClick(CompoundButton.java:141)
at android.view.View.performClickInternal(View.java:7318)
at android.view.View.access$3200(View.java:846)
at android.view.View$PerformClick.run(View.java:27800)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7050)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
Caused by: java.lang.classNotFoundException: Didn't find class "com.google.android.gms.location.LocationRequest" on path: DexPathList[[zip file "/data/app/com.livnao.androidsdk.sample-4VCsjkqLXREsbJ7FauDQrA==/base.apk"],nativeLibraryDirectories=[/data/app/com.livnao.androidsdk.sample-4VCsjkqLXREsbJ7FauDQrA==/lib/arm64,/system/lib64,/system/vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.classLoader.loadClass(ClassLoader.java:379)
at java.lang.classLoader.loadClass(ClassLoader.java:312)
at com.livnao.androidsdk.LivNaoSDK.checkDeviceLocationSettings(LivNaoSDK.kt:452)
at com.livnao.androidsdk.LivNaoSDK.startLocationUpdates(LivNaoSDK.kt:427)
at com.livnao.androidsdk.LivNaoSDK.enableLocationTracking(LivNaoSDK.kt:411)
at com.livnao.androidsdk.sample.MainActivity.locationEnableCode(MainActivity.kt:123)
at com.livnao.androidsdk.sample.MainActivity.access$locationEnableCode(MainActivity.kt:17)
at com.livnao.androidsdk.sample.MainActivity$initPermissionElements$1.onCheckedChanged(MainActivity.kt:41)
at android.widget.CompoundButton.setChecked(CompoundButton.java:182)
at androidx.appcompat.widget.SwitchCompat.setChecked(SwitchCompat.java:1071)
at androidx.appcompat.widget.SwitchCompat.toggle(SwitchCompat.java:1066)
at android.widget.CompoundButton.performClick(CompoundButton.java:141)
at android.view.View.performClickInternal(View.java:7318)
at android.view.View.access$3200(View.java:846)
at android.view.View$PerformClick.run(View.java:27800)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7050)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
任何人都知道为什么 android studio 不导入位置依赖项或其类文件
库中与位置相关的依赖和proguard文件部分如下所示:
api 'com.google.android.gms:play-services-auth:19.0.0'
api 'com.google.android.gms:play-services-location:17.1.0'
-keep class com.google.android.gms.location.** { *; }
-dontwarn com.google.android.gms.location.**
如果我将库项目作为项目中的模块导入,它工作得很好。但在发布到 Maven 存储库并作为示例项目中的依赖项添加时不起作用,
请帮忙,非常感谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)