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

Improve support for Dexguard APK splits #117

Merged
merged 11 commits into from
Jul 20, 2018
Merged

Conversation

fractalwrench
Copy link
Contributor

@fractalwrench fractalwrench commented Jul 19, 2018

Goal

DexGuard can generate different mapping files for variantOutputs, which is not taken into consideration by the Android Gradle Plugin. This changeset allows the Bugsnag plugin to calculate the location of a DexGuard mapping file if DexGuard is applied in a project with APK splits enabled.

Changeset

  • Detect whether dexguard plugin is applied to project
  • Detect whether APK splits is enabled in a project
  • Alter multipart body to use correct charset (UTF-8 rather than ASCII)
  • Simplify calculation of AndroidManifest.xml location by using variantOutput.dirName
  • Calculate location of DexGuard mapping file by using variantOutput.dirName and removing density portion of path (if present)

Tests

Added mazerunner scenarios to a separate DexGuard test repository, and ran existing mazerunner scenarios. Ensured that no error messages were logged regarding to the AndroidManifest or mapping file not being found for any scenario.

Review

For the submitter, initial self-review:

  • Commented on code changes inline explain the reasoning behind the approach
  • Reviewed the test cases added for completeness and possible points for discussion
  • A changelog entry was added for the goal of this pull request
  • Check the scope of the changeset - is everything in the diff required for the pull request?
  • This pull request is ready for:
    • Initial review of the intended approach, not yet feature complete
    • Structural review of the classes, functions, and properties modified
    • Final review

For the pull request reviewer(s), this changeset has been reviewed for:

  • Consistency across platforms for structures or concepts added or modified
  • Consistency between the changeset and the goal stated above
  • Internal consistency with the rest of the library - is there any overlap between existing interfaces and any which have been added?
  • Usage friction - is the proposed change in usage cumbersome or complicated?
  • Performance and complexity - are there any cases of unexpected O(n^3) when iterating, recursing, flat mapping, etc?
  • Concurrency concerns - if components are accessed asynchronously, what issues will arise
  • Thoroughness of added tests and any missing edge cases
  • Idiomatic use of the language

@fractalwrench fractalwrench requested a review from a team July 19, 2018 10:01
@fractalwrench fractalwrench merged commit 581c2a1 into next Jul 20, 2018
@fractalwrench fractalwrench deleted the dexguard-support branch July 20, 2018 10:23
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.

None yet

2 participants