[4.8P2 OSX] Launch on Android

I’m experiencing several problems related to launching an application on an Android device (Note 4 Snapdragon with Android 5.0.1)
In particular:

  • I can package and install the application without any problem but…

  • If I try to “Launch” the application the default texture format would be ASTC, resulting in several texture not working (=black). At the moment I have found that ATC (which was the default format with UE4.7 is the format working best on this device)

  • Launch a few times failed with the error:

    LogPlayLevel: BuildCommand.Execute: ERROR: BUILD FAILED
    LogPlayLevel: Program.Main: ERROR: AutomationTool terminated with exception:
    LogPlayLevel: Program.Main: ERROR: Exception in System: ApplicationName=‘/Developer/Android/sdk/platform-tools/adb’, CommandLine=‘-s c803cce3 push “/Users/xxx/Documents/Unreal Projects/XXX.4.8/Saved/StagedBuilds/Android_ASTC/XXX/Content/Animations/ModularAnimations/IdleRun_TPP_Modular.uasset” “/storage/emulated/legacy/UE4Game/XXX/XXX/Content/Animations/ModularAnimations/IdleRun_TPP_Modular.uasset”’, CurrentDirectory=‘’, Native error= Out of memory
    LogPlayLevel: Stacktrace: at System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000] in :0
    LogPlayLevel: at System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000] in :0
    LogPlayLevel: at System.Diagnostics.Process.Start () [0x00000] in :0
    LogPlayLevel: at (wrapper remoting-invoke-with-check) System.Diagnostics.Process:Start ()
    LogPlayLevel: at AutomationTool.CommandUtils.Run (System.String App, System.String CommandLine, System.String Input, ERunOptions Options, System.Collections.Generic.Dictionary`2 Env) [0x00000] in :0
    LogPlayLevel: at AndroidPlatform.RunAdbCommand (AutomationTool.ProjectParams Params, System.String Args, System.String Input, ERunOptions Options) [0x00000] in :0
    LogPlayLevel: at AndroidPlatform.Deploy (AutomationTool.ProjectParams Params, DeploymentContext SC) [0x00000] in :0
    LogPlayLevel: at Project.Deploy (AutomationTool.ProjectParams Params) [0x00000] in :0
    LogPlayLevel: at BuildCookRun.DoBuildCookRun (AutomationTool.ProjectParams Params) [0x00000] in :0
    LogPlayLevel: at BuildCookRun.ExecuteBuild () [0x00000] in :0
    LogPlayLevel: at BuildCommand.Execute () [0x00000] in :0
    LogPlayLevel: Program.Main: ERROR: ApplicationName=‘/Developer/Android/sdk/platform-tools/adb’, CommandLine=‘-s c803cce3 push “/Users/xxx/Documents/Unreal Projects/XXX.4.8/Saved/StagedBuilds/Android_ASTC/Rift/Content/Animations/ModularAnimations/IdleRun_TPP_Modular.uasset” “/storage/emulated/legacy/UE4Game/XXX/XXXX/Content/Animations/ModularAnimations/IdleRun_TPP_Modular.uasset”’, CurrentDirectory=‘’, Native error= Out of memory
    LogPlayLevel: Program.Main: AutomationTool exiting with ExitCode=1
    LogPlayLevel: Domain_ProcessExit

  • If I use the Project Launcher I’ve experienced several crash of some UE process while “cooking on the fly”

  • “cooking by the book” successfully installs the application on the device, but when I try to launch it, it crashes immediately with the following exception:

    05-12 23:56:46.991: E/LicenseChecker(25848): Invalid key specification.
    05-12 23:56:46.991: D/AndroidRuntime(25848): Shutting down VM
    05-12 23:56:47.001: E/AndroidRuntime(25848): FATAL EXCEPTION: main
    05-12 23:56:47.001: E/AndroidRuntime(25848): Process: com.YourCompany.XXX, PID: 25848
    05-12 23:56:47.001: E/AndroidRuntime(25848): java.lang.IllegalArgumentException: java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long
    05-12 23:56:47.001: E/AndroidRuntime(25848): at com.google.android.vending.licensing.LicenseChecker.generatePublicKey(LicenseChecker.java:121)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at com.google.android.vending.licensing.LicenseChecker.(LicenseChecker.java:92)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at com.google.android.vending.expansion.downloader.impl.DownloaderService$LVLRunnable.run(DownloaderService.java:765)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at android.os.Handler.handleCallback(Handler.java:739)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at android.os.Handler.dispatchMessage(Handler.java:95)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at android.os.Looper.loop(Looper.java:145)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at android.app.ActivityThread.main(ActivityThread.java:5944)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at java.lang.reflect.Method.invoke(Native Method)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at java.lang.reflect.Method.invoke(Method.java:372)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
    05-12 23:56:47.001: E/AndroidRuntime(25848): Caused by: java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long
    05-12 23:56:47.001: E/AndroidRuntime(25848): at com.android.org.conscrypt.OpenSSLKey.getPublicKey(OpenSSLKey.java:143)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at com.android.org.conscrypt.OpenSSLRSAKeyFactory.engineGeneratePublic(OpenSSLRSAKeyFactory.java:47)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at java.security.KeyFactory.generatePublic(KeyFactory.java:172)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at com.google.android.vending.licensing.LicenseChecker.generatePublicKey(LicenseChecker.java:112)
    05-12 23:56:47.001: E/AndroidRuntime(25848): … 10 more
    05-12 23:56:47.001: E/AndroidRuntime(25848): Caused by: java.lang.RuntimeException: error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long
    05-12 23:56:47.001: E/AndroidRuntime(25848): at com.android.org.conscrypt.NativeCrypto.d2i_PUBKEY(Native Method)
    05-12 23:56:47.001: E/AndroidRuntime(25848): at com.android.org.conscrypt.OpenSSLKey.getPublicKey(OpenSSLKey.java:141)
    05-12 23:56:47.001: E/AndroidRuntime(25848): … 13 more

Hi devel.bmad,

Do you mind attaching the entirety of both logs to this thread as a txt file. It is useful to have the whole log to diagnose your issue.

Thanks!

Sure, here they are. The ADB log is taken deploying on the fly instead of by the book, the exception is the same.
link text

From a rapid search in internet I see that the exception you can see in the dab log is often linked to Google Play In App Purchase: java.lang.IllegalArgumentException: java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long - Google Search

I haven’t configured play services in my project. Are they enabled by default in 4.8 or something similar?

Hi devel.bmad,

Thanks for the logs! I was able to determine that the Launch on failure is a known issue due to this:

LogPackageDependencyInfo:Display:
Package Info not found for
…/…/…/xxx/CookedIniVersion!

For reference, the JIRA is UE-15717. The issue itself was fixed today and should be ready to integrate into the 4.8 release shortly, however I do not know if it will make it in time for the next preview.

With regards to UFE cook on the fly, there is a known issue wherein Custom UFE profiles cause build failures for both cook on fly and cook by book for Mac. For reference that issue is: UE-15538. It has also been fixed and integrated.

I am concerned however that you’re seeing a crash instead of a build failure. What does your UFE output log look like when the project crashes on the device? I am hoping it is the same issue, I just do not have logcat logs to compare on the known issue, only UFE logs.

Thanks!

Thank you Wittlief, great news!

As concern the crash: here are both the UFE logs (is that the launcher logs, right?) and a more detailed dab log. I’d be happy to help with more information, if necessary.

Tested on 4.8 P3, this issue seems to have been fixed (at least, launching directly from the editor the ASTC configuration, which by the way now does not show issues with the textures anymore)

A few smaller issues remaining:

  • Incremental deployment sometimes
    seems to be working (great!) but not
    always. Which are the preconditions
    for it to work? cooking by the book? is this working also for code projects?
  • the apk is rebuilt every time, even
    if no changes were actually made.
    Why?
  • How do I set the default launch
    mode? clicking the launch button the
    editor sometimes launches ATC instead
    of ASTC, which would be the correct
    option.

I will have to check with the dev for these, and he’s not available this week, so I’ll try to get some answers and get back to you.

Hi, this problem seems to happen again randomly in 4.8 final.
When trying to launch an application I often get error of the kind “Native error= Out of memory” on different resources.

What do these error mean? no disk space on the the device?
No memory on the device? No memory on the mac?

Hi, as you’ve opened a separate ticket for this and are receiving assistance from the dev there, I’m going to close this one as resolved so we can consolidate answers there.

Thanks!