Hi everyone.
I got a runtime error like this ( device: Asus zenphone )
I don’t use any of Widgets Library. So how can it be?
Hi everyone.
I got a runtime error like this ( device: Asus zenphone )
I don’t use any of Widgets Library. So how can it be?
Are you using any libraries that might be using the widget library?
I did check but nothing refers to Widget Library
I have searched my whole project with keyword ‘widget’ but see nothing about it
Sorry, but what kind of Corona libraries using widget library? I don’t use anylib likes TableView, ScrollView, v.v.v
Can you look in your console log and see if there are more messages around this? What libraries are you using?
http://docs.coronalabs.com/guide/basics/debugging/index.html
Rob
I’m really sorry that I can’t take a log. My friend checked it and just sent my a screenshot of it. It doesn’t happend frequently . Besides, I have never seen it on the Simulator.
I’m using libraries like: display, physic, graphics, audio, storyboard, timer, transition, json, math, Runtime, touch and accelerometer, v.v.v. I use Spine, too. But I took a look and saw it doesn’t use Widget.
What is v.v.v?
I’m sorry, it means ‘etc’ in my country :( . It’s just one or two more libraries that I don’t remember exactly, but I think they don’t matter much.
Could you guess what the bug is? It only happens on Devices. I have never seen this on Simulator
Something somewhere is trying to use a widget.newProgressView() API. If you’re not using it, then a library has to be using it. No part of our core code calls that function. If you tether your device to your computer and use adb logcat as documented in the link I provided above, there will be a full stack trace. Perhaps you could get your friends phone and put it into developer mode and capture the message. You could also use the Android tools to setup a device emulator (not our simulator, but an emulator that is closer to the real device) and see if you get the crash there at which case you would have access to the device’s logs.
Without this, your only other choice is to look through all your other code and see if something is calling widget.newProgressView().
Rob
As Rob said, check your code. You could also use the Terminal and cd into your Corona source directory and:
grep newProgressView \* grep newProgressView \*/\*
and if that doesn’t work:
grep -i widget \* grep -i widget \*/\*
My IDE has ‘Search Whole Project’ function, I use this but see nothing calling newProgressView (don’t see this word anywhere) . I don’t use any 3rd lib calling widget.newProgressView().
I known how to use Android Debug ( I always use Dalvik Debug Monitor ). But as I said, this bug doesn’t happen frequently. I really can’t catch it now. That’s ok if you can be sure Corona’s core code doesn’t call that function.
Guess I need a little luck to meet this bug again and catch its log
“Search Whole Project” may not search all the libraries you’re using. Hence my suggestion above.
I tried your suggestion with ’ grep newProgressView * ’ but still found nothing.
Btw, I don’t use any lib other than Corona’s Core Libs
Did you also do the grep newProgressview */* to get any sub directories? Or are you using the Corona Composer level designer to build your levels?
Rob
I did a check with ‘grep newProgressView’ ( you made a mistake with newProgressview, right? ). I also went to sub directories myself and did that check again. I still couldn’t see anything calling it
I used my own tool to build my levels. It ouput xml files and I wrote a loader to read them. I used a xml library, but it only used string lib so I think it can’t be the problem.
If you show us the results of all four shell commands I listed, that might help. Otherwise you’ll have to wait until you get the error and include that from a device log.
Hi Rob and corona273.
Here what I got from CoronaLog. I got this report from google. That’s all I have for now
java.lang.RuntimeException: /Users/jenkins/slaveroot/workspace/Templates/label/android/subrepos/widget/widgetLibrary/widget\_progressView.lua:225: attempt to index field '\_view' (a nil value) stack traceback: [C]: ? /Users/jenkins/slaveroot/workspace/Templates/label/android/subrepos/widget/widgetLibrary/widget\_progressView.lua:225: in function 'finalize' /Users/jenkins/slaveroot/workspace/Templates/label/android/subrepos/widget/widgetLibrary/widget.lua:65: in function 'method' /Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:529: in function 'remove' /Users/jenkins/slaveroot/workspace/Templates/label/android/platform/android/ndk/shell.lua:183: in function 'removeAllUi' /Users/jenkins/slaveroot/workspace/Templates/label/android/platform/android/ndk/shell.lua:211: in function 'func' /Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:241: in function \</Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:221\>
Is this useful?
I’ll ask engineering. This could be helpful.
Thanks
Rob
Are you using expansion files?
Can you post your build.settings file?
Thanks
Rob
Oh, yes.
I’ve been using expansion files.
Here’s my build.settings file:
settings = { orientation = { default = "landscapeRight", }, android = { usesExpansionFile = true, usesPermissions = { "android.permission.INTERNET", "com.android.vending.CHECK\_LICENSE", "android.permission.WRITE\_EXTERNAL\_STORAGE" }, } }
Thank you, Rob.
Have you been able to successfully download your expansion pack? We do use the progressView as part of downloading the progressView.
Rob