AndlyticsProject / andlytics

Google Play - Android Market statistics app
Other
535 stars 181 forks source link

"Error while requesting developer console" in version 2.3 #267

Closed Ereza closed 11 years ago

Ereza commented 11 years ago

Hello:

I updated to the latest Andlytics version and the typical error pop-up shows up. I have seen on logcat that the following error is thrown:

12-18 10:06:45.315: E/Main(18865): Error while requesting developer console : {"result":[null,[[null,[null,"cat.ereza.apm",[null,[[null,"en-US","APM?","Aquesta aplicació conté més de 650 sons de frases de l'APM? perquè les puguis reproduir en qualsevol moment, sense necessitat de tenir connexió!\n\nA part de reproduir-les, també podràs fer tot això:\n-Definir un conjunt de frases preferides per accedir-hi més ràpidament.\n-Definir-les com a to de notificació, telèfon, alarma o contacte.\n-Enviar-les per WhatsApp, correu o MMS.\n-Crear converses combinant diversos sons i compartir-los o reproduir-los com un de sol.\n-Afegir frases com a widgets a l'escriptori.\n-Veure els vídeos de YouTube de cada so! (necessitaràs connexió a Internet)\n-Enviar-les com a enllaç a Facebook, Twitter, etc.\n-Reproduir sons aleatòriament\n-Utilitzar el mode de broma perquè soni una frase quan moguis el mòbil!\n\nATENCIÓ! Els widgets només funcionaran si l'aplicació està instal·lada a la memòria interna! Si la passes a la SD, no podràs afegir-ne i els existents poden mostrar errors o desaparèixer (no és culpa nostra, Android funciona així).\n\nAPM? (Alguna Pregunta Més?) és un programa de televisió que s'emet a Televisió de Catalunya (TV3). Aquesta aplicació no ha estat desenvolupada per TV3 i per tant NO és oficial.\n\nExplicació dels permisos:\n-Modificar contingut de la SD/emmagatzematge USB: per poder passar-la a la SD o emmagatzematge USB i escriure fitxers temporals en compartir els sons\n-Accés total a Internet i visualitzar l'estat de la xarxa: anuncis AdMob i estadístiques anònimes\n-Llegir i escriure dades de contactes: per assignar tons a contactes concrets\n-Modificar la configuració del sistema: per definir tons de trucada\n\nNota de versions:\n-Els usuaris amb Android 2.2 o superior tenen accés a l'última versió.\n-Els usuaris amb Android 2.1 tenen accés a la versió 3.2.2.1 (22/06/2012), les versions posteriors no són compatibles.\n-Els usuaris amb Android inferior a 2.1 tenen accés a la versió 2.2.4 (17/02/2012), les versions posteriors no són compatibles.\n\n---\n\nThis application contains more than 650 sounds of phrases from APM? so you can listen to them at any time, without a data connection!\n\nApart from playing them, you can also do the following:\n-Define a set of phrases as favorites, so you can access them quickly.\n-Define them as notificacion, phone, alarm or contact tones.\n-Send them through WhatsApp, e-mail or MMS.\n-Create conversations by combining different sounds and share or play them as a unique sound.\n-Add phrases as widgets on the desktop.\n-Watch the YouTube video of every sound! (you'll need an Internet connection)\n-Send them as links to Facebook, Twitter, etc.\n-Play random sounds\n-Use the Prank Mode to play a phrase when you move your device!\n\nWARNING! Widgets will only work if the application is installed on the internal memory! If you install it on the SD card, you will not be able to add any widget, and the existing ones may show errors or disappear (it's not our fault, Android works this way).\n\nAPM? (Alguna Pregunta Més?) is a television program broadcasted by Televisió de Catalunya (TV3). This application has not been developed by TV3 and as such, it is NOT official.\n\nPermissions explanation:\n-Modify SD/USB storage contents: to be able to copy it to the SD card or USB storage and write temporary files when sharing sounds\n-Total Internet access and view network state: AdMob ads and anonymous statistics\n-Read and write contacts data: to be able to set ringtones for specific contacts\n-Modify system settings: to be able to set ringtones\n\nVersions note:\n-Users with Android 2.2 or newer have access to the latest version.\n-Users with Android 2.1 have access to version 3.2.2.1 (22/06/2012), newer versions are not compatible.\n-Users with Android below 2.1 have access to version 2.2.4 (17/02/2012), newer versions are not compatible.","","Versió 3.4.2.1:\n-Afegits 8 sons nous!\n-Corregit l'enllaç al vídeo del so \"Cabró\" (gràcies, Oriol!)\n-

Could it be related to the fact that most of my apps use multiple APKs and are not yet supported by the new Developer Console? However, all the info that Andlytics shows is still visible and usable in v2 (comments, ratings and downloads), it's just that I can't edit the listing.

Maybe I'm wrong and it has to do with encoding, or any other thing?

I can send you more details if you tell me how to do it.

My device info in case this matters: Samsung GT-I9300 with Android 4.2 (CyanogenMod 10.1 nightly)

willlunniss commented 11 years ago

Have you got a full stack trace, there should be an exception from inside JsonParser that is the root cause?

Ereza commented 11 years ago

No, that's the only thing that gets printed in logcat, apart from the classic GC stuff. The string gets cut because of logcat character limit, which is quite annoying...

willlunniss commented 11 years ago

Ohh, well there is a problem with the DevConsoleException class or the point at which we catch and log/show the exception in the base activity as we need to see the original cause, not just the JSON string. @nelenkov Any thoughts as to why the cause isn't being printed out?

If you can run the app in debug mode from the dev branch and put a breakpoint https://github.com/AndlyticsProject/andlytics/blob/dev/src/com/github/andlyticsproject/console/v2/DevConsoleV2Protocol.java#L130 You should get an exception from inside JsonParser

Ereza commented 11 years ago

Done!

Here is the stack trace:

org.json.JSONException: Value null at 1 of type org.json.JSONObject$1 cannot be converted to int
    at org.json.JSON.typeMismatch(JSON.java:100)
    at org.json.JSONArray.getInt(JSONArray.java:357)
    at com.github.andlyticsproject.console.v2.JsonParser.parseAppInfos(JsonParser.java:201)
    at com.github.andlyticsproject.console.v2.DevConsoleV2Protocol.parseAppInfosResponse(DevConsoleV2Protocol.java:128)
    at com.github.andlyticsproject.console.v2.DevConsoleV2.fetchAppInfos(DevConsoleV2.java:162)
    at com.github.andlyticsproject.console.v2.DevConsoleV2.fetchAppInfosAndStatistics(DevConsoleV2.java:110)
    at com.github.andlyticsproject.console.v2.DevConsoleV2.getAppInfo(DevConsoleV2.java:98)
    at com.github.andlyticsproject.Main$LoadRemoteEntries.doInBackground(Main.java:443)
    at com.github.andlyticsproject.Main$LoadRemoteEntries.doInBackground(Main.java:1)
    at android.os.AsyncTask$2.call(AsyncTask.java:287)
    at java.util.concurrent.FutureTask.run(FutureTask.java:234)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
    at java.lang.Thread.run(Thread.java:856)

And the full JSON in case you need it is as follows (would attach it as a file but seems only images are accepted? so sorry for the long post):

{"result":[null,[[null,[null,"cat.ereza.apm",[null,[[null,"en-US","APM?","Aquesta aplicació conté més de 650 sons de frases de l'APM? perquè les puguis reproduir en qualsevol moment, sense necessitat de tenir connexió!\n\nA part de reproduir-les, també podràs fer tot això:\n-Definir un conjunt de frases preferides per accedir-hi més ràpidament.\n-Definir-les com a to de notificació, telèfon, alarma o contacte.\n-Enviar-les per WhatsApp, correu o MMS.\n-Crear converses combinant diversos sons i compartir-los o reproduir-los com un de sol.\n-Afegir frases com a widgets a l'escriptori.\n-Veure els vídeos de YouTube de cada so! (necessitaràs connexió a Internet)\n-Enviar-les com a enllaç a Facebook, Twitter, etc.\n-Reproduir sons aleatòriament\n-Utilitzar el mode de broma perquè soni una frase quan moguis el mòbil!\n\nATENCIÓ! Els widgets només funcionaran si l'aplicació està instal·lada a la memòria interna! Si la passes a la SD, no podràs afegir-ne i els existents poden mostrar errors o desaparèixer (no és culpa nostra, Android funciona així).\n\nAPM? (Alguna Pregunta Més?) és un programa de televisió que s'emet a Televisió de Catalunya (TV3). Aquesta aplicació no ha estat desenvolupada per TV3 i per tant NO és oficial.\n\nExplicació dels permisos:\n-Modificar contingut de la SD/emmagatzematge USB: per poder passar-la a la SD o emmagatzematge USB i escriure fitxers temporals en compartir els sons\n-Accés total a Internet i visualitzar l'estat de la xarxa: anuncis AdMob i estadístiques anònimes\n-Llegir i escriure dades de contactes: per assignar tons a contactes concrets\n-Modificar la configuració del sistema: per definir tons de trucada\n\nNota de versions:\n-Els usuaris amb Android 2.2 o superior tenen accés a l'última versió.\n-Els usuaris amb Android 2.1 tenen accés a la versió 3.2.2.1 (22/06/2012), les versions posteriors no són compatibles.\n-Els usuaris amb Android inferior a 2.1 tenen accés a la versió 2.2.4 (17/02/2012), les versions posteriors no són compatibles.\n\n---\n\nThis application contains more than 650 sounds of phrases from APM? so you can listen to them at any time, without a data connection!\n\nApart from playing them, you can also do the following:\n-Define a set of phrases as favorites, so you can access them quickly.\n-Define them as notificacion, phone, alarm or contact tones.\n-Send them through WhatsApp, e-mail or MMS.\n-Create conversations by combining different sounds and share or play them as a unique sound.\n-Add phrases as widgets on the desktop.\n-Watch the YouTube video of every sound! (you'll need an Internet connection)\n-Send them as links to Facebook, Twitter, etc.\n-Play random sounds\n-Use the Prank Mode to play a phrase when you move your device!\n\nWARNING! Widgets will only work if the application is installed on the internal memory! If you install it on the SD card, you will not be able to add any widget, and the existing ones may show errors or disappear (it's not our fault, Android works this way).\n\nAPM? (Alguna Pregunta Més?) is a television program broadcasted by Televisió de Catalunya (TV3). This application has not been developed by TV3 and as such, it is NOT official.\n\nPermissions explanation:\n-Modify SD/USB storage contents: to be able to copy it to the SD card or USB storage and write temporary files when sharing sounds\n-Total Internet access and view network state: AdMob ads and anonymous statistics\n-Read and write contacts data: to be able to set ringtones for specific contacts\n-Modify system settings: to be able to set ringtones\n\nVersions note:\n-Users with Android 2.2 or newer have access to the latest version.\n-Users with Android 2.1 have access to version 3.2.2.1 (22/06/2012), newer versions are not compatible.\n-Users with Android below 2.1 have access to version 2.2.4 (17/02/2012), newer versions are not compatible.","","Versió 3.4.2.1:\n-Afegits 8 sons nous!\n-Corregit l'enllaç al vídeo del so \"Cabró\" (gràcies, Oriol!)\n-Corregit un error en definir els sons com a to. Ara també es fa seguint l'estructura de carpetes estàndard d'Android.\n\nVersió 3.4.0.1:\n-Afegits 44 sons nous!\n-Compartició directament des del menú del WhatsApp, amb cerca i preferits!\n-Possibilitat de veure els vídeos de YouTube de la majoria de frases.\n-Millores en el desplaçament lateral lliscant amb el dit.\n-Millorada la pantalla Quant a\n-I més!"]
]
,[null,0,6,2]
]
,null,[[null,null,[null,null,"cat.ereza.apm",1,"1.0.0",null,[null,null,null,"https://lh5.ggpht.com/t9-xJn2im9WYsun4DSPjZKs5roZkI7T1LjKC9PsOAMsqBXXm6PvruOWQcZKr3yo9SCY"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",2,"1.0.1",null,[null,null,null,"https://lh5.ggpht.com/e4kOrEVNCmeWIkZ0LYAYaS4N1B_TOwoIxXliyK1z5tSRAPBUf9Dp3X1zzW88QuFWrz8"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",3,"1.1.0",null,[null,null,null,"https://lh3.ggpht.com/GycJJe_cu7PbkjK9IOGw-hU9F-7nB91PwiWdT_p8hK_CNJWrK2FehEcymKmgKelvEZc"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",4,"1.2.0",null,[null,null,null,"https://lh6.ggpht.com/KySzA2oZA8wBYBoXn0G7l9U5fIedrn1khrv_vgQqJNZ3ZFrxAlrBz6dsEZYZK4CpRQ"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",5,"1.3.0",null,[null,null,null,"https://lh3.ggpht.com/l4LiXBujG8mBuW5ekkdCExxFiFoHR7EvEgWfCk8OwBMN02bk1gNW7FBqEFWps5upICk"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",6,"1.3.1",null,[null,null,null,"https://lh5.ggpht.com/YQG-dbIMBq78plNvFBLd2UZsj41qp-BEgy7aJ2t-kWK2AnBhsPjVZiP3D1iIOjXI-aSQ"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",7,"1.3.2",null,[null,null,null,"https://lh5.ggpht.com/AiFqMMUL4ms0kdkd3xhUGPeE12kKgr3yCwaF1dJxshMEhKblvIfAqD2M57wtfOJpXWBu"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",8,"1.4.0",null,[null,null,null,"https://lh6.ggpht.com/inO3LOcA-YZ722QDHIXvx7AX-FVelYEDfjXpJG7IsonJr1cmCrXplzEtdVo6Qf2gPss"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",9,"1.5.0",null,[null,null,null,"https://lh6.ggpht.com/lzwALVs9PiykWMqYAL0zNvdSGid8dQR_ELoLGVQ3JyPop54aWOAz9oUunyKhZGOva5Q"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",10,"2.0.0",null,[null,null,null,"https://lh4.ggpht.com/bUljKH0auJdIj2VxQRq-nSxQiyTimKv-Th1Ff0eneaJR6Z2GXaerEoloChojSQ90Tj_r"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",11,"2.1.0",null,[null,null,null,"https://lh6.ggpht.com/rYxzurIIPFJbjLLSGszG_8VeAK6YVpc7OTQYVO0_njVpJv-M1sYRr8dwKQUkhbyAaJQ"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",12,"2.2.0",null,[null,null,null,"https://lh5.ggpht.com/A1Ck0T82TJpva87zZnfezVAphUJvFrsSB5YxbZpIPMoFVmlwuuU4uj3sSgkUeUn2hQ"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",13,"2.2.1",null,[null,null,null,"https://lh6.ggpht.com/3sYMBR7Xye1dSSoAbTkXX6ebbyeyLc36M-uuj-hy06vKFEwkcY2fD2i2TCKSVgVO5A"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",14,"2.2.2",null,[null,null,null,"https://lh5.ggpht.com/oHzy7obhP0uJ04kAL2QRN5xuW-8XanRqC-WdJ-eJaLD0mxFSqKL391t2HvqKHyFFnIfv"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",15,"2.2.3",null,[null,null,null,"https://lh5.ggpht.com/X5GDZpcWROCXRqG1ejJKX0V0N2Oq8S11fFrMidiQjPGhNLQR2uoW2LXlxhF35f0hw4k"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",17,"3.0.2.1",null,[null,null,null,"https://lh5.ggpht.com/xybTJw44l1Ags_nEssYLfUO0F9oHrbIqswh2BMOX5h1HhRoWLC2Ks67-KLoWMpVY-m0"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",18,"3.1.0.1",null,[null,null,null,"https://lh6.ggpht.com/7YYrZanW8NGzKU9H1pLCL7PGh2nWMCMGVJ2OiEDw0GEFPzYxKxqYF40c8NQXwn2lIz8"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",19,"3.1.0.2",null,[null,null,null,"https://lh4.ggpht.com/FRqPH1vaHXslGnG_2Z88wMFPxtmK_2dyxrURjE2Kk7wtldOYTG-h_K5jbhN3WyXKY0k"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",20,"3.2.0.1",null,[null,null,null,"https://lh5.ggpht.com/iNS6O823GE80x_p_jc1sRnaHDBbYuN1_ztkraEophb0M7_t9kyKuPOr6LBLWDUzVQIGv"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",22,"3.4.0.1",null,[null,null,null,"https://lh5.ggpht.com/e7-AKt4PnOzdoUEG0tmGI-fMjTsxZXG7qBJYq-nWZqjWezD8-O5M0wobbMaxFXIbcaJE"]
]
,2]
,[null,null,[null,null,"cat.ereza.apm",16,"2.2.4",null,[null,null,null,"https://lh3.ggpht.com/oOteX5kzJ46WrCpx4EQRqzA6zV51q5Os2zNYfL7TmM8Ezq4rx-NUpzVWyHOoX1GstS8"]
]
,1]
,[null,null,[null,null,"cat.ereza.apm",21,"3.2.2.1",null,[null,null,null,"https://lh3.ggpht.com/a-VmygIGUeHEmRJCXGp8Ea7eQpBVZPXNyYKxFYuJDcuaWE-zfBaxiHbm25iVLMS2Q8B2"]
]
,1]
,[null,null,[null,null,"cat.ereza.apm",23,"3.4.2.1",null,[null,null,null,"https://lh4.ggpht.com/e9ef-NKL4spQZ0XFMABL5F4HLHEQO-MD0nXMG2jvemFZNIHRishtaqlHgSgQCAs7NYA"]
]
,1]
]
,[null,"0","EUR"]
,"1354892868939",1]
,[[null,69]
]
,[null,"73267","1894",4.788807,1,"232419"]
]
,[null,[null,"cat.ereza.apmkey",[null,[[null,"en-US","ZZZ - Clau de l'APM? / APM? Ke","***REBAIXADA A MEITAT DE PREU PER UN TEMPS LIMITAT!!***\n\nAquesta clau permet eliminar els anuncis de l'aplicació \"APM?\". Una vegada instal·lada, l'aplicació ja no mostrarà anuncis ni l'enllaç per eliminar-los.\n\nATENCIÓ! Si desinstal·les aquesta aplicació, es tornaran a mostrar els anuncis, però una vegada comprada, pots reinstal·lar-la sempre que vulguis de manera totalment gratuïta!\n\n---\n\n***HALF PRICE FOR A LIMITED TIME!!***\n\nThis key removes the ads on the \"APM?\" application. Once installed, the application will no longer show ads nor the link to remove them.\n\nWARNING! If you uninstall this application, the ads will be shown again, but once you have bought it, you can reinstall it forever for free!","","Versió 2.1.0:\n-Icones modificades amb suport per a totes les resolucions de pantalla\n-Afegides traduccions a castellà i anglès\n\nVersió 2.0.0:\n-Canviat el logo per un de genèric a petició de la productora de l'APM?\n-Disponible per a dispositius amb pantalla petita, i també per als que no tenen pantalla tàctil\n-Adaptat a la versió 2.x de l'APM?"]
]
,[null,0,6,1]
]
,null,[[null,null,[null,null,"cat.ereza.apmkey",1,"1.0.0",null,[null,null,null,"https://lh4.ggpht.com/axAue13ARwN-hWvvo-iHrb7XrMuxDEbbh4P6MhI6AyZGOvTvs5pv9R3Nb8n9_LdlcZMF"]
]
,2]
,[null,null,[null,null,"cat.ereza.apmkey",2,"2.0.0",null,[null,null,null,"https://lh5.ggpht.com/sjvQP5iRHUWUoANEdV0xGJfctHsRUVxGhXATDtI3wQfkkLH3WbrpYBV7rwfOPVY5deM"]
]
,2]
,[null,null,[null,null,"cat.ereza.apmkey",3,"2.0.0",null,[null,null,null,"https://lh6.ggpht.com/4iClrhps4olegPnQGSkiZeR8bq6gVug-Vmxz6avvxZTjuXp3CA7VMcHOrXUs686WcEg"]
]
,2]
,[null,null,[null,null,"cat.ereza.apmkey",4,"2.1.0",null,[null,null,null,"https://lh5.ggpht.com/Xyl-fl8k69l5IOWSmru0hQtRc60l__m_if1A50rTaUZRa1nMsDAYMVzgINIMHrbJ9To"]
]
,1]
]
,[null,"950000","EUR"]
,"1317604053590",2]
,[[null,49]
,[null,57,["BR","CZ","IL","IN","MX","PL","RU"]
]
]
,[null,"5","1",5.0,null,"18"]
]
,[null,[null,"cat.ereza.sounds.animals",[null,[[null,"en-US","Animals Soundboard","This application contains more than 120 sounds of different animals so you can listen to them at any time, without a data connection!\n\nWant to play with your pets? Or maybe you're just searching for some animal sounds? Whatever the reason you have, you will get a nice collection of many sounds: cats, dogs, sheep, macaws, bees, canaries, chickens, cougars, crows, elephants, pigs, goats, hawks, horses, lions, tigers, mosquitoes, vultures, foxes, wolves, turkeys, and many more!\n\nApart from playing them, you can also do the following:\n-Define a set of sounds as favorites, so you can access them quickly.\n-Define them as notification, phone, alarm or contact ringtones.\n-Send them through WhatsApp, e-mail or MMS.\n-Add sounds as widgets on the desktop.\n-Play random sounds.\n-Use the Prank Mode to play with your pet. The sound will play when you (or your pet) move your phone.\n\nWARNING! Widgets will only work if the application is installed on the internal memory! If you install it on the SD card, you will not be able to add any widget, and the existing ones may show errors or disappear (it's not our fault, Android works this way).\n\nPermissions explanation:\n-Modify SD/USB storage contents: to be able to copy it to the SD card or USB storage and write temporary files when sharing sounds\n-Total Internet access and view network state: AdMob ads, anonymous statistics and access to the \"Most popular\" list\n-Read and write contacts data: to be able to set ringtones for specific contacts (we don't do anything more with your contacts!)\n-Modify system settings: to be able to set ringtones\n\nVersions note:\n-Users with Android 2.2 or newer have access to the latest version.\n-Users with Android 2.1 have access to version 3.0.2.1 (19/03/2012), newer versions are not compatible.\n-Users with Android below 2.1 have access to version 1.1.2 (15/02/2012), newer versions are not compatible.","","Version 3.4.3.1:\n-Most popular sounds tab\n-New Prank Mode\n-You can now share the sounds from WhatsApp audio menu\n-You can change tabs by swiping\n-Added languages: Italian, French (incomplete) and Polish (incomplete), and updated Russian\n-Solved issue setting the sounds as ringtone. Now saves the ringtones in the standard Android folders\n-Relocated \"Send suggestion\" button\n-Nicer look in the about screen\n-Lots of other bugfixes and improvements"]
]
,[null,0,25,1]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.animals",1,"1.0.0",null,[null,null,null,"https://lh4.ggpht.com/9qsWB9RBRyuvWW_6n4UBnc98Sm-2_Ej_Au-A6DMCdwdukZ5N7e_shzX1aIMrmfm-Y4bt"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.animals",2,"1.0.1",null,[null,null,null,"https://lh4.ggpht.com/RiscM32Gip7FRJEVNLn7RI6NSn2nKZnGJ8-qXml7SuDEkQ-cNDD65qxxWEV2P1lU8C2t"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.animals",3,"1.1.0",null,[null,null,null,"https://lh6.ggpht.com/-7jaCfcnBFUbMQyRmkCxxTuHINLR7FC6OFb8Nu7QbfHaqEjiFYwq_rtvb1MURkuUWQ"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.animals",4,"1.1.1",null,[null,null,null,"https://lh6.ggpht.com/DYgXU-CJ84yPqYGG0gyNi45Rp3nZqfAhJ163ZSfMTRD7TPsI8jFyhnxKaGq_OkvGobg"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.animals",6,"3.0.0.1",null,[null,null,null,"https://lh5.ggpht.com/5sMliUFy5us_ld0UChFRilC58NSEzPKKaAu9MUa_1tGltSm8eXG__Nf_eDO-orq8GQtJ"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.animals",5,"1.1.2",null,[null,null,null,"https://lh5.ggpht.com/eR0m8aPqaguj1XR53pdv60wm6ihhDp-2ZogolVHA3X9VMGL_IXO4c5AVbRUk9bYPnzw"]
]
,1]
,[null,null,[null,null,"cat.ereza.sounds.animals",7,"3.0.2.1",null,[null,null,null,"https://lh6.ggpht.com/6ZkXa8Z92k2dmdLzdzV-obosZ8fWhdyiO5O7xz-dvp9UZBdk0jU1OL9ZrqlbauinIQM"]
]
,1]
,[null,null,[null,null,"cat.ereza.sounds.animals",8,"3.4.3.1",null,[null,null,null,"https://lh6.ggpht.com/TeqfXTgdtbN2iY_1eTkQwTRgjrnCRbJVXWOT73HDhckuNJe12mGV39db9stxdDnghw"]
]
,1]
]
,[null,"0","EUR"]
,"1355071622952",1]
,[[null,69]
]
,[null,"37147","295",4.220339,8,"210527"]
]
,[null,[null,"cat.ereza.sounds.animalskey",[null,[[null,"en-US","ZZZ - Animals Soundboard Key","This key removes the ads on the \"Animals Soundboard\" application. Once installed, the application will no longer show ads nor the link to remove them.\n\nWARNING! If you uninstall this application, the ads will be shown again, but once you have bought it, you can reinstall it forever for free!","","Version 1.0.0:\n-Initial version"]
]
,[null,0,25,1]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.animalskey",1,"1.0.0",null,[null,null,null,"https://lh4.ggpht.com/Itxv4-Uz3Q-OyLmPkhkbmx8RJtdwv0qIIl43X-SRoCjuUJdumOnmqfF1PhhLv6XT5ww"]
]
,1]
]
,[null,"950000","EUR"]
,"1318557103731",2]
,[[null,49]
,[null,57,["BR","CZ","IL","IN","MX","PL","RU"]
]
]
,[null,"0","0",0.0,null,"3"]
]
,[null,[null,"cat.ereza.sounds.baby",[null,[[null,"en-US","Baby Sounds","This application contains more than 70 different baby sounds so you can listen to them at any time, without a data connection!\n\nWant to hear some baby sounds? Whatever the reason you have, you will get a nice collection of many baby sounds: babbling babies, crying babies, laughing babies, babies saying mama or papa, singing babies, etc.\n\nApart from playing them, you can also do the following:\n-Define a set of sounds as favorites, so you can access them quickly.\n-Define them as notification, phone, alarm or contact ringtones.\n-Send them through WhatsApp, e-mail or MMS.\n-Add sounds as widgets on the desktop.\n-Play random sounds.\n-Use the Prank Mode to play a sound when you move your phone.\n\nWARNING! Widgets will only work if the application is installed on the internal memory! If you install it on the SD card, you will not be able to add any widget, and the existing ones may show errors or disappear (it's not our fault, Android works this way).\n\nPermissions explanation:\n-Modify SD/USB storage contents: to be able to copy it to the SD card or USB storage and write temporary files when sharing sounds\n-Total Internet access and view network state: AdMob ads, anonymous statistics and access to the \"Most popular\" list\n-Read and write contacts data: to be able to set ringtones for specific contacts (we don't do anything more with your contacts!)\n-Modify system settings: to be able to set ringtones\n\nVersions note:\n-Users with Android 2.2 or newer have access to the latest version.\n-Users with Android 2.1 or below have access to version 3.0.3.1 (04/04/2012), newer versions are not compatible.","","Version 3.4.3.1:\n-Most popular sounds tab\n-New Prank Mode\n-You can now share the sounds from WhatsApp audio menu\n-You can change tabs by swiping\n-Added languages: Italian, French (incomplete) and Polish (incomplete), and updated Russian\n-Solved issue setting the sounds as ringtone. Now saves the ringtones in the standard Android folders\n-Relocated \"Send suggestion\" button\n-Nicer look in the about screen\n-Lots of other bugfixes and improvements\n\nVersion 3.0.3.1:\n-Initial version"]
]
,[null,0,25,1]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.baby",1,"3.0.3.1",null,[null,null,null,"https://lh3.ggpht.com/BYHlFki6r61tBMu7cQc-0PGQe_mMcCC13joMxnErTYKXBLkaggXM9oSAr_7MJRhoKQ"]
]
,1]
,[null,null,[null,null,"cat.ereza.sounds.baby",2,"3.4.3.1",null,[null,null,null,"https://lh6.ggpht.com/KbcFeiCml1MGhiVIB5H7y4SWgpJRBe3Pp3AYc6ZDuSDsTb2XGrhF6GqIjdka-H4m58C4"]
]
,1]
]
,[null,"0","EUR"]
,"1355074465370",1]
,[[null,69]
]
,[null,"61655","593",4.1551433,13,"450557"]
]
,[null,[null,"cat.ereza.sounds.burptime",[null,[[null,"en-US","It's burp time!","This application contains 12 different burp sounds so you can play with them at any time.\n\nApart from playing them, it also offers the following options:\n-Define a set of sounds as favorites, so you can access them quickly.\n-Add sounds as widgets on the desktop.\n-Define them as notification, phone, alarm or contact tones.\n-Send them through WhatsApp, e-mail or MMS.\n\nIf you are searching for a more generic nasty sounds application, you can check \"Nasty Sounds\", which has these and many more sounds (farts, vomit, diarrhea, spit, etc.) \n\nWARNING! Widgets will only work if the application is installed on the internal memory! If you install it on the SD card, Android automatically disables widgets!\n\nPermissions explanation:\n-Modify SD contents: to be able to copy it to the SD card\n-Total Internet access and view network state: AdMob ads\n-Read and write contacts data: set ringtones for specific contacts\n-Modify system setting: set ringtones","","Version 3.3.1.1:\n-New Prank Mode! Long-press a sound, then choose \"Prank Mode\", set up your phone and when you move it, the sound will play!\n-Check which sounds are the most popular\n-Share directly from WhatsApp audio menu!\n-You can swipe between tabs\n-Updated translations, adding French and Polish\n-Several detected errors solved (or modified so they don't crash the app). If you find any, let us know!\n-Other minor improvements\n\nVersion 3.0.4.1:\n-Initial version"]
]
,[null,0,25,2]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.burptime",1,"3.0.4.1",null,[null,null,null,"https://lh6.ggpht.com/10_uZCfJy1JNr0c2g36muVJt9prm-1vIIMgvwaPqdJZjNGKS05YPDQtF1qSCw1yn04E"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.burptime",2,"3.3.1.1",null,[null,null,null,"https://lh6.ggpht.com/HUIuDepPC0hgis0jeV6Ma9LDqRzJ6J9trmBSoxkQvOesjtPv38plfmRy2aS95ab28yw"]
]
,1]
]
,[null,"0","EUR"]
,"1345731250716",1]
,null,[null,"2999","31",4.322581,1,"18868"]
]
,[null,[null,"cat.ereza.sounds.calicoelectronico",[null,[[null,"en-US","Cálico Electrónico Soundboard","This application contains more than 50 sounds of phrases from Cálico Electrónico so you can listen to them at any time.\n\nApart from listening to them, it also offers the following options:\n-Define a set of phrases as favorites, so you can access them quickly.\n-Add phrases as widgets on the desktop.\n-Define them as notificacion, phone or alarm tones.\n-Send them through WhatsApp, e-mail or MMS.\n\nWARNING! Widgets will only work if the application is installed on the internal memory! If you installl it on the SD card, Android automatically disables widgets!\n\nThis application has not been developed by Electronicaweb nor Nikodemo and as such, it is not official.","","Version 1.0.0:\n-Initial version"]
]
,[null,0,6,1]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.calicoelectronico",1,"1.0.0",null,[null,null,null,"https://lh6.ggpht.com/tCh5UYPxU9Q70up23z1h6JcARnWJ15S86Apk6dN4F3eKTQQ8j50_PI6ZrUScf6BKmw"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.calicoelectronico",2,"1.0.0",null,[null,null,null,"https://lh6.ggpht.com/G9nx_g-r52cQf0Z0O_Dz83AbuBLUf4KQ9dRf3qQ9uKB-HmzrnXlR3HKnh74ciz0T3l8p"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.calicoelectronico",3,"1.0.0",null,[null,null,null,"https://lh4.ggpht.com/zxoxANdF5PFUhkV_xiA4OopK5bDQs1fsSM08i_BIuCovUBfTEEiTIr3zsjaf2zIHUVad"]
]
,1]
]
,[null,"0","EUR"]
,"1317810829579",2]
,[[null,49]
]
,[null,"5","1",5.0,null,"41"]
]
,[null,[null,"cat.ereza.sounds.calicoelectronicokey",[null,[[null,"en-US","ZZZZ -- DELETED - Cálico Key","This key removes the ads on the \"Cálico Electrónico Soundboard\" application. Once installed, the application will no longer show ads nor the link to remove them.\n\nWARNING! If you uninstall this application, the ads will be shown again, but once you have bought it, you can reinstall it forever for free!","","Version 1.0.0:\n-Initial version"]
]
,[null,0,6,1]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.calicoelectronicokey",1,"1.0.0",null,[null,null,null,"https://lh5.ggpht.com/aWAnebIwW-jZGoPdW6sLr-KI17fA4VY5gjip5Q467XCApky-nbvPi-QBZ6i4npkxc0Mj"]
]
,2]
]
,[null,"0","EUR"]
,"1317810821197",2]
,[[null,40]
,[null,49]
,[null,40]
]
,[null,null,"0",0.0]
]
,[null,[null,"cat.ereza.sounds.calicoelectroniconewkey",[null,[[null,"en-US","ZZZ - Cálico Electrónico Key","This key removes the ads on the \"Cálico Electrónico Soundboard\" application. Once installed, the application will no longer show ads nor the link to remove them.\n\nWARNING! If you uninstall this application, the ads will be shown again, but once you have bought it, you can reinstall it forever for free!","","Version 1.0.0:\n-Initial version"]
]
,[null,0,6,1]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.calicoelectroniconewkey",1,"1.0.0",null,[null,null,null,"https://lh6.ggpht.com/vnZg5MdRYw3_L5O7--fNfI0enqQ23bQXY7Cz1zljvAKrvx64uxWYCh6FDrmcW0YCLA"]
]
,1]
]
,[null,"950000","EUR"]
,"1317811502423",2]
,[[null,49]
,[null,57,["BR","CZ","IL","IN","MX","PL","RU"]
]
]
,[null,null,"0",0.0]
]
,[null,[null,"cat.ereza.sounds.carmendemairena",[null,[[null,"en-US","Carmen de Mairena Phrases","This application contains more than 50 phrases by Carmen de Mairena so you can listen to them at any time, without a data connection!\n\nApart from playing them, you can also do the following:\n-Define a set of phrases as favorites, so you can access them quickly.\n-Define them as notificacion, phone, alarm or contact tones.\n-Send them through WhatsApp, e-mail or MMS.\n-Add phrases as widgets on the desktop.\n-Watch the YouTube video of some of the sounds! (you'll need an Internet connection)\n-Play random sounds\n\nWARNING! Widgets will only work if the application is installed on the internal memory! If you install it on the SD card, you will not be able to add any widget, and the existing ones may show errors or disappear (it's not our fault, Android works this way).\n\nPermissions explanation:\n-Modify SD/USB storage contents: to be able to copy it to the SD card or USB storage and write temporary files when sharing sounds\n-Total Internet access and view network state: AdMob ads and anonymous statistics\n-Read and write contacts data: to be able to set ringtones for specific contacts\n-Modify system settings: to be able to set ringtones\n\nVersions note:\n-Users with Android 2.2 or newer have access to the latest version.\n-Users with Android 2.1 have access to version 3.1.1.1 (04/06/2012), newer versions are not compatible.\n-Users with Android below 2.1 have access to version 1.0.2 (15/02/2012), newer versions are not compatible.","","Version 3.4.1.1:\n-2 new phrases and 1 new song!\n-Sharing directly within WhatsApp's own menu, with search \u0026 favorites\n-Watch YouTube videos for some off the phrases.\n-Swipe between tabs has been improved.\n-About screen improved.\n-Solved a rare error with the volume bar.\n-Several improvements and many changes in the internal works (if you have any problem, please let us know!)"]
]
,[null,0,6,3,2]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.carmendemairena",1,"1.0.0",null,[null,null,null,"https://lh4.ggpht.com/e5R1wUG2flVhzhNptn8zYN5nzMLekKVZqfjdO8wA-LkgybJ-C6GwRAFbn6K-JZDoOMjC"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.carmendemairena",2,"1.0.1",null,[null,null,null,"https://lh4.ggpht.com/rrcFf5x0cF81H1kQ2Qt8hX8QUwLwdrWYUBydV4-jbOFv6gUsKSAMjbm2CaUTlg2LuQ"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.carmendemairena",4,"3.3.0.1",null,[null,null,null,"https://lh6.ggpht.com/-4BSVEHkrv2sjOvODu-S0qaeafcVtF_GBMto-BNSHekiLAcRnmrjq5LcS0ZiH2vUnTU"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.carmendemairena",5,"3.0.2.1",null,[null,null,null,"https://lh5.ggpht.com/XMxaLOcr2Qp4yoX-lo-CQk2pL3w-FfxZIaaTrnlK0qX1-eU47Fe-w1diTKp3ZKt88D0c"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.carmendemairena",3,"1.0.2",null,[null,null,null,"https://lh3.ggpht.com/HBDj_yBPxl0OjE8WKgCthCpNDs7aq63emAClfEcLyyWmqXPca-qCdWKlynmEMn6SG3k"]
]
,1]
,[null,null,[null,null,"cat.ereza.sounds.carmendemairena",6,"3.1.1.1",null,[null,null,null,"https://lh6.ggpht.com/yYg6DuTswUGJ031Q8RnXumOaZ-4HPP5mBZTtJ345b-E7bfnZ3E7_jfZQ3zDcGFOf9Q"]
]
,1]
,[null,null,[null,null,"cat.ereza.sounds.carmendemairena",7,"3.4.1.1",null,[null,null,null,"https://lh3.ggpht.com/ITuQjpkb15q8-V9ZJSQFWr_8G4MeibxnT1muc03fBD_Ys4u9WNXY5Z7UbFcA7aGT8fI"]
]
,1]
]
,[null,"0","EUR"]
,"1354646103411",1]
,[[null,69]
]
,[null,"4609","82",4.0731707,0,"44105"]
]
,[null,[null,"cat.ereza.sounds.carmendemairenakey",[null,[[null,"en-US","ZZZ - Carmen de Mairena Key","This key removes the ads on the \"Carmen de Mairena Soundboard\" application. Once installed, the application will no longer show ads nor the link to remove them.\n\nWARNING! If you uninstall this application, the ads will be shown again, but once you have bought it, you can reinstall it forever for free!","","Version 1.0.0:\n-Initial version"]
]
,[null,0,6,1]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.carmendemairenakey",1,"1.0.0",null,[null,null,null,"https://lh4.ggpht.com/dQT6atsay8nuuRUkeq5dIl-xMv5M1QOZTjjR9TBJgQAB021yXXsKZniFbo7LDWoy_6Yp"]
]
,1]
]
,[null,"950000","EUR"]
,"1322173509168",2]
,[[null,49]
,[null,57,["BR","CZ","IL","IN","MX","PL","RU"]
]
]
,[null,null,"0",0.0]
]
,[null,[null,"cat.ereza.sounds.cats",[null,[[null,"en-US","Cat Sounds","This application contains 45 cat sounds, so you can listen to them at any time.\n\nWant to play with your cat or confuse him? Or maybe you just want to hear some cat sounds? Whatever the reason you have, you will get a nice collection of cat sounds: meowing, hissing, growling, purring, angry cats, little kittens, etc. \n\nApart from listening to the sounds, the application also offers the following options:\n\n-Define a set of sounds as favorites, so you can access them quickly.\n-Add sounds as widgets on the desktop.\n-Define them as notification, phone, alarm or contact tones.\n-Send them through WhatsApp, e-mail or MMS.\n-Use the Prank Mode to play with your cat (or maybe your dog, who knows!). The sound will play when you (or your cat) move your phone.\n-Play random sounds.\n-Check which sounds are most popular.\n\nWARNING! Widgets will only work if the application is installed on the internal memory! If you install it on the SD card, Android automatically disables widgets!\n\nPermissions explanation:\n-Modify SD contents: to be able to copy it to the SD card\n-Total Internet access and view network state: AdMob ads, Flurry analytics and access to the \"Most popular\" list\n-Read and write contacts data: set ringtones for specific contacts (we don't do anything more with your contacts!)\n-Modify system settings: set ringtones","","Version 3.3.2.1:\n-Initial version"]
]
,[null,0,25,1]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.cats",1,"3.3.2.1",null,[null,null,null,"https://lh6.ggpht.com/fN8o7AYlSyoU8GNIIbx77Y0YTpjWUFj9OqSk9L_7qqyli5u7mpLzLloBhzCUuKElkg"]
]
,1]
]
,[null,"0","EUR"]
,"1345857288823",1]
,null,[null,"140192","1391",4.1588783,15,"540253"]
]
,[null,[null,"cat.ereza.sounds.farttime",[null,[[null,"en-US","It's fart time!","This application contains 35 different fart sounds so you can play with them at any time.\n\nApart from playing them, it also offers the following options:\n-Define a set of sounds as favorites, so you can access them quickly.\n-Add sounds as widgets on the desktop.\n-Define them as notification, phone, alarm or contact tones.\n-Send them through WhatsApp, e-mail or MMS.\n\nIf you are searching for a more generic nasty sounds application, you can check \"Nasty Sounds\", which has these and many more sounds (burps, vomit, diarrhea, spit, etc.) \n\nWARNING! Widgets will only work if the application is installed on the internal memory! If you install it on the SD card, Android automatically disables widgets!\n\nPermissions explanation:\n-Modify SD contents: to be able to copy it to the SD card\n-Total Internet access and view network state: AdMob ads\n-Read and write contacts data: set ringtones for specific contacts\n-Modify system setting: set ringtones","","Version 3.3.1.1:\n-New Prank Mode! Long-press a sound, then choose \"Prank Mode\", set up your phone and when you move it, the sound will play!\n-Check which sounds are the most popular\n-Share directly from WhatsApp audio menu!\n-You can swipe between tabs\n-Updated translations, adding French and Polish\n-Several detected errors solved (or modified so they don't crash the app). If you find any, let us know!\n-Other minor improvements\n\nVersion 3.0.4.1:\n-Initial version"]
]
,[null,0,25,2]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.farttime",1,"3.0.4.1",null,[null,null,null,"https://lh4.ggpht.com/sZK4rXmUDgIu5IE03si-hCLlGtONV5HTciaK4MjStQShPaexrKN70BQfRRFgW56Dbbj3"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.farttime",2,"3.3.1.1",null,[null,null,null,"https://lh3.ggpht.com/R7FHJzxJ8J00zFKDYHO5XJyNuYdu3DH9aVnN2SqqOfPPric6Cnph1mlMtSdWKFm-_5IA"]
]
,1]
]
,[null,"0","EUR"]
,"1345732196427",1]
,null,[null,"9054","131",3.816794,3,"68172"]
]
,[null,[null,"cat.ereza.sounds.nasty",[null,[[null,"en-US","Nasty Sounds","This application contains more than 70 nasty sounds (farts, burps, vomits, etc.) so you can listen to them at any time.\n\nApart from listening to them, it also offers the following options:\n-Define a set of sounds as favorites, so you can access them quickly.\n-Add sounds as widgets on the desktop.\n-Define them as notification, phone, alarm or contact tones.\n-Send them through WhatsApp, e-mail or MMS.\n\nSounds included: fart, burp, vomit, cough, snore, snort, spit, and many more!\n\nWARNING! Widgets will only work if the application is installed on the internal memory! If you install it on the SD card, Android automatically disables widgets!\n\nPermissions explanation:\n-Modify SD contents: to be able to copy it to the SD card\n-Total Internet access and view network state: AdMob ads\n-Read and write contacts data: set ringtones for specific contacts\n-Modify system setting: set ringtones","","Version 3.3.1.1:\n-New Prank Mode! Long-press a sound, then choose \"Prank Mode\", set up your phone and when you move it, the sound will play!\n-Check which sounds are the most popular\n-Share directly from WhatsApp audio menu!\n-You can swipe between tabs\n-Updated translations, adding French and Polish\n-The volume bar is updated when returning to the app (wasn't updated)\n-Several detected errors solved (or modified so they don't crash the app). If you find any, let us know!\n-Other minor improvements"]
]
,[null,0,25,2,2]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.nasty",1,"1.0.0",null,[null,null,null,"https://lh3.ggpht.com/ifAxbNjW_aYcJFEMr38Lw0LYsOvShEgAWhsiBNcZjNAJs3xhiivSPvhIiCgyGWwxlZc"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.nasty",2,"1.0.1",null,[null,null,null,"https://lh5.ggpht.com/HZx-1g6l3fh-o5n7UmNOUNOcHvCka311d1J7RXLBAEdMarp1LiDhL0FzfPbVj7gR3v9A"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.nasty",4,"3.0.1.1",null,[null,null,null,"https://lh3.ggpht.com/PMiTXD-C0xJQvK1wn0nBPuIfUE1azz1y_e7gV-QbuC0bT0oZEsm8595RuzONcf6AS3U"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.nasty",5,"3.0.2.1",null,[null,null,null,"https://lh3.ggpht.com/sfRiqmJW11-Mkp1XQdoDTXZPKTBS6HVptdUBGqNCMD7DkDb62FqVi-eJ4dufWtXs3kM"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.nasty",6,"3.3.0.1",null,[null,null,null,"https://lh6.ggpht.com/gLCK4zv5HWwBzgDQJ00v1Eirlei8bs-RRYz64BpxDGJ-QddnAlW4OjwY7pduttn8ZXg"]
]
,2]
,[null,null,[null,null,"cat.ereza.sounds.nasty",3,"1.0.2",null,[null,null,null,"https://lh4.ggpht.com/2odOCfQOw0ZC8Bb_NMKvebwJ0WkTOlKA5-90LPQF04jtD9Ap1gRX_iqGPUZwC3M21QY"]
]
,1]
,[null,null,[null,null,"cat.ereza.sounds.nasty",7,"3.3.1.1",null,[null,null,null,"https://lh3.ggpht.com/dgzM50m1T7Mr52cEXhaa2-XJAFNw-P2_4AJsnqyspOO3mfu3WTJSEEaLyg-S3fxLp1U"]
]
,1]
]
,[null,"0","EUR"]
,"1345692524022",1]
,[[null,69]
]
,[null,"210919","2754",4.1423383,13,"1480477"]
]
,[null,[null,"cat.ereza.sounds.nastykey",[null,[[null,"en-US","ZZZ - Nasty Sounds Key","This key removes the ads on the \"Nasty Sounds\" application. Once installed, the application will no longer show ads nor the link to remove them.\n\nWARNING! If you uninstall this application, the ads will be shown again, but once you have bought it, you can reinstall it forever for free!","","Version 1.0.0:\n-Initial version"]
]
,[null,0,25,1]
]
,null,[[null,null,[null,null,"cat.ereza.sounds.nastykey",1,"1.0.0",null,[null,null,null,"https://lh5.ggpht.com/ZVGex0n65QRMIMKWBHmK0mp_1CcbHKmoRKGCAkQEFViS6pZbmX6zeyreZZKRYhzjoDZY"]
]
,1]
]
,[null,"950000","EUR"]
,"1321757401398",2]
,[[null,49]
,[null,57,["BR","CZ","IL","IN","MX","PL","RU"]
]
]
,[null,"0","0",0.0,null,"1"]
]
]
],"xsrf":"AMtNNDF7FmQfbVxbD0E1emVu1lFLi-Wn2g:1355828344000"}
willlunniss commented 11 years ago

Can you put a breakpoint https://github.com/AndlyticsProject/andlytics/blob/dev/src/com/github/andlyticsproject/console/v2/JsonParser.java#L199 and look at the contents of jsonAppStats for each app, specifically any where the index 1 is null which I think is for this app cat.ereza.sounds.calicoelectroniconewkey is this draft/unpublished/no installs? Or do any of your apps show has not being installed on the web version.

Ereza commented 11 years ago

I was just doing that, hahaha!

It seems that the app "cat.ereza.sounds.calicoelectronicokey" (an app I never published, so it's in unpublished status) has the following in jsonAppStats: [null,null,"0",0]

It crashes on getInt(1) because it's null, but would crash also on the following line, getInt(5) as there is no fifth position.

Actually, on the Developer Console itself, no numbers are displayed in the "active / total installs", "ratings" and "errors" columns.

willlunniss commented 11 years ago

So at https://github.com/AndlyticsProject/andlytics/blob/dev/src/com/github/andlyticsproject/console/v2/JsonParser.java#L154 what is publishState and what is in jsonAppInfo

We were talking about unpublished apps in #223, maybe we should just ignore them for now untill we can properly handle them and the fact they may have partial data, I didn't realised that unpublised ones could be in an incomplete state.

Ereza commented 11 years ago

publishState is 2, jsonAppInfo has this:

[null,"cat.ereza.sounds.calicoelectronicokey",[null,[[null,"en-US","ZZZZ -- DELETED - Cálico Key","This key removes the ads on the \"Cálico Electrónico Soundboard\" application. Once installed, the application will no longer show ads nor the link to remove them.\n\nWARNING! If you uninstall this application, the ads will be shown again, but once you have bought it, you can reinstall it forever for free!","","Version 1.0.0:\n-Initial version"]],[null,0,6,1]],null,[[null,null,[null,null,"cat.ereza.sounds.calicoelectronicokey",1,"1.0.0",null,[null,null,null,"https:\/\/lh5.ggpht.com\/aWAnebIwW-jZGoPdW6sLr-KI17fA4VY5gjip5Q467XCApky-nbvPi-QBZ6i4npkxc0Mj"]],2]],[null,"0","EUR"],"1317810821197",2]

I agree with #223, actually, I have all my unpublished apps disabled manually in Andlytics, but it seems that it fetches them anyway.

willlunniss commented 11 years ago

I've pushed a quick fix that skips unpuplished apps for now. We can then decide if we even want an option to show them, and if so, how to deal with the fact that the data may be incomplete i.e. surround the inner loop with a try catch and in the case of an exception, throw it if the app is published and continue and ignore the app if it is unpublished.

Ereza commented 11 years ago

That fixed it for me. Thanks!

nelenkov commented 11 years ago

So it begins :)

The exception constructor that takes the JSON string as parameter does not save the cause (JSON exception), that's why we can't see it. Will fix that. We should also dump to strings to files in /sdcard/andlytics, so it's easier to get bug reports. They are to long to be shown in logs and stack traces.

BTW, I do have an unpublished app (state shows as 'Ready to publish') and I don't get this problem, so something is probably slightly different here.

AndyScherzinger commented 11 years ago

andlytics2 3 bugs_JSON

looking at the JSON errors in bugsense...Should we release a hotfix then? (I am offline for the rest of the day :()

nelenkov commented 11 years ago

On how many unique devices is this happening? For some reason BugSense shows up empty for me.

AndyScherzinger commented 11 years ago

On one, well one one for a lot of devices... we have quite some JSON errors but they are tracked individually due to the JSON string...

JSON_errors_2 3

AndyScherzinger commented 11 years ago

I'll post two of theme here now:

com.github.andlyticsproject.console.DevConsoleProtocolException: {"result":[null,[[null,[null,"com.engigna.free.rpgmap",[null,[[null,"en-US","Rpg Map Free","\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d NOTE: after the installation, the app will download all graphical elements (over 60mb) \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Follow our web site for guides, tutorials and video every week a new content! \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d REMBER this simple rule: 1 TAP to Select and rotate, 1 LONG TAP to insert elements on the maps. \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d The power of map creation at your fingertip! We are role players, we know the importance of a fast mapping tool that do one thing and do it at the best: design map. We know that size matters, so we have implemented an huge amount of Non Player Characters (NPC) ordered by their size. We will release new graphical elements like Player Characters (PC), Non Player Chacacters (NPC) and Tileset frequently because for us is important the user experience and we know that players (as we are) are hungry of new contents. Finally we know the importance of tasting before buying, so you can download the free version of the application. And all this is only on Android plattform!","The power of map creation at your fingertip, easy build your rpg battle map!","IMPORTANT: we are investigating about problems with ICONIA TABS! But if you need support use our site at: www.rpgdroid.com. Thanks!

To use The Exalted Battle Wheel simply:

NOTE: You will need an active internet connection","",""] ] ,[null,0,6,1] ] ,null,[[null,null,[null,null,"com.rhubbit.masseffectwiki",1,"Asimov",null,[null,null,null,"https://lh4.ggpht.com/mAj_PWyxeWaETgjpQfm_4EJIpAsm5HdqYepqLMHdAsyVt0WV4_skkotN--8dnay5DaM"] ] ,2] ,[null,null,[null,null,"com.rhubbit.masseffectwiki",2,"Asimov",null,[null,null,null,"https://lh6.ggpht.com/CX8CKYyVQcqwIsJSUQDuuWcuVMSxIh_ELVXeILQAIzxC_jdHM-Iyio5glXoRG86K4tI"] ] ,1] ] ,[null,"0","EUR"] ,"1335878366769",1] ,null,[null,"1248","14",3.642857,null,"5128"] ] ,[null,[null,"com.rhubbit.walkingup",[null,[[null,"it-IT","WalkingUp Beta","Tutti noi, ogni giorno, desideriamo ricevere informazioni senza doverle cercare attivamente mentre svolgiamo le nostre attività quotidiane o visitiamo nuove località. Tutti noi abbiamo passioni, interessi, bisogni e idee che vorremmo soddisfare o portare avanti e che ci migliorano la vita. Siamo sempre alla ricerca di nuove soluzioni ma spesso non abbiamo il tempo di ricercarle o non penseremmo mai di trovarle proprio lì a due passi da noi mentre stiamo facendo tutt'altro. Walking Up, a differenza di qualsiasi altro prodotto esistente sul mercato, permette di ricevere automaticamente contenuti digitali e multimediali strettamente legati al tempo, al luogo in cui ci si trova e agli interessi dell’utente. Lascia che siano le informazioni dal mondo circostante a raggiungerti direttamente sul tuo smartphone, selezionate in base alle tue necessità, per godere di una nuova \"Walking Experience\". Dopo tutto, ti priveresti mai di uno strumento che ti suggerisce in automatico esperienze sempre nuove legate alle tue passioni quando vuoi e dove disponibili a due passi da te? Puoi rinunciare a tutto ma non alle tue passioni! Walking Up è nato proprio da questa intuizione ed è l’unica soluzione che presenta questo tipo di automazione!

Attualmente siamo in BETA su un luogo circoscritto: BARI

PER FAVORE PRIMA DI ESPRIMERE UN GIUDIZIO NEGATIVO, SCRIVETECI SU

http://www.walkingup.it/forum/ O CONTATTATECI VIA MAIL ALL'INDIRIZZO: info@walkingup.it

SIATE COMPRENSIVI, CI STIAMO SFORZANDO PER OFFRIRVI IL MIGLIOR SERVIZIO POSSIBILE E CI SARANNO AGGIORNAMENTI FREQUENTI.

Visita il sito http://www.walkingup.it per poter visionare al meglio il progetto! Ti rigraziamo per la fiducia

WalkingUp Team","Il tuo assistente personale sempre in tasca"] ] ,[null,0,5,2] ] ,null,[[null,null,[null,null,"com.rhubbit.walkingup",1,"1.0",null,[null,null,null,"https://lh6.ggpht.com/xoljZ-Gb-B415sxdhmMBTSRMKzma9FrTnA692J5gl_kmEvGcyy-UyRC_cVcvs5QHubdO"] ] ,2] ,[null,null,[null,null,"com.rhubbit.walkingup",2000,"WalkingUp@Bari",null,[null,null,null,"https://lh5.ggpht.com/_X7039LreDmBk45nsyoqIrUP9tpI2dPhEOhNVDKyya6z6pA0N2A2yWrO1Fa4ZEeY8OE"] ] ,2] ,[null,null,[null,null,"com.rhubbit.walkingup",2001,"WalkingUp@Bari",null,[null,null,null,"https://lh5.ggpht.com/6o54Z78q2gYa69CD-XtaQ-fG8emTJUOMAM_VRy434q7B5fZDd21idmHa_uIXuqrPWeRM"] ] ,1] ] ,[null,"0","EUR"] ,"1355063651383",1] ,null,[null,"65","16",5.0,null,"96"] ] ,[null,[null,"com.rhubbit.worldofwarcraft.tcg.assistant",[null,[[null,"en-US","WoW TCG Assistant","This app is designed after some match to this great game without pen and paper to write life points so i've search for an app and i haven't found any app that was useful for me... An interesting feature is the card search that allows you to find cards or deck directly from www.tcgbrowser.com.

These are the simple Instructions that you will find in the app also. 1- Set your life points 2- Set your opponent life points 3- Press Start at your right to begin a new match and reset the match log file 4- When you finish a match LONG CLICK in this section

If you like the app pls vote it! :)","","- android 2,1+ support

These are the simple Instructions that you will find in the app also. 1- Set your life points 2- Set your opponent life points 3- Press Start at your right to begin a new match and reset the match log file 4- When you finish a match LONG CLICK in this section

If you like the app pls vote it! :)","",""] ] ,[null,0,6,1] ] ,null,[[null,null,[null,null,"com.rhubbit.worldofwarcraft.tcg.helper",1,"Loque",null,[null,null,null,"https://lh4.ggpht.com/2__t1xaHLu3ehIL1GRVTyCdpCt03HgmHc0el-19mRuoZYKjfL5z_w8p-npLQTzMsPA"] ] ,2] ] ,[null,"0","EUR"] ,"1341178686122",2] ,[[null,40] ,[null,40] ] ,[null,null,"0",0.0] ] ] ],"xsrf":"AMtNNDFWlXvY1erBLCkU5S9z0bFWYuBBJg:1355848125000"} at com.github.andlyticsproject.console.v2.DevConsoleV2Protocol.parseAppInfosResponse(DevConsoleV2Protocol.java:130) at com.github.andlyticsproject.console.v2.DevConsoleV2.fetchAppInfos(DevConsoleV2.java:162) at com.github.andlyticsproject.console.v2.DevConsoleV2.fetchAppInfosAndStatistics(DevConsoleV2.java:110) at com.github.andlyticsproject.console.v2.DevConsoleV2.getAppInfo(DevConsoleV2.java:98) at com.github.andlyticsproject.Main$LoadRemoteEntries.doInBackground(Main.java:443) at com.github.andlyticsproject.Main$LoadRemoteEntries.doInBackground(Main.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:264) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) at java.util.concurrent.FutureTask.run(FutureTask.java:137) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) at java.lang.Thread.run(Thread.java:856) Caused by: org.json.JSONException: Value null at 1 of type org.json.JSONObject$1 cannot be converted to int at org.json.JSON.typeMismatch(JSON.java:100) at org.json.JSONArray.getInt(JSONArray.java:357) at com.github.andlyticsproject.console.v2.JsonParser.parseAppInfos(JsonParser.java:201) at com.github.andlyticsproject.console.v2.DevConsoleV2Protocol.parseAppInfosResponse(DevConsoleV2Protocol.java:128) ... 11 more org.json.JSONException: Value null at 1 of type org.json.JSONObject$1 cannot be converted to int at org.json.JSON.typeMismatch(JSON.java:100) at org.json.JSONArray.getInt(JSONArray.java:357) at com.github.andlyticsproject.console.v2.JsonParser.parseAppInfos(JsonParser.java:201) at com.github.andlyticsproject.console.v2.DevConsoleV2Protocol.parseAppInfosResponse(DevConsoleV2Protocol.java:128) at com.github.andlyticsproject.console.v2.DevConsoleV2.fetchAppInfos(DevConsoleV2.java:162) at com.github.andlyticsproject.console.v2.DevConsoleV2.fetchAppInfosAndStatistics(DevConsoleV2.java:110) at com.github.andlyticsproject.console.v2.DevConsoleV2.getAppInfo(DevConsoleV2.java:98) at com.github.andlyticsproject.Main$LoadRemoteEntries.doInBackground(Main.java:443) at com.github.andlyticsproject.Main$LoadRemoteEntries.doInBackground(Main.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:264) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) at java.util.concurrent.FutureTask.run(FutureTask.java:137) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) at java.lang.Thread.run(Thread.java:856)


com.github.andlyticsproject.console.DevConsoleProtocolException: {"result":[null,[[null,[null,"com.conduit.app_3d8e4216f50740f0883a0a5d4fce373a.app",[null,[[null,"en-US","Nave360 2.0","Giving you the latest gaming news, reviews, previews, and a lot more straight to your Android device for free with no adverts!. Please write a review if you downloaded this app.

This application is available to more than 792 devices. Check out my other app, search for \"Major Nelson\" in the android market.","","- Improved header (hopefully)

Independent PC gaming coverage from Ironhammers.org -- news, reviews and even the occasional piece of hardware thrown in for good measure.

Download our Android app to stay up to date, allowing you to easily and cleanly view our latest articles and YouTube videos. You can also get all social with our latest Twitter and Facebook updates, right within the app.

If you like our content, don’t forget to come visit our full site over at Ironhammers.org, or maybe stop by and check out our weekly PC gaming podcast.

Massive thanks go to @Sebianoti for creating the app.","","Bug fixes and improvements"] ] ,[null,0,27,2] ] ,null,[[null,null,[null,null,"com.conduit.app_c0b812c95cba48888374bc775213c5eb.app",4,"1.3.3.984",null,[null,null,null,"https://lh6.ggpht.com/gX_FvoQn2lXY85HlZ-ny9f6bDR7sfHhE7O7Q3CV22tTQY6jjvdTe2pfnrIywUucsO_o"] ] ,2] ,[null,null,[null,null,"com.conduit.app_c0b812c95cba48888374bc775213c5eb.app",6,"1.4.3.984",null,[null,null,null,"https://lh5.ggpht.com/YJdJOzvSkwT_AHJp9PygVlI_15YC2KXKaFARwhscUhH9dsYaWG-nq89qyzazL_Caqsvi"] ] ,1] ] ,[null,"0","GBP"] ,"1354844618726",1] ,null,[null,"101","9",3.7777777,1,"432"] ] ,[null,[null,"com.conduit.app_f24f3afe802f42f1b1f1e427b1225e25.app",[null,[[null,"en-US","Majornelson 2.0","Get the latest news from Larry Hyrb also known as Major Nelson on your android phone!","",""] ] ,[null,0,6,2] ] ,null,[[null,null,[null,null,"com.conduit.app_f24f3afe802f42f1b1f1e427b1225e25.app",1,"1.2.2.1637",null,[null,null,null,"https://lh6.ggpht.com/gRxenVMWEf_KeipcBzumBh3QdrcLZfXBd2fLFfU-JN8HLXG5-0Dq_gzVnwKWlhzMe8Q4"] ] ,1] ] ,[null,"0","USD"] ,"1326593769444",2] ,[[null,49] ] ,[null,"0","1",5.0,null,"4"] ] ,[null,[null,"com.lineten.nave360",[null,[[null,"en-GB","Nave360 V2","Get your gaming fix from the brand new Nave360 for Android app, this latest version brings many enhancements over the last version, most noticeably whole new design which was created by following Android developer guidelines.

Nave360 has gaming news, reviews, previews, and a lot more straight to your Android device!

Please write a review if you downloaded this app. Works with tablets and phones,

---Keywords--- SmartGlass, Xbox 360, GTA V, Microsoft, Sony, PS3, Rockstar Games, Minecraft, Assassins Creed, gaming news, reviews, games, PC gaming.","","Bug fixes to stop crashes Support for Samsung multi window Support for widgets on Android 4.2 Lock screen"] ] ,[null,0,27,1] ] ,null,[[null,null,[null,null,"com.lineten.nave360",10702,"1.7.02",null,[null,null,null,"https://lh5.ggpht.com/PDAH9uEBu6YmkGLDQYgKbTFtWEbzkfDb556BHO8iiFVW5FZt84Z9hQoUhv5SbxuKUA"] ] ,2] ,[null,null,[null,null,"com.lineten.nave360",10813,"1.8.13",null,[null,null,null,"https://lh3.ggpht.com/bR7aibcusKSo7vrBMUh0k3TIXsFpYgtbAwG-pY6qLfro4rFIh8zW_REEPAVe1SKgiIRr"] ] ,2] ,[null,null,[null,null,"com.lineten.nave360",10818,"1.8.18",null,[null,null,null,"https://lh5.ggpht.com/V_IiLLFwWbOjb5zzZ99aE51M_o26kI8vo0rNrzGT1C2yh9cLb1HekQoi-Z31GmWd520"] ] ,1] ] ,[null,"0","GBP"] ,"1355422500417",1] ,null,[null,"292","7",4.857143,3,"1108"] ] ,[null,[null,"com.warting.blogg.wis_majornelson_feed_nu",[null,[[null,"en-US","Major Nelson","With this app you can get the latest and most important news about Xbox live on Xbox 360, Windows Phone 7/8, Windows 7 and 8 and Xbox features such as Xbox SmartGlass, Xbox Music and more directly from Major Nelson / Larry Hryb.

The app is free and has no adverts so please don't rate it badly

The app will send you notifications when new posts are published on the blog meaning you can get the latest posts whenever they are published.

Because of how Major Nelson's website is setup you maybe unable to read the whole post on certain articles such as podcsts in which case you just need to click Read More.","","Recent changes:

Works with tablets and phones, Check out my other app, search for \"Major Nelson\" in the android market.

---Keywords--- SmartGlass, Xbox 360, GTA V, Microsoft, Sony, PS3, Rockstar Games, Minecraft, Assassins Creed, gaming news, reviews, games, PC gaming,","Get your gaming fix from Nave360!",""] ] ,[null,0,6,1] ] ,null,[[null,null,[null,null,"com.warting.blogg.wis_sebianoti_feed_nu",8,"1.0.8",null,[null,null,null,"https://lh6.ggpht.com/rlSlTdTjaYiZnOYzdLEF-MFF1odcbC3kWRF7-eUOogP4-TeUmBB27CZ6KM21iXL63x7g"] ] ,2] ,[null,null,[null,null,"com.warting.blogg.wis_sebianoti_feed_nu",11,"1.0.10",null,[null,null,null,"https://lh6.ggpht.com/ReoSpxk4f1VueedI0PFKatZ9GUDcsm9tBzrJC5iKZuVpiy8t3Kjt5cNlJd6WZ5npy9bT"] ] ,2] ,[null,null,[null,null,"com.warting.blogg.wis_sebianoti_feed_nu",12,"1.2.5",null,[null,null,null,"https://lh6.ggpht.com/LUPBTOGP8RIUNp1Vq1RkfBk5_Kdp66kEDgmUe4WUnT29NBbe5Y_JGv1j7q_Wgj-Uujk"] ] ,2] ,[null,null,[null,null,"com.warting.blogg.wis_sebianoti_feed_nu",14,"1.3.0",null,[null,null,null,"https://lh3.ggpht.com/knvLJ_MF-5HaVdri6a-aq0CgJLaUxbaZhvwdQ4sgXU4P2WxVbEQLQTECAifawCB_WTPD"] ] ,1] ] ,[null,"0","GBP"] ,"1351465032991",1] ,null,[null,"189","24",4.7916665,1,"2100"] ] ,[null,[null,"com.warting.blogg.wis_theslowmoguys_feed_nu",[null,[[null,"en-US","The Slow Mo Guys","With this app you can stay up to date with The Slow Mo Guys videos. The app will update the feed with new videos from The Slow Mo Guys as soon as they are posted. When you click to watch a video, the app will take you to the official YouTube app with the video loaded saving you time looking it up.","",""] ] ,[null,0,6,1] ] ,null,[[null,null,[null,null,"com.warting.blogg.wis_theslowmoguys_feed_nu",1,"1.0.0",null,[null,null,null,"https://lh4.ggpht.com/oi0B9SuT5HPNWwS6Fa_yZ4L4oLeIL2mXgh4MrfM3mz3rA-nX-qGz0dUe-s7nQUIvSg"] ] ,1] ] ,[null,"790000","GBP"] ,"1353591859359",1] ,[[null,57,["BR"] ] ] ,[null,null,"0",0.0] ] ] ],"xsrf":"AMtNNDH9dC1hHsWqK2jxe1TL5E8sbW3iBg:1355839222000"} at com.github.andlyticsproject.console.v2.DevConsoleV2Protocol.parseAppInfosResponse(DevConsoleV2Protocol.java:130) at com.github.andlyticsproject.console.v2.DevConsoleV2.fetchAppInfos(DevConsoleV2.java:162) at com.github.andlyticsproject.console.v2.DevConsoleV2.fetchAppInfosAndStatistics(DevConsoleV2.java:110) at com.github.andlyticsproject.console.v2.DevConsoleV2.getAppInfo(DevConsoleV2.java:98) at com.github.andlyticsproject.Main$LoadRemoteEntries.doInBackground(Main.java:443) at com.github.andlyticsproject.Main$LoadRemoteEntries.doInBackground(Main.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:287) at java.util.concurrent.FutureTask.run(FutureTask.java:234) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) at java.lang.Thread.run(Thread.java:856) Caused by: org.json.JSONException: Value null at 1 of type org.json.JSONObject$1 cannot be converted to int at org.json.JSON.typeMismatch(JSON.java:100) at org.json.JSONArray.getInt(JSONArray.java:357) at com.github.andlyticsproject.console.v2.JsonParser.parseAppInfos(JsonParser.java:201) at com.github.andlyticsproject.console.v2.DevConsoleV2Protocol.parseAppInfosResponse(DevConsoleV2Protocol.java:128) ... 10 more org.json.JSONException: Value null at 1 of type org.json.JSONObject$1 cannot be converted to int at org.json.JSON.typeMismatch(JSON.java:100) at org.json.JSONArray.getInt(JSONArray.java:357) at com.github.andlyticsproject.console.v2.JsonParser.parseAppInfos(JsonParser.java:201) at com.github.andlyticsproject.console.v2.DevConsoleV2Protocol.parseAppInfosResponse(DevConsoleV2Protocol.java:128) at com.github.andlyticsproject.console.v2.DevConsoleV2.fetchAppInfos(DevConsoleV2.java:162) at com.github.andlyticsproject.console.v2.DevConsoleV2.fetchAppInfosAndStatistics(DevConsoleV2.java:110) at com.github.andlyticsproject.console.v2.DevConsoleV2.getAppInfo(DevConsoleV2.java:98) at com.github.andlyticsproject.Main$LoadRemoteEntries.doInBackground(Main.java:443) at com.github.andlyticsproject.Main$LoadRemoteEntries.doInBackground(Main.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:287) at java.util.concurrent.FutureTask.run(FutureTask.java:234) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) at java.lang.Thread.run(Thread.java:856)

willlunniss commented 11 years ago

Those are all missing info (missing active installs etc), probably from unpublished apps, which should now be fixed by skipping unpublished apps. I can do a release in the next 1.5 hours, after that I'm out for a few hours but could do one after that.

At least the cause is shown in Bugsense so it is defineately being put into the exception. Maybe Log.d(TAG, STRING, EXCEPTION), merges message + cause from the exception and caps the length, which is why we don't see the cause. If we log them seperately then it should print what we need.

AndyScherzinger commented 11 years ago

A new release sounds fine to me

willlunniss commented 11 years ago

I've fixed the cause of the exceptions not being logged. I'll change it to only parse apps with published state == 1, we can then add extra ones if people complain of stale data.

Can I just push this out as 2.3.1 without a changelog, or do we want to go through the whole process?

willlunniss commented 11 years ago

I've pushed 2.3.1 to google's servers. Lets see how that goes down and take it from there.

nelenkov commented 11 years ago

Thanks for releasing, sorry I couldn't really work on this last night.

Yes, there is a limit to the string length Log.d(), etc. print, don't remember the exact number. There is also a limit to the while logcat buffer, so a few long traces might fill it up. We should also probably write the JSON to a file to make sure it's not lost.

willlunniss commented 11 years ago

It would also be nice if we could ensure that the same errors with diffrent json got grouped, possibly by storing the json as a custom variable in the exception, rather than as the message. I assume bugsense lets you send custom data?

nelenkov commented 11 years ago

They do, but showing has been on and off, and there is probably size limit. It is also shown in the table with environment details, so it might get truncated at display time even if there is no limit.

Just merged the dump JSON to file thing.