Download

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

Like the title says after i implemented the “Show external login UI” node (the below pic shows how the Bp is) and i put the script in my Game Mode Bp. I packedged the project and uploaded the apk in the google play store in alpha testing. I updated my app on my phone and when i opened it it gives me, "Unfortunately, <Your app name> has stopped.’’ And also it says in the notifications that my app is, ‘looking for resources to download’’. Like i don’t what that means and i don’t know whats the problem? I have google services enabled and entered the all the keys so what problem am i making?

Show external login UI script in the game mode BP

Imgur

Google play services project setting

Imgur

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.

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)

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

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)

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.

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

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.

Hi Spookey0188,

Ok, we already do the


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:


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


change this to:


                    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.

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?

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.

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?

a2c9da673b611b54dab2079deb78b3c9642797d7.png

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.

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

Screenshot_2016-01-12-00-40-02.png

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?

a2c9da673b611b54dab2079deb78b3c9642797d7.png

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.

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!