APK build after 'enhancement' process throws an exception on some of android devices.

23 posts (showing 1-20)
ian_phobos

Market Level 0Community Level 0
0 posts

Hi, problem appeared when I added unity google play service package. What interesting is that build without 'enhancement' works fine, but after 'enhancing' it throws an exception that application doesn't work. I can reproduce it only on 1 of my devices. It's: HTC One mini, Android 4.4.2  and on Android emulator same version.

Before adding the google play services apk was working correctly on all devices.

 

P.S. FGL-dashboard doesn't show any info, but google analytics and other stuff works.

posted 2016-11-30T03:13:11-08:00 | edited 2016-11-30T22:58:19-08:00
ian_phobos

Market Level 0Community Level 0
0 posts

And also Google Play showed the results of testing new apk: the problem reproducible on ALL android devices with 4.x version.

Error:

java.lang.RuntimeException: Unable to instantiate application com.fgl.enhance.injection.ApplicationInjectionTemplate: java.lang.RuntimeException: Multi dex installation failed (Field dexElementsSuppressedExceptions not found in class dalvik.system.PathClassLoader).

 

Full Log:

FATAL EXCEPTION: main Process: com.yan.HellWorm, PID: 9450 java.lang.RuntimeException: Unable to instantiate application com.fgl.enhance.injection.ApplicationInjectionTemplate: java.lang.RuntimeException: Multi dex installation failed (Field dexElementsSuppressedExceptions not found in class dalvik.system.PathClassLoader). at android.app.LoadedApk.makeApplication(LoadedApk.java:559) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4894) at android.app.ActivityThread.access$1500(ActivityThread.java:153) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1412) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:157) at android.app.ActivityThread.main(ActivityThread.java:5633) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:896) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:712) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.RuntimeException: Multi dex installation failed (Field dexElementsSuppressedExceptions not found in class dalvik.system.PathClassLoader). at android.support.multidex.MultiDex.install(MultiDex.java:178) at com.fgl.enhance.injection.ApplicationInjectionTemplate.attachBaseContext(ApplicationInjectionTemplate.java:25) at android.app.Application.attach(Application.java:190) at android.app.Instrumentation.newApplication(Instrumentation.java:998) at android.app.Instrumentation.newApplication(Instrumentation.java:982) at android.app.LoadedApk.makeApplication(LoadedApk.java:550)
posted 2016-11-30T21:06:19-08:00 | edited 2016-11-30T21:10:23-08:00
ian_phobos

Market Level 0Community Level 0
0 posts

I've done some more tests. I created a new app with default settings and just added FGLEnhance package, and after enhancement proccess on site I got the same exception. So the problem is absolutelly not in my external libraries, something is broken in service. 3 days ago all my 'enhanced' bulds were working fine. Did you do any updates for unity apps last time? 

 

Even if I now enhance my old builds they are not launching, but old builds which was enhanced previously are still working on same device..  

posted 2016-12-01T04:01:18-08:00 | edited 2016-12-01T05:23:18-08:00
ian_phobos

Market Level 0Community Level 0
0 posts

Is anyone from support going to check that? Because for me it looks like Service bug which blocks users with updating their apk files for publishing..

posted 2016-12-01T23:37:26-08:00 | edited 2016-12-01T23:37:56-08:00
FGL_Rozek

FGL AdminCommunity Level 5
475 posts

Hi.

Sorry no one has gotten back with you yet.

I will pass this along to engineering.  Thank you for your patience.

ALFLIMi.png

posted 2016-12-02T06:56:21-08:00
FGL_Dave

FGL AdminCommunity Level 4
319 posts

Hey Ian,

Thanks for the detailed investigation and report of the issue. This definitely looks like something caused by a recent update. I have made our principal Enhance builds engineer aware of the issue, and we will hopefully have a fix for it very soon.

posted 2016-12-02T19:20:33-08:00 | edited 2016-12-02T19:20:56-08:00
ian_phobos

Market Level 0Community Level 0
0 posts

This situation is a good example that developers can't be confident in using this service, because they are not aware of background changes in SDK and there is no way to 'enhance' build by using latest stable version of sdk. Almost a week ago I was prepared to release my game but because of this problem I was stuck and was waiting more than 3 days for any response. Is there any guarantee that such a situation when SDK breaks apk file won't appear again? 

Live chat is not working because I'm still waiting for response(2 weeks).  The FGL-dashboard doesn't show any information. 

Close button of ads unfortunatelly by clicking just opens ads page instead of closing it.

UI of the service is not user-friendly, for example process of re-uploading the build really annoys, because I need to move through all the steps.. 

I appreciate your work about simplifying the process of adding ads to the game, but I think that current implementation is pretty rough, and approach of enhancing the build doesn't look reliable for me (for the above-mentioned reasons).

If I use for example Appodeal service instead of FGL, will it be possible to have a deal with FGL service about finding a publisher? (with providing all required data of players activities after the month on google play). Unfortunately, now I don't see any other benefits of using the service..

 

posted 2016-12-03T07:17:57-08:00 | edited 2016-12-03T09:58:50-08:00
FGL_Chris

FGL AdminCommunity Level 9
1808 posts

Hi ian_phobos,

We apologize for the issues you've encountered.  I have some answers for you inline below.

Posted on 3rd Dec '16 by ian_phobos

This situation is a good example that developers can't be confident in using this service, because they are not aware of background changes in SDK and there is no way to 'enhance' build by using latest stable version of sdk. Almost a week ago I was prepared to release my game but because of this problem I was stuck and was waiting more than 3 days for any response. Is there any guarantee that such a situation when SDK breaks apk file won't appear again? 

We do pretty rigorous testing, but there are always some small % of apps that have an issue. One of the issues that is really hard for us to deal with is when an SDK causes an issue in an app, because we don't make the SDKs, we merely help implement them. Sometimes when we update an SDK (we keep them all up to date) the new SDK will cause some issues in some apps where there were no issues before. In the future we're going to build a versioning system for this: so you could pick an older version of an SDK when you know it works. For now, we will always support the latest versions. If you have issues it is best to contact us and we can usually work with the SDK provider to get a fix.

Live chat is not working because I'm still waiting for response(2 weeks).  The FGL-dashboard doesn't show any information. 

Really sorry to hear this. I did a check and did not see a message from you, but I may have been missing it. Usually the chat box is a good way to get a reply. You can also email us at enhance@fgl.com or, as you've done, write to us on the forums. The dashboard won't show any info until you've got some data to show (ad impressions etc...)

Close button of ads unfortunatelly by clicking just opens ads page instead of closing it.

Do you mean ads in your app?

UI of the service is not user-friendly, for example process of re-uploading the build really annoys, because I need to move through all the steps.. 

We have a big user-flow update coming in a couple of months. I think it will make things a lot easier. Also, I think more to your point, we have a feature in the works that will allow Enhancing during the build process. That isn't going to come out in the near future, but is something we plan to get to. If there are ways we could make this easier in the meantime please let us know.

I appreciate your work about simplifying the process of adding ads to the game, but I think that current implementation is pretty rough, and approach of enhancing the build doesn't look reliable for me (for the above-mentioned reasons).

If I use for example Appodeal service instead of FGL, will it be possible to have a deal with FGL service about finding a publisher? (with providing all required data of players activities after the month on google play). Unfortunately, now I don't see any other benefits of using the service..

I'm sorry that the issue you ran into led to a lack of trust. We're definitely striving to have as few issues as possible for everyone. Though, I will say that over 3,000 apps now use Enhance, and some apps are very popular.

And as for using Appodeal: In fact, you can use Appodeal through Enhance. So you can implement via Enhance, and have the metric tracking.

 

 

posted 2016-12-03T23:54:22-08:00
ian_phobos

Market Level 0Community Level 0
0 posts

Hi Chris, first of all thank you for the detailed answer. 

We do pretty rigorous testing, but there are always some small % of apps that have an issue. One of the issues that is really hard for us to deal with is when an SDK causes an issue in an app, because we don't make the SDKs, we merely help implement them. Sometimes when we update an SDK (we keep them all up to date) the new SDK will cause some issues in some apps where there were no issues before.

So that's a good point to check new implementations at least for crashes during the launching on 4.x, 5.x versions of android / ios (to exclude such cases as in the topic).   

The dashboard won't show any info until you've got some data to show (ad impressions etc...)

 Enhanced apk file has been placed in the Google Play (alpha version) for 2 weeks, also it includes interstitial, rewarded ads and some analytic events. So when will the dashboard show anything? 

Do you mean ads in your app?

Exactly, and one more point, my game is portrait-oriented but all ads are shown as landscape-oriented. How can it be properly handled?

Also, I think more to your point, we have a feature in the works that will allow Enhancing during the build process. That isn't going to come out in the near future, but is something we plan to get to. 

That would be really great!

Though, I will say that over 3,000 apps now use Enhance, and some apps are very popular.

Glad to hear it, am I right you invite players to new apps by using ads in already placed apps? If yes, could you give some more details about it?

posted 2016-12-04T02:53:05-08:00
ozdy

Market Level 6Community Level 13
1482 posts

I'm getting the exact same error, starts even earlier with a ERROR: DEX file has no classes in it, failing.

I really want to use the $50 deal, but obviously, I won't upload broken .apk to Play Store, can you extend deadline until you fix that?

posted 2016-12-06T08:40:59-08:00
FGL_Dave

FGL AdminCommunity Level 4
319 posts

Posted on 4th Dec '16 by ian_phobos

 Enhanced apk file has been placed in the Google Play (alpha version) for 2 weeks, also it includes interstitial, rewarded ads and some analytic events. So when will the dashboard show anything? 

...

Exactly, and one more point, my game is portrait-oriented but all ads are shown as landscape-oriented. How can it be properly handled?

Hi Ian,

I believe these issues were solved last week. Please try again!

With regards to income and reporting on the dashboard, I can see that some installs are showing up on your app's dashboard page now:

https://dashboard.fgl.com/reports/installs/com.yan.HellWorm

However, there has been no income to report yet. Generally speaking, if you game has < 500 installs, it's unlikely you'll see any income as most ad networks will not report anything to us until this has happened (or reports may be delayed).

With regards to landscape ads on a portrait game, this is usually network specific. Unfortunately we do not have control over this with Enhance as the network will serve ads in their preferred orientation. However, the screen should be re-orienting so it should look OK -- please let us know if this is not the case as then there will be an issue to look into!

Posted on 6th Dec '16 by ozdy

I'm getting the exact same error, starts even earlier with a ERROR: DEX file has no classes in it, failing.

I really want to use the $50 deal, but obviously, I won't upload broken .apk to Play Store, can you extend deadline until you fix that?

Hey ozdy,

Since you submitted your app for approval in the promo before the end date, you should still be eligible for the promo. DEX issues are usually related to using too many libraries in your app - there is a DEX limit of 65535 classes, whcih can be hit if libraries with a lot of classes are included. Enhance has a few tricks up its sleeve to get around this, but it doesn't always work. Could you try and see if you can reduce your dependencies and Enhance again? It is also possible there is a deeper issue going on with DEXing. I'm also going to have a look on our systems internally and see if I can spot any issues - could you let me know the package name of the app you are seeing this issue in?

Thanks guys!

posted 2016-12-08T05:55:30-08:00 | edited 2016-12-13T10:02:45-08:00
ozdy

Market Level 6Community Level 13
1482 posts

Posted on 8th Dec '16 by FGL_Dave

Hey ozdy,

Since you submitted your app for approval in the promo before the end date, you should still be eligible for the promo. DEX issues are usually related to using too many libraries in your app - there is a DEX limit of 65535 classes, whcih can be hit if libraries with a lot of classes are included. Enhance has a few tricks up its sleeve to get around this, but it doesn't always work. Could you try and see if you can reduce your dependencies and Enhance again? It is also possible there is a deeper issue going on with DEXing. I'm also going to have a look on our systems internally and see if I can spot any issues - could you let me know the package name of the app you are seeing this issue in?

Thanks guys!

I use no dependencies by myself, other than Enhance, and I check that you manage my interstitials and reward videos.

posted 2016-12-08T09:39:26-08:00
ozdy

Market Level 6Community Level 13
1482 posts

Hello? 7 days no progress on that issue. I agree 100% with ian_phobos that you can't trust Enhance if there are such big periods where it doesn't work and no possibility to revert back to previous version... What if I just found out a crucial bug in my mobile app and need to reupload ASAP? We could be talking about hundreds of dollars a day :P

posted 2016-12-13T03:51:31-08:00
FGL_Dave

FGL AdminCommunity Level 4
319 posts

Posted on 13th Dec '16 by ozdy

Hello? 7 days no progress on that issue. I agree 100% with ian_phobos that you can't trust Enhance if there are such big periods where it doesn't work and no possibility to revert back to previous version... What if I just found out a crucial bug in my mobile app and need to reupload ASAP? We could be talking about hundreds of dollars a day :P

Hey Ozdy!

Did you try Re-Enhancing? I confirmed above that the original issue is fixed, but you may have missed it as it was part of my response to ian_phobos.

Also, you didn't let me know the package name of the app you enhanced and had the issue with. If you let me know, I can have a deeper look for you!

posted 2016-12-13T09:58:59-08:00 | edited 2016-12-13T10:41:00-08:00
ozdy

Market Level 6Community Level 13
1482 posts

Thanks, it does work now, sorry to overreact. I'll enhance all my apps tomorrow as I gotta investigate why reward events are not triggered. Other than that, I have 9 games in the promotion but got only 3 apps confirmed for the promotion, what's the deal with that?

posted 2016-12-13T12:13:43-08:00
FGL_Dave

FGL AdminCommunity Level 4
319 posts

Posted on 13th Dec '16 by ozdy

Thanks, it does work now, sorry to overreact. I'll enhance all my apps tomorrow as I gotta investigate why reward events are not triggered. Other than that, I have 9 games in the promotion but got only 3 apps confirmed for the promotion, what's the deal with that?

Hey ozdy,

I can see that 6 of your games are still in the approval queue. They should hopefully be accepted within the next few days - the promotion was very popular so it's taking a while for our team to get through all the submissions!

Regarding your reward events, anything I can help with on my end?

Thanks!

posted 2016-12-14T04:05:41-08:00
ozdy

Market Level 6Community Level 13
1482 posts

I'm on it, it gives me some JNI error when trying to access the haxe methods from java, but everything in my code and enhance code seems to be ok, so I'm asking openfl guys for help.

posted 2016-12-14T14:31:14-08:00
ozdy

Market Level 6Community Level 13
1482 posts

Finally solved it, you guys need to add @:keep to your onCoinsRewardGranted, onItemRewardGranted, onRewardDeclined, onRewardUnavailable methods in EnhanceOpenFLExtension.hx, as they are not referenced anywhere in Haxe code (only from java via JNI) and so they get cut with -dce flag.

I'll upload all my games tomorrow as it's already kind of late here.

posted 2016-12-15T10:54:16-08:00
FGL_Dave

FGL AdminCommunity Level 4
319 posts

Posted on 15th Dec '16 by ozdy

Finally solved it, you guys need to add @:keep to your onCoinsRewardGranted, onItemRewardGranted, onRewardDeclined, onRewardUnavailable methods in EnhanceOpenFLExtension.hx, as they are not referenced anywhere in Haxe code (only from java via JNI) and so they get cut with -dce flag.

I'll upload all my games tomorrow as it's already kind of late here.

Thanks Ozdy!

I'll pass this along to the relevant guys to make sure it gets updated.

posted 2016-12-16T12:48:18-08:00
ilMareGames

Market Level 3Community Level 2
81 posts

Hi,

I also have crashes at startup in certain devices.

I couldn't reproduce the crash in my own devices (Nexus 5X (7.1.1) and Galaxy Tab A (5.1.1)), but I have crash reports in Xperia M2 (D2305) (4.4) and Moto G (1st Gen) (falcon_umts) (5.1).

The build I enhanced on Dec 13 was working fine, the crashes appeared after enhancing in Dec 17 (this enhance also added more permissions to my app).

It should be great to have more information about what's going on under the hood, like what sdk's versions are being integrated, a changelog, have the possibility to rollback to a previous version, etc. Also, adding a command line tool (or better, an ant or graddle task) would improve the service a lot.

 

posted 2016-12-20T08:06:03-08:00