gpt4 book ai didi

java.util.MissingResourceException - 定位日志记录类时出错(MQTT 库)

转载 作者:行者123 更新时间:2023-12-03 08:53:13 33 4
gpt4 key购买 nike

我正在编写一个使用 MQTT 的 Android 应用程序。

发布构建中,我遇到了一个异常:

MqttClient client = new MqttClient(host, clientId, new MemoryPersistence()); 

调试构建中,一切正常。我正在使用mqtt-client-0.4.0.jar

执行(我在发布中得到的是):

W/System.err: java.util.MissingResourceException: Error locating the logging class
W/System.err: at d.a.a.a.a.b.b.a(:2)
W/System.err: at d.a.a.a.a.e.<init>(Unknown Source:7)
W/System.err: at c.b.a.j.a(:2)
W/System.err: at c.b.a.j.<init>(Unknown Source:14)
W/System.err: at c.b.a.d.onStarted(:1)
W/System.err: at android.location.LocationManager$GnssStatusListenerTransport$GnssHandler.handleMessage(LocationManager.java:1424)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:106)
W/System.err: at android.os.Looper.loop(Looper.java:164)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6626)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:811)

我查看了 mqtt 库,发现了生成此错误的源代码:

https://github.com/eclipse/paho.mqtt.java/blob/master/org.eclipse.paho.client.mqttv3/src/main/java/org/eclipse/paho/client/mqttv3/logging/LoggerFactory.java

第 76 行:

    public static Logger getLogger(String messageCatalogName, String loggerID) {
String loggerClassName = overrideloggerClassName;
Logger logger = null;

if (loggerClassName == null) {
loggerClassName = jsr47LoggerClassName;
}
logger = getLogger(loggerClassName,
ResourceBundle.getBundle(messageCatalogName), loggerID, null) ;

if (null == logger) {
throw new MissingResourceException("Error locating the
logging class", CLASS_NAME, loggerID);
}
return logger;
}

如果我在文件 build.gradle 的发布 block 中添加 debuggable true 我不会收到错误,并且应用程序工作正常。但我不需要可调试的版本。

你能帮我吗?

最佳答案

您可以将以下行添加到 proguard-rules.pro 文件中:

-keep class org.eclipse.paho.clent.mqttv3.** {*;}
-keep class org.eclipse.paho.client.mqttv3.*$* { *; }
-keep class org.eclipse.paho.client.mqttv3.logging.JSR47Logger { *; }

关于java.util.MissingResourceException - 定位日志记录类时出错(MQTT 库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57531899/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com