We had a similar error. Using a newer daily build solved it for us.
Also we’ve seen similar errors when we’ve made a mistake setting up the license key.
We had a similar error. Using a newer daily build solved it for us.
Also we’ve seen similar errors when we’ve made a mistake setting up the license key.
@ mateosolares - can you tell me which version of the daily build you are using?
@ Josh -
Thanks for the speedy and thorough response. Based on the info in your comment, we were able to run a successful test by manually placing the expansion file onto the device, but downloading the app from the store still isn’t working properly (though we can now see that the app is listed with the correct number of MBs). We are going to do a fresh build and try again. Will let you know if we have more luck this time.
akao,
I’m wondering if you are running into a Google Licensing error. Try adding the following code to the top of your “main.lua” file to see if your app is receiving a valid response from Google’s licensing service.
local function onGoogleLicensingResponse(event) print("@@@ event.name = " .. tostring(event.name)) print("@@@ event.provider = " .. tostring(event.provider)) print("@@@ event.isVerified = " .. tostring(event.isVerified)) print("@@@ event.isError = " .. tostring(event.isError)) print("@@@ event.errorType = " .. tostring(event.errorType)) print("@@@ event.response = " .. tostring(event.response)) print("@@@ event.expiration = " .. tostring(event.expiration)) end if system.getInfo("targetAppStore") == "google" then local licensing = require("licensing") licensing.init("google") licensing.verify(onGoogleLicensingResponse) end
The results of the above test will be printed to the Android log which you can view via Android SDK tool “adb logcat” or “ddms”. I’m thinking that there must be a licensing error that we’re not correctly handling. Google’s licensing service is supposed to provide Corona the URL to download the expansion file on startup and for some reason your app is not receiving it. I know we’ve tested for error conditions before, but perhaps you’ve found an edge case that we need to handle.
Unfortunately now we are also getting the same problem. We needed to create a new test application and this app is not working.
We assumed we would just have to wait for google servers to update but it’s been about 24 hours now. (Our first app started working after two hours or so) If we manually put the odb file in place the app loads.
@akao, we were using build 2013.1088 when it was working.
@Joshua Quick
I’ve tried the code above but I had to comment the "if system.getInfo(“targetAppStore”) == “google” " bit because on the device system.getInfo(“targetAppStore”) returns “none”.
[lua]
local function onGoogleLicensingResponse(event)
print("@@@ event.name = " … tostring(event.name))
print("@@@ event.provider = " … tostring(event.provider))
print("@@@ event.isVerified = " … tostring(event.isVerified))
print("@@@ event.isError = " … tostring(event.isError))
print("@@@ event.errorType = " … tostring(event.errorType))
print("@@@ event.response = " … tostring(event.response))
print("@@@ event.expiration = " … tostring(event.expiration))
end
print ("target store == " … system.getInfo(“targetAppStore”))
– if system.getInfo(“targetAppStore”) == “google” then
local licensing = require(“licensing”)
licensing.init(“google”)
licensing.verify(onGoogleLicensingResponse)
– end
[/lua]
Results in the following
I/Corona ( 3063): target store == none
I/Corona ( 3063): @@@ event.name = licensing
I/Corona ( 3063): @@@ event.provider = google
I/Corona ( 3063): @@@ event.isVerified = true
I/Corona ( 3063): @@@ event.isError = nil
I/Corona ( 3063): @@@ event.errorType = nil
I/Corona ( 3063): @@@ event.response = Licensed
I/Corona ( 3063): @@@ event.expiration = 1366685567611
If target app store is returning “none”, then there is your problem. Corona will not attempt to communicate with Google’s servers to download the expansion file unless your are targeting “Google Play”. The reason is because expansion file support is a Google Play only feature. As in, Google Play is responsible for hosting the file.
When you build for Android via the Corona Simulator, you’ll need to select “Google Play” from the Target App Store drop down box.
Thank you for the prompt reply! Yes we are certainly setting the target app store to google play. If I go right back to daily build 2013.1082 the app does start the download. If I use daily build 2013.1093 it does not.
@akao , perhaps try build 2013.1082 and see if you get the same results as us?
Same here, with 1088 I got the black screen, “adb logcat” showed me an error - maybe an assets “loadingMsgImage” is missing in the newer builds?
V/Corona (27714): > Class.forName: network.LuaLoader
V/Corona (27714): < Class.forName: network.LuaLoader
V/Corona (27714): Loading via reflection: network.LuaLoader
I/dalvikvm(27714): Total arena pages for JIT: 11
I/Corona (27714): Runtime error
I/Corona (27714): ?:0: attempt to index field ‘loadingMsgImage’ (a nil value)
I/Corona (27714): stack traceback:
I/Corona (27714): [C]: ?
I/Corona (27714): ?: in main chunk
I/Corona (27714): [C]: in function ‘require’
I/Corona (27714): ?: in function ‘require’
I/Corona (27714): ?: in main chunk
With 1082 the loading window is shown.
Ok, right now it doesn’t download the expansion file and throws an alert saying “Network Error: This application requires Internet access to download its resources …”, even when the device is connected to the Internet and the browser works.
But I guess this could be an alert that in reality warns me that my resource file on Google Play is not available yet and I need to wait some more hours…
[EDIT]
Works like a charm now, so the error “Network Error: This application requires Internet access to download its resources …” really meant that Google Play did not grant access to the uploaded expansion file for the first few hours.
[EDIT]
Now tried with 1086, works fine, too. So the regression might have happened in 1087 when the Google licensing module was fixed.
Best,
Andreas
Everyone,
We took a look at this and you’re right, we did break it by mistake in daily build #1088. The issue was that system.getInfo(“targetAppStore”) and store.target was always returning “none” instead of the targeted app store. This would prevent Corona from automatically downloading the expansion file on startup, but if you copied the expansion file to the appropriate external storage directory then it would work, which akao has mentioned.
That said, the only issue with the above is that the download screen would be skipped and Corona would attempt to load the “main.lua” file without an expansion file… meaning none of your asset files were there. This will likely cause Lua runtime errors to occur in your main.lua code because the expected assets are missing, which is the most likely case as to why you are seeing a black screen. Normally we do not load the main.lua until the expansion file was found which we only check for when targeting Google Play.
The above issue will be fixed in the next daily build. Sorry about the inconvenience and confusion. If it scores any points with you, the reason it broke was because we completely refactored our Android build code to support optional plugins which we’re beta testing now. :)
@ Josh - thanks for the info. We are using #1089, and that would explain why it’s not working for us.
We look forward to trying with with the new daily build.
Just to confirm that it looks like it’s working for us now, using build 2013.1094.
Thank you very much.
How could I test the download of the expansion file? I updated the config and build.settings and uploaded the APK and expansion file to google play but I didn’t publish it.
I installed the APK on my device. I saw the download screen when I start the app. However, I got an error “Not Licensed” in the download screen.
You also have to add your google account as a test user. This is under the settings tab.
Just wanted to say that I love this feature! Thanks!
How could I test the download of the expansion file? I updated the config and build.settings and uploaded the APK and expansion file to google play but I didn’t publish it.
I installed the APK on my device. I saw the download screen when I start the app. However, I got an error “Not Licensed” in the download screen.
You also have to add your google account as a test user. This is under the settings tab.
Just wanted to say that I love this feature! Thanks!
Was this a response to the Not licensed issue? I get the same issue. I use another account for corona sdk but the google account on my device is listed as a test device.
I am doing the same for native android (with extension apk) and here it works
Please help-
I entered the code you suggested to test the Google Play licensing connection. all I get with adb logcat is:
IDIA Tegra 3 / OpenGL ES 2.0 16.05001 / 2014.2368
V/Corona ( 749): > Class.forName: CoronaProvider.licensing.google.LuaLoader
V/Corona ( 749): < Class.forName: CoronaProvider.licensing.google.LuaLoader
V/Corona ( 749): Loading via reflection: CoronaProvider.licensing.google.LuaLoader
the screen shows the app icon and name at the top of the screen. there is a really short loader line, and absolutely nothing else happens…
I’m running a fairly robust tablet and the latest build of Corona with loads of ram:
Platform: ASUS Transformer Pad TF300T / ARM Neon / 4.2.1 / NVIDIA Tegra 3 / OpenGL ES 2.0 16.05001 / 2014.2368
it appears to download the entire 107 MB of the app (obviously including the .obb) from Google Play and says it has been installed, but when I open…nada!
my clients are waiting for this game to be published, and I was able to publish it before from my personal playstore location (after similar problems finally somehow worked their way out–mostly, a lot of Corona SDK version switching and e little error correction that _adb log cat _helped me with.
any help would be much appreciated. I put another print command in the main.lua also at the beginning, but that didn’t print out out through _adb logcat_either. I should mention I’m getting the same dead loading screen results if I add the app directly to the tablet. _adb logcat _shows no errors.
thanks!
p.s., when I tried to download it to an android phone, I get “…requires external storage functionality. Please retry after ensuring that external storage space is available.” I get the same error when I install it to the phone directly. I wasn’t getting this before either.