This is a migrated thread and some comments may be shown as answers.

ChildBrowser works until publishing

7 Answers 37 Views
General Discussion
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Brad
Top achievements
Rank 1
Brad asked on 16 Jan 2013, 11:50 AM
ChildBrowser works perfectly when the app is installed manually from the apk file, but when downloaded from Google Play, it gives the error "ChildBrowser not Initialized"

Anyone else have this problem?

Any idea how to fix it?

Thanks

7 Answers, 1 is accepted

Sort by
0
Stefan Dobrev
Telerik team
answered on 16 Jan 2013, 01:33 PM
Hi Brad,

Can you share more details about your problem as none of our clients have reported similar issue before? What is the name of the application in the Google Play store? On what Android devices you have tried to install the application? Have you tried to build the apk in Release and then deploy the package to a device?

Regards,
Stefan Dobrev
the Telerik team

Share feedback and vote for features on our Feedback Portal.
Want some Kendo UI online training - head over to Pluralsight.
0
Brad
Top achievements
Rank 1
answered on 16 Jan 2013, 01:42 PM
No problem.  

Tested on a Samsung Galaxy III, Motorola Razor Max, and an older phone from T-Mobile one of my co-workers has.

On all devices, manually installing the apk directly from Icenium works perfectly.

After deploying to Google Play, we've noticed a few inconsistencies not present when manually installed:
1. The background-image style is lost on the index page (all devices)
2. The ChildBrowser control does not work on any devices except the Samsung Galaxy III.  When you attempt to call it, the "ChildBrowser not initialized" exception is thrown.
3. If you edit a text box inside the ChildBrowser control, the edges of the page become distorted and the screen jumps around.  (Samsung Galaxy III only)  Once the on-screen keyboard closes, the screen goes back to normal.

As more details come available, I will let you know.

Thanks
0
Brad
Top achievements
Rank 1
answered on 16 Jan 2013, 04:18 PM
More details..

Just tried pushing the latest APK to the device manually instead of via Google Play.    Turns out the version I published yesterday does not work even after being posted manually.  Here's the rub... I haven't really made any code significant changes.

The APK I published on 14 January works
Any APK  published since 15 January does not work on most devices

I added an alert to the  Cordova onDeviceReady() function, and it never fires on any new APK.  I suspect Cordova not loading is what is killing the app.

Digging into the APK files (old and new), there are some differences:
OLD classes.dex 262,156kb
NEW classes.dex 267,344kb

OLD /assets/cordova.js
NEW /assets/ folder does not contain cordova.js   <--- Seems this would be a good place to start

BOTH versions have cordova.js in the assets/content folder, same size



0
Evgeni "Zammy" Petrov
Telerik team
answered on 18 Jan 2013, 05:13 PM
Hi Brad,

There should not be cordova.js in asset folder but in assets/content in "Release" or "Debug" for Android.

I have gone through the questions of your previous post:

1. Do not set class "smallBody" on your "pageBody" and you will get the intended background. Is that the intended one? (Background-TabletHome.jpg)

2. I tested ChildBrowser plugin with all our Android devices and it works on all of them. Can you please isolate a small sample reproducing your issue and I will investigate it.

3. I cannot seem to reproduce this as well. Can you isolate in example so we can further investigate it? I tested this with Galaxy SIII updated to 4.1.2 Android. What is the Android version on your Galaxy SIII?


All the best,
Evgeni "Zammy" Petrov
the Telerik team

Share feedback and vote for features on our Feedback Portal.
Want some Kendo UI online training - head over to Pluralsight.
0
Brad
Top achievements
Rank 1
answered on 21 Jan 2013, 11:07 PM
Thanks for looking into it:

I believe this all comes back to Cordova no longer loading properly.   The following never fires.   When it does, backgrounds, childBrowser, and everything else works as advertised.

            // Cordova is ready
            function onDeviceReady() {
                    alert('test');
            }

My Galaxy SIII is Android 4.1.1

The most important part here, I believe, is that it used to work until about a week ago.  It also still works (up until the childBrowser part) in the simulator.  It is possible I broke something, but I haven't really changed much.  Just some admin details in preparation for deployment to Google Play. 
0
Evgeni "Zammy" Petrov
Telerik team
answered on 24 Jan 2013, 05:24 PM
Hi Brad,

You must remove line 10 from your index.html:
<script type="text/javascript" src="js/index.js"></script>
(You could also delete the index.js if you are not using it.)

 If you do that you will get onDeviceReady where you expect it.

Regards,
Evgeni "Zammy" Petrov
the Telerik team

Share feedback and vote for features on our Feedback Portal.
Want some Kendo UI online training - head over to Pluralsight.
0
Brad
Top achievements
Rank 1
answered on 29 Jan 2013, 06:28 PM
That seems to have worked, but I'm more confused than ever.  It seems that index.js has all the commands that link up and initialize Cordova.  Yet, if you take it out, everything starts working.

Background images and the initialize event are working again.

Either way, thanks!
Tags
General Discussion
Asked by
Brad
Top achievements
Rank 1
Answers by
Stefan Dobrev
Telerik team
Brad
Top achievements
Rank 1
Evgeni "Zammy" Petrov
Telerik team
Share this question
or