2014-12-05 65 views
2

我通過下面的代碼動畫地圖標記:NoSuchPropertyException在簽名版本

final Property<Marker, LatLng> property = 
     Property.of(Marker.class, LatLng.class, "position"); 
final ObjectAnimator animator = 
     ObjectAnimator.ofObject(otherMarker, property, typeEvaluator, toLatLng); 

這工作正常,在調試版本,但失敗與以下堆棧跟蹤的簽名版本:

0 
android.util.NoSuchPropertyException: No accessor method or field found for property with name position 
1 
at android.util.ReflectiveProperty.<init>(ReflectiveProperty.java:71) 
2 
at android.util.Property.of(Property.java:55) 
3 
at com.myapp.fragment.MapWrapperFragment.j(MapWrapperFragment.java:1090) 
4 
at com.myapp.ActivityA.l(ActivityA.java:860) 
5 
at com.myapp.fragment.FragmentA$22.onClick(FragmentA.java:377) 
6 
at android.view.View.performClick(View.java:4438) 
7 
at android.view.View$PerformClick.run(View.java:18422) 
8 
at android.os.Handler.handleCallback(Handler.java:733) 
9 
at android.os.Handler.dispatchMessage(Handler.java:95) 
10 
at android.os.Looper.loop(Looper.java:136) 
11 
at android.app.ActivityThread.main(ActivityThread.java:5001) 
12 
at java.lang.reflect.Method.invokeNative(Native Method) 
13 
at java.lang.reflect.Method.invoke(Method.java:515) 
14 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
15 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
16 
at dalvik.system.NativeStart.main(Native Method) 

這可能是什麼原因?我不確定它是否相關,但我正在使用Proguard。

+0

我在使用proguard時在標記動畫中遇到同樣的問題。你可以讓我知道你使用了什麼規則 - 由matiash建議的-keep或-keepnames。 – ajay 2015-01-21 23:34:07

+0

謝謝。我在http://developer.android.com/google/play-services/setup.html#Proguard – ajay 2015-01-23 02:29:29

+0

上使用了這些信息您使用的是Google Maps 7.0.0嗎?我用你的proguard設置,但我仍然得到錯誤,也許他們內部改變了一些東西。 – 2015-04-13 08:41:50

回答

2

Proguard正在刪除或重命名該字段,因爲它不知道通過反射完成的任何訪問。這就是它在運行時失敗的原因。

您應該添加一個-keep(或-keepnames)規則來防止這種情況發生。

4

我偶然發現了同樣的問題,但提供的proguard更改沒有爲我做。我猜是因爲我用的是新的播放服務(「com.google.android.gms:發揮服務,地圖:7.0.0」),他們可能有不同的內部結構

什麼工作對我來說是:

-keep class com.google.android.gms.** { *; } 
+0

好人。它也適用於我。 – 2016-12-23 10:15:13

相關問題