gpt4 book ai didi

android - 使用 AChartEngine 混淆器

转载 作者:行者123 更新时间:2023-11-30 02:30:45 26 4
gpt4 key购买 nike

我正在使用 Proguard 来混淆我的应用程序。
我使用 AChartEngine 绘制线性图表。
发疯了:在创建 apk 并尝试放大后,我收到此错误。

> 12-09 02:42:18.739: E/AndroidRuntime(14569): FATAL EXCEPTION: main
> 12-09 02:42:18.739: E/AndroidRuntime(14569): Process:
> com.sss.exchangecenter, PID: 14569 12-09 02:42:18.739:
> E/AndroidRuntime(14569): java.lang.IndexOutOfBoundsException: Invalid
> index 0, size is 0 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> java.util.ArrayList.get(ArrayList.java:308) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> org.achartengine.chart.LineChart.drawSeries(ProGuard:168) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> org.achartengine.chart.XYChart.drawSeries(ProGuard:518) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> org.achartengine.chart.XYChart.draw(ProGuard:311) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> org.achartengine.GraphicalView.onDraw(ProGuard:168) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.draw(View.java:15114) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> android.view.View.updateDisplayListIfDirty(View.java:14048) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.getDisplayList(View.java:14071) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3388)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3367)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.updateDisplayListIfDirty(View.java:14008) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.getDisplayList(View.java:14071) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3388)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3367)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.updateDisplayListIfDirty(View.java:14008) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.getDisplayList(View.java:14071) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3388)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3367)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.updateDisplayListIfDirty(View.java:14008) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.getDisplayList(View.java:14071) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3388)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3367)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.updateDisplayListIfDirty(View.java:14008) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.getDisplayList(View.java:14071) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3388)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3367)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.updateDisplayListIfDirty(View.java:14008) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.getDisplayList(View.java:14071) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3388)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3367)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.updateDisplayListIfDirty(View.java:14008) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.getDisplayList(View.java:14071) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3388)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3367)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.updateDisplayListIfDirty(View.java:14008) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.getDisplayList(View.java:14071) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3388)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3367)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.updateDisplayListIfDirty(View.java:14008) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.getDisplayList(View.java:14071) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3388)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3367)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.updateDisplayListIfDirty(View.java:14008) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.getDisplayList(View.java:14071) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3388)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3367)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.updateDisplayListIfDirty(View.java:14008) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.View.getDisplayList(View.java:14071) 12-09 02:42:18.739:
> E/AndroidRuntime(14569): at
> android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:266)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:272)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ThreadedRenderer.draw(ThreadedRenderer.java:311) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewRootImpl.draw(ViewRootImpl.java:2492) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2337) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1968)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
> 12-09 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.Choreographer.doCallbacks(Choreographer.java:580) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at
> android.view.Choreographer.doFrame(Choreographer.java:550) 12-09
> 02:42:18.739: E/AndroidRuntime(14569): at android.v

我将这些行添加到 proguard.txt

-keep public class org.achartengine.*.* { *; }
-keep public class org.achartengine.** { *; }

最佳答案

我通过添加这些行解决了这个问题:

-keep public class org.achartengine.*.* { *; } 
-keep public class org.achartengine.** { *; }

关于android - 使用 AChartEngine 混淆器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27374131/

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