Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: keep package names in proguard to prevent collisions #109

Merged
merged 1 commit into from
Feb 28, 2022

Conversation

willpassidomo
Copy link
Contributor

Summary

In our current Proguard configuration, as long as one class is "kept", it will preserve the package name for all classes within. When there are no classes kept in a given package, proguard will remove the package alltogether. Unfortunatley we have one package, com.mparticle.internal.database which has no kept classes, so these package name is removed, which leaves these classes (obfuscated as a.java, b.java, etc) open to an east namespace collision.

My fix enables a default package of com.mparticle, so all classes will at least be under the "com.mparticle" namespace

Testing Plan

existing tests pass

Master Issue

Closes https://go.mparticle.com/work/81502

Public Issue

#107

@willpassidomo willpassidomo merged commit e74e785 into development Feb 28, 2022
@willpassidomo willpassidomo deleted the fix/81502-fix-obfuscation-collision branch February 28, 2022 19:46
github-actions bot pushed a commit that referenced this pull request Mar 3, 2022
# [5.36.0](v5.35.4...v5.36.0) (2022-03-03)

### Bug Fixes

* downgrade error log to debug ([#102](#102)) ([293ce35](293ce35))
* keep package names in proguard to prevent collisions ([#109](#109)) ([a8df4fe](a8df4fe))

### Features

* add in ktlintcheck ([#108](#108)) ([f75c5b6](f75c5b6))
* remove deprecated methods, AppConfig ([#100](#100)) ([a5a934a](a5a934a))
* split configuration into core and kits ([#103](#103)) ([766e0d3](766e0d3))
github-actions bot pushed a commit to mchuangatmp/mparticle-android-sdk that referenced this pull request Mar 23, 2022
# [5.18.0](v5.17.0...v5.18.0) (2022-03-23)

### Bug Fixes

* Add additional checks for AndroidId ([mParticle#87](https:/mchuangatmp/mparticle-android-sdk/issues/87)) ([1eceea3](1eceea3))
* add dry run to fix daily cron health check job ([mParticle#95](https:/mchuangatmp/mparticle-android-sdk/issues/95)) ([92c443f](92c443f))
* bad formatting in release.config.js ([mParticle#75](https:/mchuangatmp/mparticle-android-sdk/issues/75)) ([253c9a3](253c9a3))
* bugfix some lint issues ([3177500](3177500))
* Change configMaxAge type from Long to int ([mParticle#91](https:/mchuangatmp/mparticle-android-sdk/issues/91)) ([14ad4b5](14ad4b5))
* downgrade error log to debug ([mParticle#102](https:/mchuangatmp/mparticle-android-sdk/issues/102)) ([293ce35](293ce35))
* Fix cross platforms for Android forked PRs when checking out code ([mParticle#97](https:/mchuangatmp/mparticle-android-sdk/issues/97)) ([90b2760](90b2760))
* Hardcode macos version for Github Actions ([de1f552](de1f552))
* keep package names in proguard to prevent collisions ([mParticle#109](https:/mchuangatmp/mparticle-android-sdk/issues/109)) ([a8df4fe](a8df4fe))
* post new release versions to github ([707c9ec](707c9ec))
* remove Appsee submodule ([8a172b4](8a172b4))
* remove bintray url from kits ([323d57d](323d57d))
* Remove broken Sonatype plugin dependency ([41e86a1](41e86a1))
* remove deprecated kahuna kit for semantic release ([9defb08](9defb08))
* test commit ([e1fb76e](e1fb76e))
* Transitive dependency, remove version range for localbroadcastmanager ([5f94984](5f94984))
* Treat duplicate Push tokens as background tokens if no current Session ([63eb698](63eb698))
* typo in GA4 kit name ([mParticle#112](https:/mchuangatmp/mparticle-android-sdk/issues/112)) ([45f9770](45f9770))
* typo in release.config.js ([mParticle#76](https:/mchuangatmp/mparticle-android-sdk/issues/76)) ([cf30ab8](cf30ab8))
* update java docs syntax after gradle upgrade ([mParticle#98](https:/mchuangatmp/mparticle-android-sdk/issues/98)) ([9a8e22e](9a8e22e))
* update with proper kit configuration ([mParticle#113](https:/mchuangatmp/mparticle-android-sdk/issues/113)) ([7496077](7496077))

### Features

* Add configMaxAge to MParticleOptions ([mParticle#85](https:/mchuangatmp/mparticle-android-sdk/issues/85)) ([eaadccd](eaadccd))
* add in ktlintcheck ([mParticle#108](https:/mchuangatmp/mparticle-android-sdk/issues/108)) ([f75c5b6](f75c5b6))
* add in lint error check for kits ([81307ae](81307ae))
* add in semantic release work ([8e26f79](8e26f79))
* add in sonatype work ([6e73455](6e73455))
* add support for firebase messaging v22.0.0 ([0facc42](0facc42))
* add upload bypass support to logscreen ([177a5d5](177a5d5))
* Android id disabled default true ([mParticle#89](https:/mchuangatmp/mparticle-android-sdk/issues/89)) ([7fc0217](7fc0217))
* Implement event upload bypass option ([3d8a967](3d8a967))
* remove deprecated methods, AppConfig ([mParticle#100](https:/mchuangatmp/mparticle-android-sdk/issues/100)) ([a5a934a](a5a934a))
* split configuration into core and kits ([mParticle#103](https:/mchuangatmp/mparticle-android-sdk/issues/103)) ([766e0d3](766e0d3))
* switch crossplatform tests to run on target repo due to token permission scope ([b7e946a](b7e946a))
* test gpg key ([3239c02](3239c02))
* turn on lint errors ([9c98535](9c98535))
* Update Submodules ([b634d90](b634d90))
* Update Submodules ([eb4573f](eb4573f))
* Update Submodules ([45bfd95](45bfd95))
* Update Submodules ([9aa5077](9aa5077))
* Update Submodules ([d584a3b](d584a3b))
* Update Submodules ([055c896](055c896))
* Update Submodules ([6b2d6be](6b2d6be))
* Update Submodules ([ed75216](ed75216))
* Update Submodules ([216c775](216c775))
* Update Submodules ([1826382](1826382))
* Update Submodules ([1cf5869](1cf5869))
* Update Submodules ([e46a282](e46a282))
* Update Submodules ([4a34f66](4a34f66))
* Update Submodules ([4918847](4918847))
* upgrade to AGP 7.X ([267bf36](267bf36))

### Reverts

* Rollback Kotlin upgrade ([7deee2e](7deee2e))
github-actions bot pushed a commit to mchuangatmp/mparticle-android-sdk that referenced this pull request Mar 23, 2022
# [5.18.0](v5.17.0...v5.18.0) (2022-03-23)

### Bug Fixes

* Add additional checks for AndroidId ([mParticle#87](https:/mchuangatmp/mparticle-android-sdk/issues/87)) ([1eceea3](1eceea3))
* add dry run to fix daily cron health check job ([mParticle#95](https:/mchuangatmp/mparticle-android-sdk/issues/95)) ([92c443f](92c443f))
* bad formatting in release.config.js ([mParticle#75](https:/mchuangatmp/mparticle-android-sdk/issues/75)) ([253c9a3](253c9a3))
* bugfix some lint issues ([3177500](3177500))
* Change configMaxAge type from Long to int ([mParticle#91](https:/mchuangatmp/mparticle-android-sdk/issues/91)) ([14ad4b5](14ad4b5))
* downgrade error log to debug ([mParticle#102](https:/mchuangatmp/mparticle-android-sdk/issues/102)) ([293ce35](293ce35))
* Fix cross platforms for Android forked PRs when checking out code ([mParticle#97](https:/mchuangatmp/mparticle-android-sdk/issues/97)) ([90b2760](90b2760))
* Hardcode macos version for Github Actions ([de1f552](de1f552))
* keep package names in proguard to prevent collisions ([mParticle#109](https:/mchuangatmp/mparticle-android-sdk/issues/109)) ([a8df4fe](a8df4fe))
* post new release versions to github ([707c9ec](707c9ec))
* remove Appsee submodule ([8a172b4](8a172b4))
* remove bintray url from kits ([323d57d](323d57d))
* Remove broken Sonatype plugin dependency ([41e86a1](41e86a1))
* remove deprecated kahuna kit for semantic release ([9defb08](9defb08))
* test commit ([1283aba](1283aba))
* Transitive dependency, remove version range for localbroadcastmanager ([5f94984](5f94984))
* Treat duplicate Push tokens as background tokens if no current Session ([63eb698](63eb698))
* typo in GA4 kit name ([mParticle#112](https:/mchuangatmp/mparticle-android-sdk/issues/112)) ([45f9770](45f9770))
* typo in release.config.js ([mParticle#76](https:/mchuangatmp/mparticle-android-sdk/issues/76)) ([cf30ab8](cf30ab8))
* update java docs syntax after gradle upgrade ([mParticle#98](https:/mchuangatmp/mparticle-android-sdk/issues/98)) ([9a8e22e](9a8e22e))
* update with proper kit configuration ([mParticle#113](https:/mchuangatmp/mparticle-android-sdk/issues/113)) ([7496077](7496077))

### Features

* Add configMaxAge to MParticleOptions ([mParticle#85](https:/mchuangatmp/mparticle-android-sdk/issues/85)) ([eaadccd](eaadccd))
* add in ktlintcheck ([mParticle#108](https:/mchuangatmp/mparticle-android-sdk/issues/108)) ([f75c5b6](f75c5b6))
* add in lint error check for kits ([81307ae](81307ae))
* add in semantic release work ([8e26f79](8e26f79))
* add in sonatype work ([6e73455](6e73455))
* add support for firebase messaging v22.0.0 ([0facc42](0facc42))
* add upload bypass support to logscreen ([177a5d5](177a5d5))
* Android id disabled default true ([mParticle#89](https:/mchuangatmp/mparticle-android-sdk/issues/89)) ([7fc0217](7fc0217))
* Implement event upload bypass option ([3d8a967](3d8a967))
* remove deprecated methods, AppConfig ([mParticle#100](https:/mchuangatmp/mparticle-android-sdk/issues/100)) ([a5a934a](a5a934a))
* split configuration into core and kits ([mParticle#103](https:/mchuangatmp/mparticle-android-sdk/issues/103)) ([766e0d3](766e0d3))
* switch crossplatform tests to run on target repo due to token permission scope ([b7e946a](b7e946a))
* test gpg key ([dad7acd](dad7acd))
* turn on lint errors ([9c98535](9c98535))
* Update Submodules ([b634d90](b634d90))
* Update Submodules ([eb4573f](eb4573f))
* Update Submodules ([45bfd95](45bfd95))
* Update Submodules ([9aa5077](9aa5077))
* Update Submodules ([d584a3b](d584a3b))
* Update Submodules ([055c896](055c896))
* Update Submodules ([6b2d6be](6b2d6be))
* Update Submodules ([ed75216](ed75216))
* Update Submodules ([216c775](216c775))
* Update Submodules ([1826382](1826382))
* Update Submodules ([1cf5869](1cf5869))
* Update Submodules ([e46a282](e46a282))
* Update Submodules ([4a34f66](4a34f66))
* Update Submodules ([4918847](4918847))
* upgrade to AGP 7.X ([267bf36](267bf36))

### Reverts

* Rollback Kotlin upgrade ([7deee2e](7deee2e))
github-actions bot pushed a commit to mchuangatmp/mparticle-android-sdk that referenced this pull request Mar 23, 2022
# [5.18.0](v5.17.0...v5.18.0) (2022-03-23)

### Bug Fixes

* Add additional checks for AndroidId ([mParticle#87](https:/mchuangatmp/mparticle-android-sdk/issues/87)) ([1eceea3](1eceea3))
* add dry run to fix daily cron health check job ([mParticle#95](https:/mchuangatmp/mparticle-android-sdk/issues/95)) ([92c443f](92c443f))
* bad formatting in release.config.js ([mParticle#75](https:/mchuangatmp/mparticle-android-sdk/issues/75)) ([253c9a3](253c9a3))
* bugfix some lint issues ([3177500](3177500))
* Change configMaxAge type from Long to int ([mParticle#91](https:/mchuangatmp/mparticle-android-sdk/issues/91)) ([14ad4b5](14ad4b5))
* downgrade error log to debug ([mParticle#102](https:/mchuangatmp/mparticle-android-sdk/issues/102)) ([293ce35](293ce35))
* Fix cross platforms for Android forked PRs when checking out code ([mParticle#97](https:/mchuangatmp/mparticle-android-sdk/issues/97)) ([90b2760](90b2760))
* Hardcode macos version for Github Actions ([de1f552](de1f552))
* keep package names in proguard to prevent collisions ([mParticle#109](https:/mchuangatmp/mparticle-android-sdk/issues/109)) ([a8df4fe](a8df4fe))
* post new release versions to github ([707c9ec](707c9ec))
* remove Appsee submodule ([8a172b4](8a172b4))
* remove bintray url from kits ([323d57d](323d57d))
* Remove broken Sonatype plugin dependency ([41e86a1](41e86a1))
* remove deprecated kahuna kit for semantic release ([9defb08](9defb08))
* test commit ([5fdbf9e](5fdbf9e))
* Transitive dependency, remove version range for localbroadcastmanager ([5f94984](5f94984))
* Treat duplicate Push tokens as background tokens if no current Session ([63eb698](63eb698))
* typo in GA4 kit name ([mParticle#112](https:/mchuangatmp/mparticle-android-sdk/issues/112)) ([45f9770](45f9770))
* typo in release.config.js ([mParticle#76](https:/mchuangatmp/mparticle-android-sdk/issues/76)) ([cf30ab8](cf30ab8))
* update java docs syntax after gradle upgrade ([mParticle#98](https:/mchuangatmp/mparticle-android-sdk/issues/98)) ([9a8e22e](9a8e22e))
* update with proper kit configuration ([mParticle#113](https:/mchuangatmp/mparticle-android-sdk/issues/113)) ([7496077](7496077))

### Features

* Add configMaxAge to MParticleOptions ([mParticle#85](https:/mchuangatmp/mparticle-android-sdk/issues/85)) ([eaadccd](eaadccd))
* add in ktlintcheck ([mParticle#108](https:/mchuangatmp/mparticle-android-sdk/issues/108)) ([f75c5b6](f75c5b6))
* add in lint error check for kits ([81307ae](81307ae))
* add in semantic release work ([8e26f79](8e26f79))
* add in sonatype work ([6e73455](6e73455))
* add support for firebase messaging v22.0.0 ([0facc42](0facc42))
* add upload bypass support to logscreen ([177a5d5](177a5d5))
* Android id disabled default true ([mParticle#89](https:/mchuangatmp/mparticle-android-sdk/issues/89)) ([7fc0217](7fc0217))
* Implement event upload bypass option ([3d8a967](3d8a967))
* remove deprecated methods, AppConfig ([mParticle#100](https:/mchuangatmp/mparticle-android-sdk/issues/100)) ([a5a934a](a5a934a))
* split configuration into core and kits ([mParticle#103](https:/mchuangatmp/mparticle-android-sdk/issues/103)) ([766e0d3](766e0d3))
* switch crossplatform tests to run on target repo due to token permission scope ([b7e946a](b7e946a))
* test gpg key ([6f782b6](6f782b6))
* turn on lint errors ([9c98535](9c98535))
* Update Submodules ([b634d90](b634d90))
* Update Submodules ([eb4573f](eb4573f))
* Update Submodules ([45bfd95](45bfd95))
* Update Submodules ([9aa5077](9aa5077))
* Update Submodules ([d584a3b](d584a3b))
* Update Submodules ([055c896](055c896))
* Update Submodules ([6b2d6be](6b2d6be))
* Update Submodules ([ed75216](ed75216))
* Update Submodules ([216c775](216c775))
* Update Submodules ([1826382](1826382))
* Update Submodules ([1cf5869](1cf5869))
* Update Submodules ([e46a282](e46a282))
* Update Submodules ([4a34f66](4a34f66))
* Update Submodules ([4918847](4918847))
* upgrade to AGP 7.X ([267bf36](267bf36))

### Reverts

* Rollback Kotlin upgrade ([7deee2e](7deee2e))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants