When building for Amazon for devices today (haven’t tried Google Play and iOS), all of a sudden the plugins don’t work anymore… I am building from the simulator (rather than an Enterprise build). Corona 2014.2458. The build succeeds, but when running on device, I get the following errors.
It’s as though it is looking for the wrong plugins or not finding it (eg. goole iap?) when I was building for Amazon Kindle.
D/dalvikvm(29471): Note: class Landroid/opengl/GLWrapperBase; has 250 unimplemented (abstract) methods
V/GLSurfaceView(29471): glGetString(7937) returns PowerVR SGX 540;
I/ActivityManager( 204): Displayed com.sx.wonsterwords/com.ansca.corona.CoronaActivity: +1s861ms
V/Corona (29471): > Class.forName: network.LuaLoader
V/Corona (29471): < Class.forName: network.LuaLoader
V/Corona (29471): Loading via reflection: network.LuaLoader
I/Corona (29471): Platform: KFTT / ARM Neon / 4.0.3 / PowerVR SGX 540 / OpenGL ES 2.0 build 1.8@785978 / 2014.2411
V/Corona (29471): > Class.forName: CoronaProvider.licensing.google.LuaLoader
V/Corona (29471): < Class.forName: CoronaProvider.licensing.google.LuaLoader
V/Corona (29471): Loading via reflection: CoronaProvider.licensing.google.LuaLoader
D/dalvikvm(29471): GC_FOR_ALLOC freed 198K, 5% free 12694K/13255K, paused 27ms
I/dalvikvm-heap(29471): Grow heap (frag case) to 15.485MB for 3145744-byte allocation
D/dalvikvm(29471): GC_FOR_ALLOC freed 1K, 4% free 15764K/16391K, paused 20ms
D/dalvikvm(29471): GC_CONCURRENT freed 1K, 4% free 15766K/16391K, paused 2ms+12ms
V/Corona (29471): > Class.forName: CoronaProvider.analytics.flurry.LuaLoader
V/Corona (29471): < Class.forName: CoronaProvider.analytics.flurry.LuaLoader
V/Corona (29471): Loading via reflection: CoronaProvider.analytics.flurry.LuaLoader
I/dalvikvm(29471): Could not find method com.google.android.gms.ads.identifier.AdvertisingIdClient$Info.getId, referenced from method com.flurry.sdk.dj.v
W/dalvikvm(29471): VFY: unable to resolve virtual method 12428: Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;.getId ()Ljava/lang/String;
D/dalvikvm(29471): VFY: replacing opcode 0x6e at 0x0042
I/dalvikvm(29471): Could not find method com.google.android.gms.ads.identifier.AdvertisingIdClient$Info.isLimitAdTrackingEnabled, referenced from method com.flurry.sdk.dj.o
W/dalvikvm(29471): VFY: unable to resolve virtual method 12429: Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;.isLimitAdTrackingEnabled ()Z
D/dalvikvm(29471): VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm(29471): Could not find method com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable, referenced from method com.flurry.sdk.dw.b
W/dalvikvm(29471): VFY: unable to resolve static method 12431: Lcom/google/android/gms/common/GooglePlayServicesUtil;.isGooglePlayServicesAvailable (Landroid/content/Context;)I
D/dalvikvm(29471): VFY: replacing opcode 0x71 at 0x0009
I/dalvikvm(29471): Could not find method com.google.android.gms.ads.identifier.AdvertisingIdClient.getAdvertisingIdInfo, referenced from method com.flurry.sdk.dw.c
W/dalvikvm(29471): VFY: unable to resolve static method 12430: Lcom/google/android/gms/ads/identifier/AdvertisingIdClient;.getAdvertisingIdInfo (Landroid/content/Context;)Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;
D/dalvikvm(29471): VFY: replacing opcode 0x71 at 0x000a
W/dalvikvm(29471): VFY: unable to resolve exception class 1813 (Lcom/google/android/gms/common/GooglePlayServicesNotAvailableException;)
W/dalvikvm(29471): VFY: unable to find exception handler at addr 0x29
W/dalvikvm(29471): VFY: rejected Lcom/flurry/sdk/dw;.c ()Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;
W/dalvikvm(29471): VFY: rejecting opcode 0x0d at 0x0029
W/dalvikvm(29471): VFY: rejected Lcom/flurry/sdk/dw;.c ()Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;
W/dalvikvm(29471): Verifier rejected class Lcom/flurry/sdk/dw;
W/System.err(29471): java.lang.VerifyError: com/flurry/sdk/dw
W/System.err(29471): at com.flurry.sdk.dj$1.a(SourceFile:247)
W/System.err(29471): at com.flurry.sdk.ff.run(SourceFile:49)
W/System.err(29471): at android.os.Handler.handleCallback(Handler.java:605)
W/System.err(29471): at android.os.Handler.dispatchMessage(Handler.java:92)
W/System.err(29471): at android.os.Looper.loop(Looper.java:137)
W/System.err(29471): at android.os.HandlerThread.run(HandlerThread.java:60)
W/FlurryAgent(29471): Start session with context: com.ansca.corona.CoronaActivity@41630b00 count:0
V/LocationManagerService( 204): getProviders
V/LocationManagerService( 204): getProviders
V/LocationManagerService( 204): getProviders
V/LocationManagerService( 204): getProviders
V/LocationManagerService( 204): getProviders
V/Corona (29471): > Class.forName: plugin.google.iap.v3.LuaLoader
V/Corona (29471): < Class.forName: plugin.google.iap.v3.LuaLoader
V/Corona (29471): Loading via reflection: plugin.google.iap.v3.LuaLoader
D/IabHelper(29471): Starting in-app billing setup.
I/Corona (29471): Runtime error
I/Corona (29471): java.lang.NullPointerException
I/Corona (29471): Java Stack Trace:
I/Corona (29471): plugin.google.iap.v3.util.IabHelper.startSetup(IabHelper.java:269)
I/Corona (29471): plugin.google.iap.v3.LuaLoader.init(LuaLoader.java:144)
I/Corona (29471): plugin.google.iap.v3.LuaLoader.access$1200(LuaLoader.java:34)
I/Corona (29471): plugin.google.iap.v3.LuaLoader$InitWrapper.invoke(LuaLoader.java:400)
I/Corona (29471): com.ansca.corona.JavaToNativeShim.nativeResize(Native Method)
I/Corona (29471): com.ansca.corona.JavaToNativeShim.resize(JavaToNativeShim.java:381)
I/Corona (29471): com.ansca.corona.graphics.opengl.CoronaGLSurfaceView$CoronaRenderer.onSurfaceChanged(CoronaGLSurfaceView.java:374)
I/Corona (29471): com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1611)
I/Corona (29471): com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1377)
I/Corona (29471): stack traceback:
I/Corona (29471): [C]: in function ‘init’
I/Corona (29471): ?: in function ‘initIAPStore’
I/Corona (29471): ?: in main chunk
E/ActivityThread(29471): Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider
V/LocationManagerService( 204): getProviders
V/LocationManagerService( 204): getProviders
V/LocationManagerService( 204): getProviders
V/LocationManagerService( 204): getProviders
W/FlurryAgent(29471): End session with context: com.ansca.corona.CoronaActivity@41630b00 count:0
When I try to build using an older version of Corona, it gives an outright “Error: Get plugin failed.” error.
Are other people seeing this problem? Is this a Corona issue or something on my end?
Here is our build.settinngs, in case you want to see it:
– Supported values for orientation:
settings = {
plugins =
{
– Managing lots of plugins: http://forums.coronalabs.com/topic/38855-plugins-hell/
– key is the name passed to Lua’s ‘require()’
– I believe supportedPlatforms controls what library is included during build time
[“plugin.zip”] =
{
– required
publisherId = “com.coronalabs”,
},
[“CoronaProvider.analytics.flurry”] = { publisherId = “com.coronalabs” },
[“plugin.google.iap.v3”] =
{
publisherId = “com.coronalabs”,
supportedPlatforms = { android = true },
},
[“plugin.amazon.iap”] =
{
publisherId = “com.amazon”,
supportedPlatforms = { [“android-kindle”] = true }
},
– Starting on iOS and Android builds 2014.2430 and later, Facebook exists as a plugin
– http://coronalabs.com/blog/2014/09/10/facebook-on-android-moved-to-plugin/#comment-309816
[“facebook”] =
{
publisherId = “com.coronalabs”,
supportedPlatforms = { android = true },
},
},
orientation = {
– NOTE: landscapeLeft default doesn’t work on Android 2.2 unless you lock the app to that orientation.
– Landscape left also means that the hand that’s holding the device (left hand) will easily/accidentally hit the home key
– http://docs.coronalabs.com/guide/distribution/buildSettings/index.html
default = “landscapeRight”,
supported = { “landscapeRight”, “landscapeLeft” }
},
iphone = {
plist = {
UIStatusBarHidden = true,
UIPrerenderedIcon = true, – set to false for “shine” overlay
UIViewControllerBasedStatusBarAppearance = false, – http://forums.coronalabs.com/topic/39609-how-to-hide-the-status-bar-in-ios-7/
–UIApplicationExitsOnSuspend = true, – uncomment to quit app on suspend
UIAppFonts =
{
“Chewy.ttf”,
“Nunito-Regular.ttf”,
},
CFBundleIconFiles = {
“Icon.png” , – 57 App Icon iPhone Non-Retina (iOS 6.1 and prior)
“Icon@2x.png” , – 114 App Icon iPhone Retina (iOS 6.1 and prior)
“Icon-72.png”, – 72 App Icon iPad Non-Retina (iOS 6.1 and prior)
“Icon-72@2x.png”, – 144 App Icon iPad Retina (iOS 6.1 and prior)
“Icon-Small-40.png”, – 40 Spotlight iPad Retina (iOS 6.1 and prior)
“Icon-Small-40@2x.png”, – 80 Spotlight iPhone & iPad Retina (iOS 7+)
“Icon-Small-40@3x.png”, – 120 Spotlight iPhone 6 Plus (iOS 8+)
– This duplicates Icon-60@2x.png, so Apple may none-deterministically pick this or the other one for the app icon, just make sure the 2 are the same
– http://forums.coronalabs.com/topic/51066-screenshots-and-new-iphone-size-compatibility/page-3
“Icon-Small-50.png”, – 50 Spotlight iPad Non-Retina (iOS 6.1 and prior)
“Icon-Small-50@2x.png”, – 50 Spotlight iPad Retina (iOS 6.1 and prior)
“Icon-60.png”, – 60 App Icon iPhone Non-Retina (iOS 7+)
“Icon-60@2x.png”, – 120 App Icon iPhone Retina (iOS 7+)
“Icon-60@3x.png”, – 180 App Icon iPhone 6 Plus (iOS 8+)
“Icon-76.png”, – 76 App Icon iPad Non-Retina (iOS 7+)
“Icon-76@2x.png”, – 152 App Icon iPad Retina (iOS 7+)
“Icon-Small.png”, – 29 Settings iPhone & iPad Non-Retina
“Icon-Small@2x.png”, – 58 Settings iPhone Retina & iPad Retina (iOS 6.1 and prior)
“Icon-Small@3x.png”, – 87 Settings iPhone 6 Plus (iOS 8+)
},
–launch image files table (iOS 8)
UILaunchImages = {
{ --iPhone 4
[“UILaunchImageMinimumOSVersion”] = “7.0”,
[“UILaunchImageName”] = “Default”,
[“UILaunchImageOrientation”] = “Portrait”,
[“UILaunchImageSize”] = “{320, 480}”
},
{ --iPhone 4 landscapeLeft
[“UILaunchImageMinimumOSVersion”] = “7.0”,
[“UILaunchImageName”] = “Default”,
[“UILaunchImageOrientation”] = “LandscapeLeft”,
[“UILaunchImageSize”] = “{320, 480}”
},
{ --iPhone 4 landscapeRight
[“UILaunchImageMinimumOSVersion”] = “7.0”,
[“UILaunchImageName”] = “Default”,
[“UILaunchImageOrientation”] = “LandscapeRight”,
[“UILaunchImageSize”] = “{320, 480}”
},
{ --iPhone 5 (still needed - for iOS 7.1 build?)
[“UILaunchImageMinimumOSVersion”] = “7.0”,
[“UILaunchImageName”] = “Default-568h”,
[“UILaunchImageOrientation”] = “Portrait”,
[“UILaunchImageSize”] = “{320, 568}”
},
{ --iPhone 5 landscapeLeft
[“UILaunchImageMinimumOSVersion”] = “7.0”,
[“UILaunchImageName”] = “Default-568h”,
[“UILaunchImageOrientation”] = “LandscapeLeft”,
[“UILaunchImageSize”] = “{320, 568}”
},
{ --iPhone 5 landscapeRight
[“UILaunchImageMinimumOSVersion”] = “7.0”,
[“UILaunchImageName”] = “Default-568h”,
[“UILaunchImageOrientation”] = “LandscapeRight”,
[“UILaunchImageSize”] = “{320, 568}”
},
{ --iPad landscape left
[“UILaunchImageMinimumOSVersion”] = “7.0”,
[“UILaunchImageName”] = “Default-Landscape”,
[“UILaunchImageOrientation”] = “LandscapeLeft”,
[“UILaunchImageSize”] = “{768, 1024}”
},
{ --iPad landscape right
[“UILaunchImageMinimumOSVersion”] = “7.0”,
[“UILaunchImageName”] = “Default-Landscape”,
[“UILaunchImageOrientation”] = “LandscapeRight”,
[“UILaunchImageSize”] = “{768, 1024}”
},
{ --iPhone 6
[“UILaunchImageMinimumOSVersion”] = “8.0”,
[“UILaunchImageName”] = “Default-667h”,
[“UILaunchImageOrientation”] = “Portrait”,
[“UILaunchImageSize”] = “{375, 667}”
},
{ --iPhone 6 landscapeLeft
[“UILaunchImageMinimumOSVersion”] = “8.0”,
[“UILaunchImageName”] = “Default-667h”,
[“UILaunchImageOrientation”] = “LandscapeLeft”,
[“UILaunchImageSize”] = “{375, 667}”
},
{ --iPhone 6 landscapeRight
[“UILaunchImageMinimumOSVersion”] = “8.0”,
[“UILaunchImageName”] = “Default-667h”,
[“UILaunchImageOrientation”] = “LandscapeRight”,
[“UILaunchImageSize”] = “{375, 667}”
},
{ – iPhone 6 Plus landscape left
[“UILaunchImageMinimumOSVersion”] = “8.0”,
[“UILaunchImageName”] = “Default-Landscape-736h”,
[“UILaunchImageOrientation”] = “LandscapeLeft”,
[“UILaunchImageSize”] = “{414, 736}”
},
{ – iPhone 6 Plus landscape right
[“UILaunchImageMinimumOSVersion”] = “8.0”,
[“UILaunchImageName”] = “Default-Landscape-736h”,
[“UILaunchImageOrientation”] = “LandscapeRight”,
[“UILaunchImageSize”] = “{414, 736}”
}
},
}
},
– Android
android =
{
largeHeap = true,
usesPermissions =
{
“android.permission.INTERNET”, – used for Flurry, and network access
“com.android.vending.BILLING”, – used for Google Play IAP
},
},
}