Error: Template not Found. Older Build: 2014.2223

Me too, I’m getting emails and FB postings asking what happened, and they can’t install apps to their nook color. Its hard to get a user  base in itunes and google play, and having an established user base in a platform like nook color is great, but not able to support that user base is a nightmare, its a mutual relationship, user base + developer, and this issue is dramatically breaking it.

Hi Rob (and other Corona folks);

I began this thread way back in January when I was trying to update a successful Nook app. I certainly appreciate Corona’s fixing it.

But . . . I have a show-stopping problem that is somehow (I believe) related to the “fix” of using the specific build 2014.2263 to work with the older Android 2.2 devices like the Nook Color.

I have finally returned to trying to do that update that got postponed in January. I am building on a Windows PC with 2014.2263 and I am including two plugins: Flurry and Fortumo. The app doesn’t NEED Flurry. But it does NEED Fortumo or else monetization goes away.

I can build the app without errors and I can install on a Nook Color test device and run the app without errors of any sort. That is true until I try to initialize my in-app purchase code and use the Fortumo plugin. When I call this:

[lua]fortumo = require(“plugin.fortumo”)[/lua]

I get this error:

V/Corona  ( 1296): > Class.forName: plugin.fortumo.LuaLoader
V/Corona  ( 1296): WARNING: Could not load ‘LuaLoader’
I/Corona  ( 1296): Runtime error
I/Corona  ( 1296): module ‘plugin.fortumo’ not found:resource (plugin.fortumo.lu) does not exist in archive
I/Corona  ( 1296):      no field package.preload[‘plugin.fortumo’]
I/Corona  ( 1296):      no file ‘(null)/plugin.fortumo.lua’
I/Corona  ( 1296):      no file ‘(null)/plugin.fortumo.lua’
I/Corona  ( 1296):      no file ‘/data/data/com.adveractive.game.justjumblenook/lib/libplugin.fortumo.so’
I/Corona  ( 1296):      no file ‘./plugin.fortumo.so’
I/Corona  ( 1296):      no file ‘(null)/plugin.fortumo.so’
I/Corona  ( 1296):      no file ‘/data/data/com.adveractive.game.justjumblenook/lib/libplugin.so’
I/Corona  ( 1296):      no file ‘./plugin.so’
I/Corona  ( 1296):      no file ‘(null)/plugin.so’
I/Corona  ( 1296): stack traceback:
I/Corona  ( 1296):      [C]: in function ‘require’
I/Corona  ( 1296):      ?: in function ‘require’
I/Corona  ( 1296):      ?: in function ‘_listener’
I/Corona  ( 1296):      ?: in function <?:141>
I/Corona  ( 1296):      ?: in function <?:218>

Note that my build.settings file and my Fortumo in-app purchasing code HAVE NOT CHANGED since the last time I was able to successfully build an update last November (using an even older build of Corona - 2223).

I’ve included the contents of my build.settings file below as well as a snippet where the app DOES FIND ans SUCCESSFULLY LOADS Flurry (so it does handle that plugin). But it is choking on Fortumo.

Please can you help?? All of that work your engineers completed to support that old build will not assist me a wit if I cannot collect money from in-app purchases. :frowning:

Thanks;

Steve

=======================================================================

[lua]

– build.settings
– NOOK - No Advertising, Fortumo for in-App Purchases
– I have to build this using Corona 2014.2263

settings = {
    orientation = {
        default = “portrait”,
        content = “portrait”,
        supported = { “portrait”},
    },

    plugins =
        {
            – key is the name passed to Lua’s ‘require()’
            [“CoronaProvider.analytics.flurry”] =
            {
                – required
                publisherId = “com.coronalabs”,
            },
            [“plugin.fortumo”] =
            {
                 – required
                publisherId = “com.fortumo”,
                supportedPlatforms = { android = true },
            },
    },

    android =
    {
        versionCode = “22”,
        usesPermissions =
        {
            “android.permission.INTERNET”,
            “android.permission.ACCESS_NETWORK_STATE”,
        },
    },
}

[/lua]

=======================================================================

– This is the console output where Flurry loads fine (so this plugin is OK):

V/Corona  ( 1448): > Class.forName: network.LuaLoader
V/Corona  ( 1448): < Class.forName: network.LuaLoader
V/Corona  ( 1448): Loading via reflection: network.LuaLoader
I/Corona  ( 1448): Platform: BNRV200 / ARM Neon / 2.2.1 / PowerVR SGX 530 / OpenGL ES 2.0
V/Corona  ( 1448): > Class.forName: CoronaProvider.analytics.flurry.LuaLoader
V/Corona  ( 1448): < Class.forName: CoronaProvider.analytics.flurry.LuaLoader
V/Corona  ( 1448): Loading via reflection: CoronaProvider.analytics.flurry.LuaLoader

=======================================================================

Remove the line that specifies Android only and it should work. We tested it the Nook Color and it runs when the line is removed.

supportedPlatforms = { android = true },

or use

supportedPlatforms = { [“android-nook”]} = true },

Hi Tom;

Thanks very much for the info. I am away from my Windows machine (traveling) for a few days but I’ll test it as soon as I get back. Great that you tested it. Would this information be worthy of a mention in the Fortumo docs on CoronaLabs ("If you are using an older build to support Nook/Android 2.2 devices, then . . . . . "). I’ll bet it will save a few other developers a search of the forums or a post if you do include the information.

Thanks much!

Steve

HI Rob, I’m following up regarding the compatibility issues of Corona with older Android devices - namely to gain clarification regarding what older Android devices ARE NOT supported by Corona.

Above, you wrote, “Any chip that has ARMv7 or ARMv7-A listed in the 2nd column is good” - the key here is the “2nd column”. This is the link you provided: http://en.wikipedia.org/wiki/List_of_ARM_microarchitectures

QUESTION #1) Are you confirming that Corona is NOT compatible with any other ARM processors, except for ARMv7 or ARMv7-A as listed in the “2nd column”?

QUESTION #2) Are there any other Android devices or processors which Corona is NOT compatible?

QUESTION #3) What is the latest build that will support Android 1.5?

QUESTION #4) Which is the latest build that will support Android 2.1?

QUESTION #5) Do you know which was the earlist Android version to support Google Play purchases? The answer to this question will likely determine the oldest Android version and build we will use to support older hardware.

QUESTION #6) Is there a spreadsheet somewhere that lists the build/Android version number as well as the Corona SDK features that were supported in that version? This will help us understand what code to avoid (i.e. sprite features which weren’t developed until after build 2263).

With millions of older devices in use in foreign countries, determining the lowest Android OS version to support is a very important consideration when embarking on App development to reach the largest number of potential customers. And because of this, your answers to these questions are very much appreciated.

Very kindly as always,

Troy

#1 Corona SDK is only compatible with ARMv7 family/chipset processors.  I suppose that technically ARMv8 might be considered supported for iOS only since we support 64 bit there, but don’t hold me to it.

#2 I have no idea.  ARMv6 won’t work after we dropped support for it (which was well before I started using Corona SDK).  Some Atom chips support an emulation of ARMv7, but there are occasional hiccups.

#3 & 4, You will need to to back ground the various release notes and see. It might be faster  to start at the beginning and go forward.

#5 build 760.

#6.  No.  While we try to keep your ability to build with older versions functional, we don’t support builds older than the recent public build.   The older the build the more likely you’re going to run into bugs.  Things like storyboard and composer won’t work…   While there are older versions of Android out there, your chances of monetizing them is very slim.  We can’t support modern devices  that can be monetized.

When I began developing with Corona about a year ago, I intentionally was using Build 2263, because according to Corona news, it was the last version to support Android 2.2

I now have the same problem as these guys. I too receive a Build Error #5 (BuildID: 55008a942d31e - Error: Template not found. Platform: Android, Platform Version: 2.2, Template Type: basic)

Does this mean that we as developers can no longer use Corona to support the Nook or older phones? Android 2.2 is still being used by millions of users in International countries, and is most prevelent in 3rd world countries. Does this mean that Corona has moved on and chosen to forget the millions of users that cannot afford new technology?

And how could this happen that Corona has broken a Build process that worked fine for old builds?

May I suggest that the Corona dev team institute a new policy that leaves the use of old Build’s unaffected? Otherwise, you might as well delete all of the Builds on your website which are no longer able to create builds.

Any help is appreciated.

Engineering is still working on solving this.

Rob

build 590 was the last one that supported 2.1+.  319 was the last build that supported armv6.  Support for doing device builds with simulators previous to 1100 was dropped quite a while ago due to security changes on the build servers.

For #3 and #4, ARM6 was dropped in build 319.  We switched to Android 2.2+ in build 591.  We’ve not supported builds older than 1100 for some time.

Rob

Hi Rob, 

Do we have any timeline on fixing this issue ?

My user base is asking for updates, I already lost a lot of potential revenues from my previous app and I’m about to finish

another app. I really don’t want to abandon the nook color user base, because there is plenty.

Thank you,

-Bobby

The engineers who would deal with this are really swamped.  This problem isn’t obvious as to why it’s not working and we’re trying to find time to get a deeper dig into the problem. 

Rob

I too am waiting on a fix for this.

Just got a rejection notice from Barnes & Noble:

Unfortunately we are not able to approve your application for
distribution at this time for the following reasons:

Files: Rejected: Test Case #3

  • The application will not install on NOOK Color due to the fact that
    NOOK Color is FROYO (SDK 8) while NOOK Tablet is based off GB (SDK 10)
    and NOOK HD/HD+ devices are ICS (SDK 15). Please downgrade to SDK 8 in
    order for the application to be able to install on all NOOK devices. If
    you need more clarification please open a ticket.

Failed on the following device(s):

NOOK Color (Froyo) 1.4 [x]
NOOK Tablet (Gingerbread) 1.4.1 []
NOOK HD+ (Ice Cream Sandwich) 2.0 []
NOOK HD (Ice Cream Sandwich) 2.0 []
Samsung Galaxy Tab 4 NOOK 7.0 (KitKat) 4.4 []
Samsung Galaxy Tab 4 NOOK 10.1 (KitKat) 4.4 []

Results: The application fails to install onto the NOOK Color due to an
older SDK.

You have to use build 2014.2263 or earlier, but currently the build server is not working for that build, so your only option is to wait until it gets fixed if you want to support the Nook Color. Or, you can deselect Nook Color on B&N’s website. In my own experience, however, it’s better to suppor the Nook Color because there are a ton of those devices floating around out there. When I stopped supporting Nook Color, my downloads on B&N went down by over 50%.

I just wish that there is a resolution for this issue ASAP. my user base for Nook color is screaming at me.

Clearly you guys at Corona are not taking this particular issue seriously enough. When this Template not Found problem occured, it broke older versions of Builds. With your version control software system, you should be able to find what caused this problem without too much difficulty.

This Corona BUG/ERROR wiped out Nook Color and millions of Android phones still running 2.2 - this is terrible because the majority of international users cannot afford newer phones - if your developers actually care, prove it and fix this.

The law of large numbers can tell you that for every complaint you have here online, there are likely 100 times more developers upset about the issue that may be leaving Corona to insure backward compatibility. I love Corona and would hate to leave because of a refusal to insure compatibility will potentially millions of older phones.

If your company doesn’t care enough to do something about this now, whose to say that in 2 years you wont abandon support for today’s version of Android? Please, just do the right thing and fix this problem which makes it impossible for us to compile with older builds - making them useless.

Thank you for your consideration.

As of yesterday afternoon, the engineers solved the build problem.  You need to use 2263.  Now this will only work for Windows and OS-X Mavericks 10.9.4 and earlier.  If you are using Yosemite or Mavericks 10.9.5 or later, Apple changed how apps are signed and that old build will likely cause OS-X 10.9.5 or later refuse to run Corona SDK.  Engineering is trying to add a feature that would let you work around this limitation, but for now if you’re on WIndows or on an older Mac you should be good to go.

Rob

Thank you Rob and Corona team for fixing this issue, I was able to compile for android 2.2, and submitted the update to B&N, let’s see how it goes.

Thank you for fixing this