Announcement

Collapse
No announcement yet.

My app runs well on PC, but crashes on Android

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    My app runs well on PC, but crashes on Android

    Click image for larger version

Name:	2017-07-14_105642.png
Views:	1
Size:	182.1 KB
ID:	1225298

    I'm currently learning UE4 and I've written a small demo that draws different colorful shapes where the bullets hit. The demo runs well on PC, but when I installed it on Android it crashed immediately when the bullet hit the wall. I tried debug it with Nsight Tegra Debugger, the only information I got is "Execution of the target program is stopped for unknown reason.", I doubt weather it's a bug of UE4 or mine mistake , anyone can help ? Thanks in advance. The source code is in the attachment without Content resources.
    Attached Files

    #2
    Hello CrazyWind,

    Could you please provide the full log from the device that this crashed on, as well as the full callstack?

    Comment


      #3
      The full callstack is in the attachment, right after void AColorPainter::Paint(const FHitResult& Hit) returns, thanks.
      Attached Files

      Comment


        #4
        Hello Matthew Clark,
        I've upload the full project to github: https://github.com/comfanter/AndroidProject.git

        Comment


          #5
          I made a small modification to the engine source.

          //Engine\Source\Runtime\Engine\Classes\Components\PrimitiveComponent.h
          Code:
           	UPROPERTY(EditAnywhere, AdvancedDisplay, BlueprintReadWrite, Category=Collision)
          	uint32 bReturnFaceIndexOnMove:1;

          //Engine\Source\Runtime\Engine\Private\Components\PrimitiveComponent.cpp
          Code:
          void UPrimitiveComponent::InitSweepCollisionParams(FCollisionQueryParams &OutParams, FCollisionResponseParams& OutResponseParam) const
          {
          	OutResponseParam.CollisionResponse = BodyInstance.GetResponseToChannels();
          	OutParams.AddIgnoredActors(MoveIgnoreActors);
          	OutParams.AddIgnoredComponents(MoveIgnoreComponents);
          	OutParams.bTraceAsyncScene = bCheckAsyncSceneOnMove;
          	OutParams.bTraceComplex = bTraceComplexOnMove;
          	OutParams.bReturnPhysicalMaterial = bReturnMaterialOnMove;
          	OutParams.bReturnFaceIndex = bReturnFaceIndexOnMove; // new
          	OutParams.IgnoreMask = GetMoveIgnoreMask();
          }
          The app crashes on Android when the bullet hits the ColorPainterBP Actor.

          Comment


            #6
            Thank you for the log and callstack. It seems like it may be related to this warning message:

            [2017.07.14-02.48.48:770][ 0]LogStaticMesh:Warning: [SM_Plane1000_512] Mesh has more that 65535 vertices, incompatible with mobile; forcing 16-bit (will probably cause rendering issues).

            Could you try simplifying this plane mesh or replacing it with a mesh that has less vertices? This is likely the issue if your painting is on this mesh.

            Comment


              #7
              Thanks for your reply. I removed SM_Plane1000_512 but it still crashed when I tried to paint on mesh 1v4_tieta_jz_tieta003_lyz.
              Attached Files

              Comment


                #8
                Hello CrazyWind,

                I apologize for the delay, a bit busy at the moment but I just wanted to let you know that I'm still looking into this. I'll likely get some time to look into it tomorrow.

                Comment


                  #9
                  Actually, something I just noticed is that Event Driven Loading is enabled. Can you try disabling that and see if it may help? It's known to cause some Async loading issues.

                  Comment

                  Working...
                  X