Issue with expansion file

Hi,

I’m using expansion files in my game, and I have a strange issue.

The first time my game is started, it will not “see” the graphic files. Second run: everything is fine.

It’s easily reproducible by clearing data for the game in application manager and starting it again.

Here’s what I see in logs:

D/Volley ( 5456): [8165] BasicNetwork.logSlowRequests: HTTP response for request=\<[] https://android.clients.google.com/vending/api/ApiRequest 0xe8d195d1 NORMAL 4 CheckLicenseRequestProto\> [lifetime=9488], [size=668], [rc=200], [retryCount=0] I/LicenseChecker( 9382): Received response. I/LicenseChecker( 9382): Clearing timeout. D/Volley ( 5456): [1] Request.finish: 9523 ms: [] https://android.clients.google.com/vending/api/ApiRequest 0xe8d195d1 NORMAL 4 CheckLicenseRequestProto W/System.err( 9382): com.naef.jnlua.LuaRuntimeException: ?:0: attempt to index field '\_view' (a nil value) W/System.err( 9382): at com.naef.jnlua.LuaState.lua\_pcall(Native Method) W/System.err( 9382): at com.naef.jnlua.LuaState.call(Unknown Source) W/System.err( 9382): at com.ansca.corona.CoronaLua.dispatchEvent(CoronaLua.java:90) W/System.err( 9382): at CoronaProvider.licensing.google.LuaLoader$1.executeUsing(LuaLoader.java:276) W/System.err( 9382): at com.ansca.corona.CoronaRuntimeTaskDispatcher$TaskEvent.Send(CoronaRuntimeTaskDispatcher.java:153) W/System.err( 9382): at com.ansca.corona.events.EventManager.sendEvents(EventManager.java:274) W/System.err( 9382): at com.ansca.corona.Controller.onDrawFrame(Controller.java:230) W/System.err( 9382): at com.ansca.corona.opengl.CoronaGLSurfaceView$CoronaRenderer.onDrawFrame(CoronaGLSurfaceView.java:400) W/System.err( 9382): at com.ansca.corona.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1622) W/System.err( 9382): at com.ansca.corona.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1377) I/Corona ( 9382): Runtime error I/Corona ( 9382): ERROR: table expected. If this is a function call, you might have used '.' instead of ':' I/Corona ( 9382): stack traceback: I/Corona ( 9382): [C]: ? I/Corona ( 9382): [C]: in function 'insert' I/Corona ( 9382): ?: in main chunk I/Corona ( 9382): Runtime error I/Corona ( 9382): I/Corona ( 9382): stack traceback: I/Corona ( 9382): [C]: ? I/Corona ( 9382): [C]: in function 'insert' I/Corona ( 9382): ?: in main chunk

Is this a bug, or am I doing something wrong?

I’ve been testing it on Galaxy S2 with Android 4.1.2 using CoronaSDK 2013.1131. I’m using the alpha testing functionality from google play, so the game was downloaded from the store.

One thing that comes to mind is that currently, I am reusing the expansion file. So my apk file version is 4 and the obb file is from version 3.

Hi folks,

I’ve submitted a bug report for this issue, I’ve confirmed it on few devices now.

I’ve got two games in alpha testing on google play store and both of them have the same problem.

It occurs during first run [when there’s no data created by the game]. Second run works just fine.

Same thing happens when you wipe data for the game in application manager. It won’t run for the first time.

I’ve seen plenty of games, which force user to restart the app during first run, I’m wondering if this is the reason?

Unfortunately there’s no way to do it from code, so I’ll have to politely ask user to start the game again.

Anyone else is having this problem?

I don’t want my users to download a 60MB obb file only because a line of code was changed in a 5MB apk file.

I’ve confirmed it on another device: Samsung Galaxy Tab 2 10"

Currently I will store version of the game in my persistent memory and check if it exists there. If it does not, I will politely ask user to restart the app [and will call os.exit() when someone tries to suspend it instead of exiting it]. The next time it runs everything will be fine.

I don’t like that though :confused:

Hi folks,

I’ve submitted a bug report for this issue, I’ve confirmed it on few devices now.

I’ve got two games in alpha testing on google play store and both of them have the same problem.

It occurs during first run [when there’s no data created by the game]. Second run works just fine.

Same thing happens when you wipe data for the game in application manager. It won’t run for the first time.

I’ve seen plenty of games, which force user to restart the app during first run, I’m wondering if this is the reason?

Unfortunately there’s no way to do it from code, so I’ll have to politely ask user to start the game again.

Anyone else is having this problem?

I don’t want my users to download a 60MB obb file only because a line of code was changed in a 5MB apk file.

I’ve confirmed it on another device: Samsung Galaxy Tab 2 10"

Currently I will store version of the game in my persistent memory and check if it exists there. If it does not, I will politely ask user to restart the app [and will call os.exit() when someone tries to suspend it instead of exiting it]. The next time it runs everything will be fine.

I don’t like that though :confused:

Did you ever find a solution to this issue?

Did you ever find a solution to this issue?