Android Everyplay Plugin Runtime Error

Hello,

I am working on few plugins for android, rewarded video ads from, AdColony, AppLovin, Chartboost, UnityAds, Vungle,a simple Sharing plugin so you can share for example to email your score and link of your application and Everyplay. Everyplay is a service which allows you to share gameplay videos from your game. I will release them all to UE4 community for free once they are all tested
I am using the latest 4.13 preview3 version of the engine.

I am testing Everyplay plugin right now. The plugin seems to be initialized properly, i am getting an event from the sdk but when i am calling a method, application crashes and i am getting an error:

E/AndroidRuntime(31909): java.lang.NoClassDefFoundError: Failed resolution of: Lcom/everyplay/Everyplay/R$layout;

E/AndroidRuntime(31909): at com.everyplay.Everyplay.view.ag.(Unknown Source)

E/AndroidRuntime(31909): at com.everyplay.Everyplay.view.bi.m(Unknown Source)

E/AndroidRuntime(31909): at com.everyplay.Everyplay.view.bi.(Unknown Source)

E/AndroidRuntime(31909): at com.everyplay.Everyplay.view.f.b(Unknown Source)

E/AndroidRuntime(31909): at com.everyplay.Everyplay.view.EveryplaySocialActivity.onCreate(Unknown Source)

/…/

E/AndroidRuntime(31909): Caused by: java.lang.ClassNotFoundException: Didn’t find class “com.everyplay.Everyplay.R$layout” on path: DexPathList[[zip file “/data/app/com.YourCompany.RisingBirds-1/base.apk”],nativeLibraryDirectories=[/data/app/com.YourCompany.RisingBirds-1/lib/arm, /vendor/lib, /system/lib]]

E/AndroidRuntime(31909): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)

E/AndroidRuntime(31909): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)

E/AndroidRuntime(31909): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)

E/AndroidRuntime(31909): … 18 more

E/AndroidRuntime(31909): Suppressed: java.lang.ClassNotFoundException: com.everyplay.Everyplay.R$layout

E/AndroidRuntime(31909): at java.lang.Class.classForName(Native Method)

E/AndroidRuntime(31909): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)

E/AndroidRuntime(31909): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)

E/AndroidRuntime(31909): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)

E/AndroidRuntime(31909): … 19 more

E/AndroidRuntime(31909): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

V/ApplicationPolicy( 927): isApplicationStateBlocked userId 0 pkgname com.YourCompany.RisingBirds

W/ActivityManager( 927): Force finishing activity com.YourCompany.RisingBirds/com.everyplay.Everyplay.view.EveryplaySocialActivity

W/ActivityManager( 927): Force finishing activity com.YourCompany.RisingBirds/com.epicgames.ue4.GameActivity

link text
link text

I have uploaded the APL file and the full logcat.

I have started making the plugins prior to 4.13 version.

I am not sure if i declare correctly the activities, in APL file, for the Androidmanifest, though it seems to write them correctly on APK package or the libraries are linked properly.

The Everyplay sdk is here: GitHub - Everyplay/everyplay-android-sdk: Everyplay SDK for Android

Any ideas what might causing this error?

I have made a forum post here:link text

Best,
Makis

Hi Makis,

I see that you have been getting support in the forum post you linked to above. For other users interested in this topic, here’s the information that’s been provided thus far:

  • There are resource files in the SDK which you also need (the res directory).
  • The preferred method to add these resource files from the sdk to the build directory would be to copy the project directory to JavaLibs in < prebuildCopies >
  • Or, since 4.13 now supports AAR files, you can package the resource file from the sdk to the build directory with the following line in the APL by adding it as a dependency in the aar-imports.txt: < copyFile src=“$S(PluginDir)/…/…/res” dst=“$S(BuildDir)/res” />
  • The UPL (new name for APL) can add to this list;

In regards to your next questions:

  • How do you add the sdk (packaged as an aar file) as a dependency in the aar-imports.txt …when using a project plugin?
  • Where can you find more info about the new UPL in UE4.13?

Chris B would be the authority on these issues. If he does not respond in the next couple of days, post here that you haven’t gotten a response and I will follow up with him to see if he has anything to add. Due to the workload with the engine, it may take as long as four business days to get a response to a post on the AnswerHub or .

I added the new section to UPL and the aar file in Plugins/Everyplay/ThirdParty/respository/com/everyplay/Everyplay/1.5.3.

I tried to package project and i am getting an error:UnrealBuildTool Exception: System.IO.DirectoryNotFoundException: Could not find a part of the path ‘C:\Program Files (x86)\Epic Games\4.13\Engine\ThirdParty\repository’.

At some point i changed the add the .aar file in a similar folder path in the Engine directory and saw it extracting in to Unreal Projects\RisingBirds\Intermediate\Android\APK,but then i was getting another error about multidex error if i remember correctly.

Anyway i dont know if it is something wrong in the file structure or because i am missing the .pom file.

How we create the pom file, from Android studio?

By the way, here is the plugin file we everything i have done until now if anyone wants to give it a try with the aar, pom files and wants to use it in his game:

link text

You left out the S in $S(PluginDir)/…/…/ThirdParty/repository in the Everyplay_APL.xml and commented out the AARImports section.

Hi Chris,

Thanks again for your answer.

If you checked the zip file, i uploaded commenting out the AARimports section,in case something was wrong, so if anyone wants to add the aar, pom files correctly, can try it from this point on.

The System.IO.DirectoryNotFoundException: Could not find a part of the path ‘C:\Program Files (x86)\Epic Games\4.13\Engine\ThirdParty\repository’, error was with the AAR imports included.

But i think i was missing the S symbol from $S(PluginDir)/…/…/ThirdParty/repository in the Everyplay_APL.xml, at your first post withh AAR impors it was missing too, so i didn’t notice it either, sorry.

I will try it to package again the project later with the proper aar imports and see what i am getting.

Then I will look again how to make the pom file from the sdk.

I corrected the missing symbol error. Now i am getting the following message:

AARImports: com.everyplay, Everyplay, 1.5.3

Unable to find package com.everyplay/Everyplay!

I added the following pom file:

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.everyplay.Everyplay</groupId>
  <artifactId>Everyplay</artifactId>
  <version>1.5.3</version>
  <packaging>aar</packaging>
  <dependencies>
    <dependency>
      <groupId>com.everyplay.Everyplay</groupId>
      <artifactId>Everyplay</artifactId>
      <version>1.5.3</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
  </dependencies>
</project>

But i am still getting the same error.

link text

Me too. Pls help!

Hi check this link link text to see how i solved the packaging problem with pom file. Although the Everyplay plugin never worked, It can save the video but it has a problem when you trying to share the video through the Everyplay sharing screen.