Announcement

Collapse
No announcement yet.

[Help] App force closes and says it has Stopped when implementing "Show external login UI" node?

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

  • replied
    Hey! I finally got it to work. The reason it said XAPK file validation failed is because when I package the app with an .OBB file. I forgot to upload the .OBB as an expansion file after I uploaded the APK. Which is my fault my fault in my case. Anyways thanks for help in fixing my problem you were a huge help! Thanks!
    Last edited by Spookey0188; 01-13-2016, 09:44 AM.

    Leave a comment:


  • replied
    Is your APK with data packaged in APK less than 100 MB? If so, you can use this with Google Play store now instead of requiring an OBB as a workaround at this point. I'm not sure what the issue is at this point. Might be time to move this to an AnswerHub for tracking.

    Leave a comment:


  • replied
    Hey so I changed the line of code, changed Min and Target to both 9 and finally packaged my app. I uploaded to the play store and when i download it, it doesn't give me any error debug log but it gives me this

    Click image for larger version

Name:	Screenshot_2016-01-12-00-40-02.png
Views:	1
Size:	46.9 KB
ID:	1098459

    How do i keep this from happening? For these settings min and target they are both set to 9 so I don't know why it's giving me this error?

    Click image for larger version

Name:	SDK.PNG
Views:	2
Size:	6.3 KB
ID:	1098458
    Attached Files
    Last edited by Spookey0188; 01-12-2016, 09:50 AM.

    Leave a comment:


  • replied
    Change the LicenseChecker.java in the Engine directory, not your project. As I said above, the engine version of the file is copied to your Project's Intermediate/Android/APK during packaging; do not edit this one since it will be replaced.

    I would se the Target SDK Version to 9 and see what you get.

    Leave a comment:


  • replied
    Ok and what about the LicenseChecker.java file? How do i keep it from reverting back to the orginal code? Or is it supposed to be like that?



    And when i change the min and target SDK (Showed in the pic below) to 19 or one of them I get a XAPK Failed Validation?


    Click image for larger version

Name:	SDK.PNG
Views:	2
Size:	6.3 KB
ID:	1098392
    Last edited by Spookey0188; 01-11-2016, 05:14 PM.

    Leave a comment:


  • replied
    Did you change the version in the Engine, not your project? These files are copied into the project from the engine each time your package or launch.

    Minimum SDK version and Target SDK version are in the APKPackaging section of Android project settings.

    Leave a comment:


  • replied
    Hey, I went into the LicenseChecker.java file and i changed the piece of code in the line 149 and saved successfully. I went back to the file to make sure the code was saved and sure enough it was. So i opened up UE4 went to my project and packaged my app. After it was finished packaging I went back to the java file and the packaging made the piece of code in line 149 revert back to the original line of code and I packaged multiple times to see if it still reverts back after changing it back to the new line of code and still reverts back. Even though i saved it reverts back. How do I keep this from happening????

    Also when you say TargetSDK. Do you mean the min and target SDk in the android catagory in project settings or SDK and NDK api level in the AndroidSDK category in the project settings when changing to android-19?
    Last edited by Spookey0188; 01-11-2016, 09:48 AM.

    Leave a comment:


  • replied
    Hi Spookey0188,

    Ok, we already do the
    Code:
    serviceIntent.setPackage("com.android.vending");
    in IabHelper.java. It looks like we also need a change in LicenseChecker.java found in Engine\Build\Android\Java\src\com\android\vending\licensing.

    Line 149:

    Code:
                        boolean bindResult = mContext
                                .bindService(
                                        new Intent(
                                                new String(
                                                        Base64.decode("Y29tLmFuZHJvaWQudmVuZGluZy5saWNlbnNpbmcuSUxpY2Vuc2luZ1NlcnZpY2U="))),
                                        this, // ServiceConnection.
                                        Context.BIND_AUTO_CREATE);
    change this to:

    Code:
                        boolean bindResult = mContext
                                .bindService(
                                        new Intent(
                                                new String(
                                                        Base64.decode("Y29tLmFuZHJvaWQudmVuZGluZy5saWNlbnNpbmcuSUxpY2Vuc2luZ1NlcnZpY2U=")))
    											.setPackage(
    													new String(
    														Base64.decode("Y29tLmFuZHJvaWQudmVuZGluZw==")
    													)
    											),
                                        this, // ServiceConnection.
                                        Context.BIND_AUTO_CREATE);
    Setting TargetSDK version to 19 would likely also fix this since this only seems to be needed for Lollipop and above. I'll make this change for 4.11.
    Last edited by Chris Babcock; 01-08-2016, 03:17 PM.

    Leave a comment:


  • replied
    I asked my question in stack overflow and someone said this link was the souloution but my app is pure BPs so I don't know how to implement the souloution.



    http://stackoverflow.com/questions/2...st-be-explicit

    Leave a comment:


  • replied
    I'm sorry but that didn't do anything. I set the min and target to 9 and set the SDK API level from matchndk to android-19 and gave me a XAPK validation failed. I switch back to the original min target SDK to 9 and target to 21 and the SDK API level to matchndk because when I first upladed my app for the first time it was working for some reason from the Play store. I asked my question in stack overflow and someone said this link was the solution but my app is pure BPs so I don't know how to implement the solution.


    http://stackoverflow.com/questions/2...st-be-explicit
    Last edited by Spookey0188; 01-08-2016, 11:18 AM.

    Leave a comment:


  • replied
    Setting it to 21 for Lollipop means it will only run on Lollipop and above. Try setting the minimum and target to 9 and make sure you have the Android SDK set for android-19.

    Leave a comment:


  • replied
    Ok i set the SDK version to 18 and it said XAPK file validation failed. I set it to 19 and uploaded it again and same message. Keep in mind I have s6 edge+ with lollipop running and it says to set value to 21 for lollipop. I am sure the SDK version is set right because when i first uploaded my apk to the play store In alpha testing. I downloaded from the play store and it worked perfectly. Then I added the external UI node and some permissions like ex In-app purchasing permission and then uploaded to the play store and the error start occurring with that debug log. One thing that was weird is that when i try to install the game through the bat file after i package my app. The game works perfectly with google services working. I dont understand the problem and hope you can help me. Thanks! Here is the debug log again



    java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.android.vending.licensing.ILicensingService }
    at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:2124)
    at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:2248)
    at android.app.ContextImpl.bindService(ContextImpl.java:2226)
    at android.content.ContextWrapper.bindService(ContextWrapper.java:560)
    at com.google.android.vending.a.j.a(Unknown Source)
    at com.google.android.vending.expansion.downloader.a.u.run(Unknown Source)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:145)
    at android.app.ActivityThread.main(ActivityThread.java:6897)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
    Last edited by Spookey0188; 01-07-2016, 04:59 AM.

    Leave a comment:


  • replied
    What is the target SDK version set to? Make sure it is no higher than 19.

    Leave a comment:


  • replied
    Here is the debug log i got from the crash report in Google play dev console. Any ideas on what the error is?


    java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.android.vending.licensing.ILicensingService }
    at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:2124)
    at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:2248)
    at android.app.ContextImpl.bindService(ContextImpl.java:2226)
    at android.content.ContextWrapper.bindService(ContextWrapper.java:560)
    at com.google.android.vending.a.j.a(Unknown Source)
    at com.google.android.vending.expansion.downloader.a.u.run(Unknown Source)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:145)
    at android.app.ActivityThread.main(ActivityThread.java:6897)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

    Leave a comment:


  • replied
    Hi Spookey0188,

    Do you have a logcat from the failed run? This will help greatly in identifying the issue. Google Play has debug messages which will help track down why it failed if it really was the Show external login UI node.

    Leave a comment:

Working...
X