Enabling minifi on android causes classCast Exeption
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 30/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Ambito
- mobile-dev
Direzione di ricerca
Riproduci il problema con l’app OpenMobileNetworkToolkit rimuovendo la com.influxdb.** ProGuard keep rule ed eseguendo una build Android minificata. Inizia con AbstractInfluxDBClient e InfluxDBClientFactory nello stack trace, quindi traccia la chiamata da InfluxdbConnection attraverso LoggingService. Il lavoro è completato quando sia la build minificata sia quella non minificata evitano la ClassCastException senza richiedere questa keep rule.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Steps to reproduce:
List the minimal actions needed to reproduce the behavior.
I not sure how to reproduce this in a general way. In our android application https://github.com/omnt/OpenMobileNetworkToolkit the issues occures when minifiing is anabled.
As a workarround i added
-keep class com.influxdb.**
to the proguard rules. Im not entierly sure if the problem is no caused by our code but at least disabling the minifing for the influx lib solves the isse.
- clone omnt git
- remove the pro guard rule
-keep class com.influxdb.**(if already included in the code version) - run the app and at random strings an url in settings -> logging -> remote influxDB
- enable logging
- restart the app (probably optional as it probably will crash
altetnativ the 0.2 release APK from the github page results in the same issue but is probably not helpfull for debugging
Expected behavior:
Same behavior of normal and minified build
Actual behavior:
minfied build causes an exeption
de....okus.OpenMobileNetworkToolkit E FATAL EXCEPTION: main Process: de.fraunhofer.fokus.OpenMobileNetworkToolkit, PID: 12351
java.lang.RuntimeException: Unable to start service de.fraunhofer.fokus.OpenMobileNetworkToolkit.LoggingService@f51d1f4 with Intent { cmp=de.fraunhofer.fokus.OpenMobileNetworkToolkit/.LoggingService }: java.lang.ClassCastException
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4839)
at android.app.ActivityThread.-$$Nest$mhandleServiceArgs(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2289)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8177)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Caused by: java.lang.ClassCastException
at androidx.appcompat.app.ToolbarActionBar$$ExternalSyntheticThrowCCEIfNotNull0.m(R8$$SyntheticClass:0)
at com.influxdb.client.internal.AbstractInfluxDBClient.<init>(AbstractInfluxDBClient.java:126)
at com.influxdb.client.internal.AbstractInfluxDBClient.<init>(AbstractInfluxDBClient.java:79)
at com.influxdb.client.internal.InfluxDBClientImpl.<init>(InfluxDBClientImpl.java:99)
at com.influxdb.client.InfluxDBClientFactory.create(InfluxDBClientFactory.java:261)
at com.influxdb.client.InfluxDBClientFactory.create(InfluxDBClientFactory.java:180)
at de.fraunhofer.fokus.OpenMobileNetworkToolkit.InfluxDB2x.InfluxdbConnection.<init>(InfluxdbConnection.java:57)
at de.fraunhofer.fokus.OpenMobileNetworkToolkit.InfluxDB2x.InfluxdbConnections.getRicInstance(InfluxdbConnections.java:43)
at de.fraunhofer.fokus.OpenMobileNetworkToolkit.LoggingService.setupRemoteInfluxDB(LoggingService.java:513)
at de.fraunhofer.fokus.OpenMobileNetworkToolkit.LoggingService.onStartCommand(LoggingService.java:314)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4821)
at android.app.ActivityThread.-$$Nest$mhandleServiceArgs(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2289)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8177)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Specifications:
- Client Version: 7.0.0 and 7.1.0 not sure about older versions
- InfluxDB Version: 2.x but issue happens also if no connection is possible
- JDK Version: java 11
- Platform: Android
- Lingua principale
- Java
- Stelle
- 477
- Fork
- 129
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di influxdata/influxdb-client-java
-
mTLS Support (Client Certificates)Forse già presa @NguyenHoangSon96 l’ha presa 11 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
influxdata/influxdb-client-java#849 · 4 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
influxdata/influxdb-client-java#830 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 38/100
Tutte le issue di influxdata/influxdb-client-java
Issue simili
-
[BUG] 订单:会员凭订单号即可取消其他会员的待付款订单(取消接口不校验订单归属)Forse già presa @dadiyang l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
macrozheng/mall#1016 ·
-
[Bug] The producer summary counts an unreported client version as a second version and warns about a version mixForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
apache/rocketmq-dashboard#6110 ·
I maintainer di solito rispondono entro 4 giorni
-
Python 3.15 supportForse già presa @amnesiaof l’ha presa oggi. ApertaL: python L: python:uv
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
dependabot/dependabot-core#16524 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
`Processing lsp` never exits and leaves orphaned processesForse già presa @overcast302 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
processing/processing4#1578 · 1 commento ·
-
bug needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
PlayersCommittee/gemp-swccg-public#1174 ·
I maintainer di solito rispondono entro 2 giorni