{ "id": "169728", "key": "TIMOB-25251", "fields": { "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2018-12-11T22:35:37.000+0000", "created": "2017-09-07T21:32:35.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "escalation" ], "versions": [], "issuelinks": [ { "id": "56015", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "169915", "key": "TIMOB-25353", "fields": { "summary": "Android: Move Play Services into a module", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": null, "updated": "2018-12-11T22:35:37.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" }, { "id": "13715", "name": "Hyperloop", "description": "Hyperloop project" } ], "description": "h5. Description \r\nCustomer is trying to use Firebase. They have used third party module ti.firebase and they have tried to do it natively with hyperloop and they have also tried creating their own module for it. \r\nh5. error: \r\n{code}\r\n[WARN] W/System.err: ... 31 more\r\n\r\n[WARN] W/System.err: Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available\r\n\r\n[ERROR] TiExceptionHandler: (main) [33,97] ----- Titanium Javascript Runtime Error -----\r\n\r\n[ERROR] TiExceptionHandler: (main) [1,98] - In /app.js:5,14\r\n\r\n[ERROR] TiExceptionHandler: (main) [0,98] - Message: Uncaught Failed resolution of: Lcom/google/android/gms/R$string;\r\n\r\n[ERROR] TiExceptionHandler: (main) [0,98] - Source: firebase.initFirebaseApp();\r\n\r\n[ERROR] V8Exception: Exception occurred at /app.js:5: Uncaught Failed resolution of: Lcom/google/android/gms/R$string;\r\n\r\n[ERROR] V8Exception: Failed resolution of: Lcom/google/android/gms/R$string;{code}\r\n\r\nh5. 3rd party ti.firebase module: \r\n[Firebase module|https://axwaysoftware-my.sharepoint.com/personal/nmishra_axway_com/_layouts/15/guestaccess.aspx?guestaccesstoken=5GiYZAGLFovGCT%2f0VjGYHI7oY8dKa2ntlaHWFxIHglw%3d&docid=2_14d3c0de793a14d4383e217edade2d944&rev=1]\r\n\r\nh5. Native Hyperloop firebase: \r\n[firebaseHyperloopWithPersonalJavaImplJar|https://axwaysoftware-my.sharepoint.com/personal/nmishra_axway_com/_layouts/15/guestaccess.aspx?guestaccesstoken=P8EkJLCVDTlDY11FIOZ9ImojYahk2fY3p7LZpXgNn5Y%3d&docid=2_1ec69d2e3960749f3b68d668186bc755d&rev=1]\r\n\r\nh5. App Sample using self-created module\r\n[Self made firebase module|https://axwaysoftware-my.sharepoint.com/personal/nmishra_axway_com/_layouts/15/guestaccess.aspx?guestaccesstoken=7inWFtnhANxiqiTFYWNcXGHvLjLZFxBz%2fSeD%2fPuR7a0%3d&docid=2_14549427e63f14642bd100b6a68e6fa88&rev=1]\r\n\r\nh5. additional information\r\nI've attached the error log that is generated when you try to use the third party firebase module. \r\n", "attachment": [ { "id": "63220", "filename": "build.log", "author": { "name": "vvazquezmontero", "key": "vvazquezmontero", "displayName": "Victor Vazquez Montero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-09-07T21:29:15.000+0000", "size": 31042, "mimeType": "text/plain" } ], "flagged": false, "summary": "Hyperloop: Error during runtime using firebase", "creator": { "name": "vvazquezmontero", "key": "vvazquezmontero", "displayName": "Victor Vazquez Montero", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "vvazquezmontero", "key": "vvazquezmontero", "displayName": "Victor Vazquez Montero", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "427740", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~jvennemann] If the LoopModules library does not work anymore, it may be a regression in Hyperloop. Can we test this with 2.2.0 and include if still happening? Thanks!\r\n\r\n*EDIT*: It does not seem like they use the Ti.Firebase LoopModule ([here|https://github.com/loop-modules/Ti.Firebase]), yet. That one is Hyperloop-based and should work. In the mean time, I found a Github issue that is now linked to TIMOB-24722 which should be the core of this issue - the concurring google-play library versions. It will be investigated this week. Until then, we should still clarify what the subject of this ticket is, as I do not see any Hyperloop-related issues here.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-09-10T11:51:25.000+0000", "updated": "2017-09-10T12:21:26.000+0000" }, { "id": "427756", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~hknoechel], looking at the Firebase LoopModule it states that it is for iOS only, so i don't know why this is mixed up here with the Android module? Anyway i tested it and it's working fine with Hyperloop 2.1.3. Hyperloop 2.2.0 has an issue with generating the metabase, but that is expected as the Framework support rewrite is still a work in progress.\r\n\r\nThe issue for the third-party Android module is that it does not provide the required resources for the {{play-services-basement-9.6.0.jar}} library, in addition to some other libraries. The module only bundles the .jar files but nothing else. We cannot recreate the mentioned {{com/google/android/gms/R}} class because of that, resulting in the build failure. Switching over to use SDK 6.1.0+ and the actual .aar files should resolve this problem (The ti.map module does not have this issue because it uses the [respackage|https://github.com/appcelerator-modules/ti.map/blob/master/android/manifest#L20] option in the module manifest, which also regenerates the above mentioned R class).\r\n\r\nFor their own build module, i can not see any error in their build log, but when i build it on my machine with Titanium 6.1.1.GA i get the following dexer error:\r\n{code}\r\n[ERROR] Failed to run dexer:\r\n[ERROR] \r\n[ERROR] Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/firebase/zza;\r\n[ERROR] 1 error; aborting\r\n{code}\r\nIs that the error they are also seeing?", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-09-11T13:51:31.000+0000", "updated": "2017-09-11T19:35:16.000+0000" }, { "id": "427807", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey there! Please see my latest comment on TIMOB-24722 that will likely solve this issue as well:\r\n{quote}\r\nI just updated Ti.Map to use the very latest Google Play Services (11.0.4) here. So if the other native module is able to use the same one (probably just a PR to that branch), it will be compatible on the fly. Please note that newer versions of the Google Play Services like 11.x have a dependency on the support-library as well, which we updated in 6.2.0, so 6.2.0 will be required to run this version of Ti.Map.\r\n\r\nSide-Note: We will bump the Ti.Map Android version (currently 3.4.0) to 4.0.0 in Titanium SDK 7.0.0, which would be a breaking change anyway, but I wanted to ensure that Titanium SDK 6.x users can still use this important PR before we bump the minimum Titanium SDK to 7.0.0.\r\n{quote}\r\n\r\nLong story short: We will move to Gradle in future versions of Titanium soon, but until then, keeping the modules up to date will unblock this issue immediately.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-09-12T16:02:46.000+0000", "updated": "2017-09-12T16:29:24.000+0000" }, { "id": "429592", "author": { "name": "vvazquezmontero", "key": "vvazquezmontero", "displayName": "Victor Vazquez Montero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~hknoechel] was this issue included in hyperloop 2.2.0 ?", "updateAuthor": { "name": "vvazquezmontero", "key": "vvazquezmontero", "displayName": "Victor Vazquez Montero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-10-25T20:45:22.000+0000", "updated": "2017-10-25T20:45:22.000+0000" }, { "id": "431304", "author": { "name": "vvazquezmontero", "key": "vvazquezmontero", "displayName": "Victor Vazquez Montero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~hknoechel] Would the updated modules be included in SDK 7.0.0 RC? \r\n", "updateAuthor": { "name": "vvazquezmontero", "key": "vvazquezmontero", "displayName": "Victor Vazquez Montero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-11-27T17:06:34.000+0000", "updated": "2017-11-27T17:06:34.000+0000" } ], "maxResults": 17, "total": 17, "startAt": 0 } } }