Android Studio 运行时错误存根!在 com.amazon.device.messaging.ADMMessageReceiver.<init>()
Posted
技术标签:
【中文标题】Android Studio 运行时错误存根!在 com.amazon.device.messaging.ADMMessageReceiver.<init>()【英文标题】:Android Studio runtime error Stub! at com.amazon.device.messaging.ADMMessageReceiver.<init>() 【发布时间】:2014-08-24 23:40:31 【问题描述】:当我构建我的 android 应用程序的 Amazon (Kindle) 风格时,我遇到了这个运行时错误:
Caused by: java.lang.RuntimeException: Stub!
at com.amazon.device.messaging.ADMMessageReceiver.<init>()
我需要本地 amazon-device-messaging.jar 文件来编译我的应用程序,但是我不需要在运行时包含它,因为 amazon 设备将具有必要的类和方法。如何更新我的 Android Studio build.gradle 文件以执行此操作?
【问题讨论】:
【参考方案1】:我也遇到了这个问题。将 Amazon Device Messaging jar 添加为库时,Android Studio 会自动生成
dependencies
compile files('libs/amazon-device-messaging-1.0.1.jar')
我只需要将它切换到
dependencies
provided files('libs/amazon-device-messaging-1.0.1.jar')
这对我有用。 @Clu,我会为你的答案投票,但我的声望不够高。
【讨论】:
谢谢!也许我不需要额外的配置细节。我会尝试删除它,看看它是否仍然有效。 看起来您的简单答案是正确的方法,谢谢! 我在 android-library 项目中有 ADM jar,尽管我已经提到了在 android-library 项目的 build.grade 文件中提供的 ADM jar 的依赖关系。它仍然收到此错误。有什么帮助吗? @sanath01 你有没有想过这个问题。这对我也不起作用? 对我来说都不管用!你找到什么了吗?【参考方案2】:为了解决这个问题,我使用了provided
类型的依赖项。
在我的项目模块 build.gradle 文件中,就在我的 dependencies
关闭之前,我包含以下内容:
configurations
provided
sourceSets
main
compileClasspath += configurations.provided
然后,在我的依赖项闭包中,我包含了以下内容:
dependencies
provided files('libs/amazon-device-messaging-1.0.1.jar')
这确保了 .jar 仅用于编译时而非运行时。我对 Android Studio 很陌生,这花了我一段时间才弄清楚;希望这也能帮助您切换到 Android Studio。
【讨论】:
如果库和对库的调用在不同的包中,'provided' 将被忽略,而存根的库将被编译到 APK 中。这可以通过将库放在 Maven 存储库中来解决。【参考方案3】:-
在 Maven 本地存储库中添加 ADM jar。
命令:
mvn install:install-file "-Dfile=amazon-device-messaging-1.0.1.jar" "-DgroupId=com.amazon.device.messaging" "-DartifactId=amazondevicemessaging" "-Dversion=1.0.1" "-Dpackaging=jar"
-
包含本地 maven 存储库作为项目依赖项:
在主 Gradle 构建脚本中添加“mavenLocal()”:
allprojects
repositories
mavenCentral()
mavenLocal()
-
在 ADM 项目中链接 Maven 工件。
添加以下行 ADMWrapperLib Gradle 脚本 (::)。
provided 'com.amazon.device.messaging:amazondevicemessaging:1.0.1'
【讨论】:
以上是关于Android Studio 运行时错误存根!在 com.amazon.device.messaging.ADMMessageReceiver.<init>()的主要内容,如果未能解决你的问题,请参考以下文章
在android studio中重命名包名称后启动错误,运行时错误
Android Studio opencv C++ 在运行时编译链接库错误
在 Android Studio 中运行参数化单元测试时,未找到给定的测试包括错误
运行flutter应用程序时android studio中的gradle错误