Copy link to clipboard
Copied
We just tried to update to the beta (15.0.0.349) to fix some issues with the iPhone splash screen. However, this seems to have broken our Android build.
What we see is the Android app ends up with just a white screen with a "TypeError: Error #1016" in the log from our main function. Nothing in our app derives from a final class, so the error doesn't make any sense. It also isn't caught at compile time - just runtime.
Backing down to Air 15.0.0.249 works - so it's something between those two that's causing the problem.
Any clue what it might be? Is this an Air bug, or is there something I'm missing?
Copy link to clipboard
Copied
Thanks for reporting the issue.
I have tried to reproduce the issue. But AIR app on android is working fine.
Could you please share a sample app so that we can easily reproduce it
Thanks,
Pravendra
Copy link to clipboard
Copied
I'll see what I can do. It's a *very* large project (already a released game on other platforms), so distilling a simple reproduction case may take some time.
Copy link to clipboard
Copied
For those who might also run into this: we tracked it down while reducing our game to a sample app. It turns out the previous compiler was more lenient about a stray "." when referencing an object property. The distilled code that shows the error is as follows. The details of the ANEs used don't seem to matter. The failure is in the call to "MyNativeExtension.extension..initExtension()", which fails at runtime in a release build with 15.0.0.349 when it didn't fail in 15.0.0.249. The error it gives doesn't make sense, as it suggests you're trying to derive from a final class, which makes this sort of error hard to find.
package {
import com.nativeextension.MyNativeExtension;
import com.nativeextension.AndroidLog;
[SWF(frameRate = "100", width = "1024", height = "768")]
public final class GameMainAndroidMobile extends GameApplicationMobileAir
{
public function GameMainAndroidMobile()
{
addUncaughtErrorHandler();
var xml : XML = NativeApplication.nativeApplication.applicationDescriptor;
var ns : Namespace = xml.namespace();
var version : String = xml.ns::versionNumber;
AndroidLog.log.i(LOG_TAG, "Application initializing as " + NativeApplication.nativeApplication.applicationID + " version " + version);
MyNativeExtension.create();
MyNativeExtension.extension..initExtension();
}
}
}
Copy link to clipboard
Copied
Could you please share the ANE you are using. It will help us in investigating the problem.
Copy link to clipboard
Copied
As I mentioned in the previous post, the particular ANE doesn't matter. The important difference is the handling of the typo in the code where there is a double ".": MyNativeExtension.extension .. initExtension();
249 apparently accepts that without a warning, while 349 throws an error.
Copy link to clipboard
Copied
Hi,
The error we are getting on accessing a function with “..” is ( TypeError: Error #1016: Descendants operator (..) not supported on type functionName )
But it’s a desired error, it’s not specific to ANE, it will appears with normal functions of other class also.
We just wonder how you are not getting this on 15.0.0.249 as we are able to reproduce it on both builds.
Attaching the sample code we are using for your reference Dropbox - DoubleDotOperator.zip
Thanks,
Jitender
Copy link to clipboard
Copied
I definitely agree the error is desired.
I still haven't determined why this only appeared as a runtime error for us with .349, and not at all with .249. It really should appear as a compile-time error.
In any case, it's a very low priority for us now that we've fixed the source of the error.