2015-02-04 8 views
6

Ho un progetto che utilizza due moduli (librerie), ho creato un'attività e il relativo file di layout in una delle mie librerie, non riesco ad aggiungere nuove viste in quel layout (Textview, Imageview ecc.). Ecco l'output logcat.Nuova vista nel file xml (layout) non può essere creata (java.lang.NoSuchFieldError: nessun campo statico tv di tipo I)

java.lang.NoSuchFieldError: No static field tv of type I in class Lcom/camera/sushant/opencamera/R$id; or its superclasses (declaration of 'com.camera.sushant.opencamera.R$id' appears in /data/app/com.streetspotr.streetspotr.staging-1/base.apk) 
    at com.camera.opencamera.MediaPreview.onCreate(MediaPreview.java:89) 
    at android.app.Activity.performCreate(Activity.java:5933) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
    at android.app.ActivityThread.access$800(ActivityThread.java:144) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5221) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

risposta

24

A quanto pare quello che stava accadendo, ho avuto il layout con lo stesso nome nel mio modulo app e il mio modulo di libreria. Quindi, quando ho confezionato l'applicazione, ho sempre preso il layout dal modulo della mia app, non dal modulo della libreria. Così ho dovuto cancellare il layout nel mio modulo app e tutto ha funzionato bene.

+0

Milioni di grazie – DeveloperX

+0

Sei un risparmiatore di vita! grazie – FOliveira

+0

Sì, questo era il mio caso. Ho anche provato a utilizzare lo spazio dei nomi completo per risorse come 'com.company.product.module.R.layout.layout_name', e tuttavia ho ottenuto lo stesso errore. Ho finito per eliminare il layout con lo stesso nome dalla cartella di layout della mia app. –

0

Lo spostamento di una risorsa dal progetto in una libreria può comportare anche questo problema. Se lo hai fatto, la pulizia del progetto risolve il problema ...