2014-11-28 6 views
8

Dropbox, Google Drive ve Box cloud hizmetlerini içeren android uygulama geliştirdim. Test ettim ve her şey çalışıyordu. Bundan sonra bunu imzalamış ve ben imzalanan apk büyüklüğündeydi oysa o ayıklama apk boyutu 8.5MB 7MB.Still ben istisnajava.lang.NoSuchFieldError: PUBLIC_ONLY, imzalı yapıdaki Android'de Box api'yi kullanırken

 11-28 12:51:14.129: E/AndroidRuntime(2702): FATAL EXCEPTION: main 
    11-28 12:51:14.129: E/AndroidRuntime(2702): Process: com.idealtech.mycoud, PID: 2702 
    11-28 12:51:14.129: E/AndroidRuntime(2702): java.lang.NoSuchFieldError: PUBLIC_ONLY 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at java.lang.Class.getDeclaredAnnotation(Native Method) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at java.lang.Class.getAnnotation(Class.java:290) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at com.b.a.c.f.ae.<clinit>(Unknown Source) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at com.b.a.c.z.<clinit>(Unknown Source) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at com.box.boxjavalibv2.jsonparsing.BoxJSONParser.<init>(Unknown Source) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at com.box.boxjavalibv2.BoxClient.a(Unknown Source) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at com.box.boxjavalibv2.BoxClient.<init>(Unknown Source) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at com.box.boxjavalibv2.BoxClient.<init>(Unknown Source) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at com.box.boxandroidlibv2.BoxAndroidClient.<init>(Unknown Source) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at com.box.boxandroidlibv2.activities.OAuthActivity.a(Unknown Source) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at com.box.boxandroidlibv2.activities.OAuthActivity.a(Unknown Source) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at com.box.boxandroidlibv2.activities.OAuthActivity.onCreate(Unknown Source) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at android.app.Activity.performCreate(Activity.java:5248) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at android.app.ActivityThread.access$800(ActivityThread.java:139) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at android.os.Handler.dispatchMessage(Handler.java:102) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at android.os.Looper.loop(Looper.java:136) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at android.app.ActivityThread.main(ActivityThread.java:5086) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at java.lang.reflect.Method.invokeNative(Native Method) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at java.lang.reflect.Method.invoke(Method.java:515) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
    11-28 12:51:14.129: E/AndroidRuntime(2702):  at dalvik.system.NativeStart.main(Native Method) 

Its değil aşağıda var her şeyi Kutusu bulut functionality.I hariç çalışma edildiği komple uygulama test edildi fark debug'da bulduğu kitaplığı alma .Bu sorunu gidermek için ne yapabilirim? Lütfen bana yardım edin. Bu sorun nedeniyle başvurumu yayınlayamadım. Şimdiden teşekkürler.

cevap

15

Bu sorunu progard ile derlerken jackson kütüphanesi nedeniyle aldım, proguard dosyasında aşağıdaki satırları ekleyerek sabitledim.

-keepnames class com.fasterxml.jackson.** { 
*; 
} 
-keepnames interface com.fasterxml.jackson.** { 
    *; 
} 
+2

Kilitlenme uygulamamı kilitlememeye yardımcı olan (ancak yine de çalışmıyor). Baharat ve Güçlendirme kullanıyorum. Çözümü aldınız mı –

+0

. coz Ben aynı acı çekiyorum. Jackson'la güçlendirmeyi kullanıyorum. kabul edilen cevap, hata ve uyarı mesajını çözdü ancak uzaktaki web servisini çağırmadı. –

+0

Yukarıdaki kod, proguardın jackson kütüphanesinden gizlenmemesi için önlenmesi anlamına gelir. Güçlendirme proguard ayarlarınız yanlış görünüyor. Lütfen düzeltme resmi koruma ayarlarını kontrol edin –