{ "id": "167872", "key": "TIMOB-24722", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "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": [ { "id": "19906", "description": "", "name": "Release 6.3.0", "archived": false, "released": true, "releaseDate": "2017-11-01" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-10-30T18:16:55.000+0000", "created": "2017-05-23T17:14:21.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [], "versions": [ { "id": "19333", "description": "Patch release for important items that did not make it into 6.0.3", "name": "Release 6.0.4", "archived": false, "released": true, "releaseDate": "2017-04-27" } ], "issuelinks": [ { "id": "56014", "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": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-10-30T18:18:05.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": [], "description": "h5. Issue Description \r\n\r\nAt creating an appcelerator android module which uses Google Play services.\r\nI'm using the libraries 'play-services-base-9.4.0.jar' and 'play-services-basement-9.4.0.jar' in my appc module which is attached - testplayservicesmodule.zip\r\n\r\nIf i use this project in the appc app, everything is working fine.\r\nBut, if I add ti.map module as well to my appc app, it is giving error as 'Failed to run dexer' since the ti.map is also using similar jars in it.\r\n\r\nh5. Steps to reproduce \r\n\r\n1. Import project TestPlayServicesApp.zip into Appc Studio.\r\n2. Import timap module\r\n3. Run the application.\r\n\r\nYou will see the following error log:\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/android/gms/actions/ItemListIntents;\r\n[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/actions/NoteIntents;\r\n[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/actions/ReserveIntents;\r\n[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/actions/SearchIntents;\r\n[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/ads/identifier/AdvertisingIdClient;\r\n[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;\r\n[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$zza;\r\n[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/auth/api/signin/GoogleSignInAccount;\r\n[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/auth/api/signin/GoogleSignInAccount$1;\r\n[ERROR] : \r\n[ERROR] : UNEXPECTED TOP-LEVEL EXCEPTION:\r\n[ERROR] : java.lang.RuntimeException: Translation has been interrupted\r\n[ERROR] : at com.android.dx.command.dexer.Main.processAllFiles(Main.java:613)\r\n[ERROR] : at com.android.dx.command.dexer.Main.runMultiDex(Main.java:366)\r\n[ERROR] : at com.android.dx.command.dexer.Main.run(Main.java:275)\r\n[ERROR] : at com.android.dx.command.dexer.Main.main(Main.java:245)\r\n[ERROR] : at com.android.dx.command.Main.main(Main.java:106)\r\n[ERROR] : Caused by: java.lang.InterruptedException: Too many errors\r\n[ERROR] : at com.android.dx.command.dexer.Main.processAllFiles(Main.java:605)\r\n[ERROR] : ... 4 more\r\n{code}", "attachment": [ { "id": "62829", "filename": "Errorlog.rtf", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-07-04T19:17:47.000+0000", "size": 14594, "mimeType": "text/rtf" }, { "id": "62276", "filename": "TestPlayServicesApp.zip", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-05-23T17:16:09.000+0000", "size": 10213157, "mimeType": "application/zip" }, { "id": "62275", "filename": "testplayservicesmodule.zip", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-05-23T17:15:31.000+0000", "size": 2970726, "mimeType": "application/zip" } ], "flagged": false, "summary": "Android: Ti Modules causing conflict with google play services ", "creator": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "420230", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Earlier customer was able to fix this issue by referencing the play services jars from external location instead of copying the libraries to the project.\r\n\r\nBut now, if I do the same thing, packaging the module is giving me error as 'Package does not exist'.\r\n\r\nBecause of this reason, I had to copy the jars to lib folder in the module which is causing this conflict now.\r\n", "updateAuthor": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-05-23T17:17:48.000+0000", "updated": "2017-05-23T17:17:48.000+0000" }, { "id": "420252", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Customer found another workaround for this issue.\r\nBefore adding the packaged module(testplayservicesmodule) to app, if the google play services libs are removed from it, everything is working fine.\r\n\r\nBut this approach will have the dependency on ti.map module to be used in the app. If ti.map module is removed, testplayservicesmodule will not have the required libraries.", "updateAuthor": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-05-23T18:39:44.000+0000", "updated": "2017-05-23T18:39:44.000+0000" }, { "id": "423457", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The customer is having some issues. \r\n\r\nPlease check the attached logs ", "updateAuthor": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-07-04T19:17:42.000+0000", "updated": "2017-07-04T19:17:42.000+0000" }, { "id": "424851", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Normally we recommend in these cases that only one version of google play services be used to avoid such collisions. The other possibility is to sync the versions when multiple versions are included. \r\n\r\nIs either of these options a workable solution in this case?\r\n", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-07-26T23:03:51.000+0000", "updated": "2017-07-26T23:03:51.000+0000" }, { "id": "427550", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Can we add more information on the docs ?", "updateAuthor": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-09-04T17:35:01.000+0000", "updated": "2017-09-04T17:35:01.000+0000" }, { "id": "427742", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey guys, \r\n\r\nthis just popped up [here|https://github.com/AppWerft/Ti.Firebase/issues/3] (Ti.Firebase community module) and in TIMOB-25251 (ticket opened based on the feedback from the Github issue). There seems to be a general issue with different google-play JAR's causing issues for developers, so we should come up with a solution that aligns the google-play version to a unified one. \r\n\r\nI also remember we fixed something related in 6.2.0 already, so this might even be a non-issue. Maybe [~gmathews] or [~jquick] worked on this? Thanks guys!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-09-10T12:14:51.000+0000", "updated": "2017-09-10T12:14:51.000+0000" }, { "id": "427806", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey there! \r\n\r\nI just updated Ti.Map to use the *very* latest Google Play Services (11.0.4) [here|https://github.com/appcelerator-modules/ti.map/pull/213]. 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.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-09-12T16:01:47.000+0000", "updated": "2017-09-12T16:29:11.000+0000" }, { "id": "427815", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "One more PR for Ti.Admob to update Play Services 9.x to 11.0.4: https://github.com/appcelerator-modules/ti.admob/pull/72", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-09-12T19:43:30.000+0000", "updated": "2017-09-12T19:43:30.000+0000" }, { "id": "428599", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Quick update here: Our Android-team did some work to have an official \"ti.playservices\" module that can be plugged in modules like ti.map, ti.cloudpush and this one, simply by adding it as a dependency in the timodule.xml. See [this PR|https://github.com/appcelerator-modules/ti.map/pull/214] for more info.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-09-29T08:33:40.000+0000", "updated": "2017-09-29T08:33:40.000+0000" }, { "id": "429248", "author": { "name": "perdona", "key": "perdona", "displayName": "Caio Perdona", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I know this issue is old, but whats the status?\r\nEvery time Titanium version bump requires me to update my modules, I run into JAR conflicting with Ti.Map.\r\nAnd this is making maintaining an Android Titanium app a bit painful...\r\nIs there a correct way to work this around?", "updateAuthor": { "name": "perdona", "key": "perdona", "displayName": "Caio Perdona", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-10-18T19:25:28.000+0000", "updated": "2017-10-18T19:25:28.000+0000" }, { "id": "429378", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "ti.admob: https://github.com/appcelerator-modules/ti.admob/releases/tag/android-3.0.2\r\ncloudpush: https://github.com/appcelerator-modules/cloudpush/releases/tag/android-4.0.4", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-10-20T22:33:23.000+0000", "updated": "2017-10-20T22:33:23.000+0000" }, { "id": "429748", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~perdona] I have disliked this approach for many years. The team has devised a solution that will make you life easier in this regard, and it should be in 7.0.0 SDK.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-10-27T18:10:22.000+0000", "updated": "2017-10-27T18:10:22.000+0000" }, { "id": "429750", "author": { "name": "perdona", "key": "perdona", "displayName": "Caio Perdona", "active": true, "timeZone": "America/Los_Angeles" }, "updateAuthor": { "name": "perdona", "key": "perdona", "displayName": "Caio Perdona", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-10-27T18:16:53.000+0000", "updated": "2017-10-27T18:16:53.000+0000" }, { "id": "429760", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~gmathews], When I run with {{admob 3.0.2}} & {{cloudpush 4.0.4}} together the build fails with error:\r\n{code}\r\n[ERROR] : Failed to package application:\r\n[ERROR] : \r\n[ERROR] : /Users/lchoudhary/Desktop/workspaces/workspace_2016/Z123/build/android/AndroidManifest.xml:25: error: Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version').\r\n[ERROR] Application Installer abnormal process termination. Process exit value was 1\r\n{code}\r\n", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-10-28T01:01:42.000+0000", "updated": "2017-10-28T01:01:42.000+0000" }, { "id": "429843", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~lchoudhary] Updated the pre-releases, should fix that issue.", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-10-30T17:30:17.000+0000", "updated": "2017-10-30T17:30:17.000+0000" }, { "id": "429847", "author": { "name": "perdona", "key": "perdona", "displayName": "Caio Perdona", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Can you give us a more detailed workaround? Which version from which module to use, compatible with which SDK?\r\n", "updateAuthor": { "name": "perdona", "key": "perdona", "displayName": "Caio Perdona", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-10-30T17:50:53.000+0000", "updated": "2017-10-30T17:50:53.000+0000" }, { "id": "429850", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix.\r\nRan the modules having google play services together & after the update of google play services in {{ti.admob}} & {{cloudpush}} there is no conflict & no {{Failed to run dexer}} error.\r\n\r\nClosing.\r\n\r\nStudio Ver: 4.10.0.201709271713\r\nSDK Ver: 6.2.2.GA\r\nOS Ver: 10.12.3\r\nXcode Ver: Xcode 8.3.3\r\nAppc NPM: 4.2.10-2\r\nAppc CLI: 6.3.0-master.15\r\nTi CLI Ver: 5.0.14\r\nAlloy Ver: 1.10.6\r\nNode Ver: 7.10.1\r\nJava Ver: 1.8.0_101\r\nDevices: ⇨ google Nexus 5 --- Android 6.0.1\r\n ⇨ google Nexus 6P --- Android 8.0.0\r\nModules: ti.admob -- 3.0.2\r\n cloudpush -- 4.0.4", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-10-30T18:16:43.000+0000", "updated": "2017-10-30T18:16:43.000+0000" } ], "maxResults": 18, "total": 18, "startAt": 0 } } }