Android 阿喀替因预瓜德

Android 阿喀替因预瓜德,android,class,proguard,achartengine,Android,Class,Proguard,Achartengine,我正在使用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

我正在使用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.** { *; }

你能分享你的代码+xml文件吗。看看你的日志,这个错误似乎不是由ProGuard造成的,尽管有一些痕迹。通过阅读你的问题,然后是你的答案,我真的很困惑。你基本上是说引起你的问题的两条线是一样的。。。。神奇地解决了它?什么?