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

mobile-install v1 umbrella bug #6814

Closed
3 tasks done
jin opened this issue Nov 30, 2018 · 8 comments
Closed
3 tasks done

mobile-install v1 umbrella bug #6814

jin opened this issue Nov 30, 2018 · 8 comments
Assignees
Labels
P1 I'll work on this now. (Assignee required) team-Android Issues for Android team type: bug

Comments

@jin
Copy link
Member

jin commented Nov 30, 2018

This is an umbrella bug to track issues related to mobile-install v1.

Note that mobile-install v1 will be deprecated as soon as mobile-install v2 (written in Starlark) is open sourced, so we'll need to revisit these issues and ensure that mi-v2 fixes them.

@jin jin added type: bug P1 I'll work on this now. (Assignee required) team-Android Issues for Android team labels Nov 30, 2018
@jin jin self-assigned this Nov 30, 2018
@jin
Copy link
Member Author

jin commented Nov 30, 2018

cc @jgavris

@jin
Copy link
Member Author

jin commented Dec 5, 2018

Update: I'm drafting a plan to open source mi-v2, which involves open sourcing a lot of its tool dependencies.

Unfortunately I don't think I can share this document as it has references to internal infra, but there will be documentation for v2 once it's released.

@JiamingFB
Copy link

Hi Jin, I'm facing the same bug on Android 9.

java.lang.RuntimeException: Unable to create application com.google.devtools.build.android.incrementaldeployment.StubApplication: java.lang.IllegalStateException: java.lang.NoSuchMethodException: ensureStringBlocks []

In addition, I can't disable incremental build with either "--noincremental" or "--incremental=false" flag. bazel mobile-install always use incremental deployment instead of full build.

@jin
Copy link
Member Author

jin commented Dec 7, 2018

@JiamingFB I have a fix pending for the installation bug.

@jin
Copy link
Member Author

jin commented Dec 7, 2018

I also have a fix pending for the incompatibility with aapt2.

bazel-io pushed a commit that referenced this issue Dec 7, 2018
Previously, the resource apk was always built with aapt regardless of configuration. This threads the aapt version into the resource processing action builder.

Fixes: #5799

Ref: #6814

RELNOTES: mobile-install now works with aapt2. Try it out with `bazel mobile-install --android_aapt=aapt2 //my:target`
PiperOrigin-RevId: 224566567
bazel-io pushed a commit that referenced this issue Dec 7, 2018
Ref: #6814

RELNOTES: Fixed a mobile-install v1 bug when deploying to Android 9 Pie devices. #6814
PiperOrigin-RevId: 224566583
@jin
Copy link
Member Author

jin commented Dec 7, 2018

@JiamingFB fix it out, you'll need to build Bazel at HEAD to use it, or use Bazel 0.22 when it's released.

@jgavris
Copy link
Contributor

jgavris commented Dec 11, 2018

Thanks @jin! So this will definitely land in 0.22?

@jin
Copy link
Member Author

jin commented Dec 11, 2018

Yes!

bazel-io pushed a commit that referenced this issue Jan 28, 2019
Baseline: deb028e

Cherry picks:

   + a3a5975:
     Fix a race condition in remote cache
   + b8d0e1b:
     Use a new GitHub token and KMS key for the release process.
   + 3759e38:
     remote: fix unexpected IO error (not a directory)
   + 4473bb1:
     Fix a race condition in Bazel's Windows process management.
   + 9137fb9:
     undo flag flip of --incompatible_strict_action_env
   + 12ab12e:
     Revert "Enabling Bazel to generate input symlinks as defined by
     RE AP?
   + 6345c74:
     Automated rollback of commit
     30536ba.

New features:

  - Add inputs filtering for aquery
  - https://docs.bazel.build now supports versioned
    documentation. Use the selector at the top of the navigation bar
    to
    switch between documentation for different Bazel releases.
  - build_tar.py in tools/build_defs/pkg now supports a json manifest
    that can be used to add paths that have symbols that can't be
    specified via the command line

Important changes:

  - Added `--incompatible_dont_emit_static_libgcc`
    (#6825)
    Added `--incompatible_linkopts_in_user_link_flags`
    (#6826)
  - mobile-install now works with aapt2. Try it out with `bazel
    mobile-install --android_aapt=aapt2 //my:target`
  - Fixed a mobile-install v1 bug when deploying to Android 9 Pie
    devices. #6814
  - Add a new option --xbinary_fdo to pass xbinary profile.
  - --runs_per_test: place in TESTING documentation category.
  - Adds a clarifying message to test case summary output when all
    test cases pass but the target fails.
  - Fixed mobile-install v1 error when installing an app with native
    libraries onto an Android 9 (Pie) device. See
    bazelbuild/examples#77
  - Fixed issue where error messages from Android manifest merging
    actions were not propagated fully.
  - Add outputs and mnemonic filtering to aquery
  - New incompatible change flag for defaulting to aapt2 in Android
    builds: `--incompatible_use_aapt2_by_default`. To build with
    aapt2 today, pass the flag
    `--incompatible_use_aapt2_by_default=true` or
    `--android_aapt=aapt2`, or set the `aapt_version`  to `aapt2` on
    your `android_binary` or `android_local_test` target.
  - set projectId in all PublishBuildToolEventStreamRequest
  - Flip flag --incompatible_string_is_not_iterable
    (#5830)
  - cc_toolchain.(static|dynamic)_runtime_libs attributes are now
    optional
  - Added --incompatible_disable_runtimes_filegroups
    (#6942).
  - objc_bundle has been removed. Please migrate to rules_apple's
    [apple_bundle_import](https://github.com/bazelbuild/rules_apple/bl
    ob/master/doc/rules-resources.md#apple_bundle_import).
  - The apple_stub_binary rule has been deleted.
  - Incompatible flag `--incompatible_dont_emit_static_libgcc` has
    been flipped (#6825)
  - Incompatible flag `--incompatible_linkopts_in_user_link_flags`
    has been flipped (#6826)
  - Open source aquery & cquery query2 tests
  - Fixed a mobile-install bug where `arm64-v8a` libraries were not
    deployed correctly on `arm64` devices. This was done by enabling
    incremental native lib deployment by default. A previously
    undocumented `--android_incremental_native_libs` flag is removed,
    and is now the regular behavior. See
    #2239
  - Incompatible flag `--incompatible_linkopts_in_user_link_flags`
    has been flipped (#6826)
  - Incompatible flag `--incompatible_dont_emit_static_libgcc` has
    been flipped (#6825)
  - Added --incompatible_disable_legacy_crosstool_fields. See the
    migration notes at
    #6861.
  - In the Query HowTo, recommend ":*" instead of ":all". "all" might
    be the name of a target.
  - The default value for --incompatible_strict_action_env has been
    flipped to 'false' again, as we discovered breakages for local
    execution users. We'll need some more time to figure out the best
    way to make this work for local and remote execution. Follow
    #7026 for more details.

This release contains contributions from many people at Google, as well as Benjamin Peterson, Dave Lee, George Gensure, Gert van Dijk, Gustavo Storti Salibi, Keith Smiley, Loo Rong Jie, Lukasz Tekieli, Mikhail Mazurskiy, Thi, Travis Cline, Vladimir Chebotarev, Yannic.
weixiao-huang pushed a commit to weixiao-huang/bazel that referenced this issue Jan 31, 2019
Baseline: deb028e

Cherry picks:

   + a3a5975:
     Fix a race condition in remote cache
   + b8d0e1b:
     Use a new GitHub token and KMS key for the release process.
   + 3759e38:
     remote: fix unexpected IO error (not a directory)
   + 4473bb1:
     Fix a race condition in Bazel's Windows process management.
   + 9137fb9:
     undo flag flip of --incompatible_strict_action_env
   + 12ab12e:
     Revert "Enabling Bazel to generate input symlinks as defined by
     RE AP?
   + 6345c74:
     Automated rollback of commit
     30536ba.

New features:

  - Add inputs filtering for aquery
  - https://docs.bazel.build now supports versioned
    documentation. Use the selector at the top of the navigation bar
    to
    switch between documentation for different Bazel releases.
  - build_tar.py in tools/build_defs/pkg now supports a json manifest
    that can be used to add paths that have symbols that can't be
    specified via the command line

Important changes:

  - Added `--incompatible_dont_emit_static_libgcc`
    (bazelbuild#6825)
    Added `--incompatible_linkopts_in_user_link_flags`
    (bazelbuild#6826)
  - mobile-install now works with aapt2. Try it out with `bazel
    mobile-install --android_aapt=aapt2 //my:target`
  - Fixed a mobile-install v1 bug when deploying to Android 9 Pie
    devices. bazelbuild#6814
  - Add a new option --xbinary_fdo to pass xbinary profile.
  - --runs_per_test: place in TESTING documentation category.
  - Adds a clarifying message to test case summary output when all
    test cases pass but the target fails.
  - Fixed mobile-install v1 error when installing an app with native
    libraries onto an Android 9 (Pie) device. See
    bazelbuild/examples#77
  - Fixed issue where error messages from Android manifest merging
    actions were not propagated fully.
  - Add outputs and mnemonic filtering to aquery
  - New incompatible change flag for defaulting to aapt2 in Android
    builds: `--incompatible_use_aapt2_by_default`. To build with
    aapt2 today, pass the flag
    `--incompatible_use_aapt2_by_default=true` or
    `--android_aapt=aapt2`, or set the `aapt_version`  to `aapt2` on
    your `android_binary` or `android_local_test` target.
  - set projectId in all PublishBuildToolEventStreamRequest
  - Flip flag --incompatible_string_is_not_iterable
    (bazelbuild#5830)
  - cc_toolchain.(static|dynamic)_runtime_libs attributes are now
    optional
  - Added --incompatible_disable_runtimes_filegroups
    (bazelbuild#6942).
  - objc_bundle has been removed. Please migrate to rules_apple's
    [apple_bundle_import](https://github.com/bazelbuild/rules_apple/bl
    ob/master/doc/rules-resources.md#apple_bundle_import).
  - The apple_stub_binary rule has been deleted.
  - Incompatible flag `--incompatible_dont_emit_static_libgcc` has
    been flipped (bazelbuild#6825)
  - Incompatible flag `--incompatible_linkopts_in_user_link_flags`
    has been flipped (bazelbuild#6826)
  - Open source aquery & cquery query2 tests
  - Fixed a mobile-install bug where `arm64-v8a` libraries were not
    deployed correctly on `arm64` devices. This was done by enabling
    incremental native lib deployment by default. A previously
    undocumented `--android_incremental_native_libs` flag is removed,
    and is now the regular behavior. See
    bazelbuild#2239
  - Incompatible flag `--incompatible_linkopts_in_user_link_flags`
    has been flipped (bazelbuild#6826)
  - Incompatible flag `--incompatible_dont_emit_static_libgcc` has
    been flipped (bazelbuild#6825)
  - Added --incompatible_disable_legacy_crosstool_fields. See the
    migration notes at
    bazelbuild#6861.
  - In the Query HowTo, recommend ":*" instead of ":all". "all" might
    be the name of a target.
  - The default value for --incompatible_strict_action_env has been
    flipped to 'false' again, as we discovered breakages for local
    execution users. We'll need some more time to figure out the best
    way to make this work for local and remote execution. Follow
    bazelbuild#7026 for more details.

This release contains contributions from many people at Google, as well as Benjamin Peterson, Dave Lee, George Gensure, Gert van Dijk, Gustavo Storti Salibi, Keith Smiley, Loo Rong Jie, Lukasz Tekieli, Mikhail Mazurskiy, Thi, Travis Cline, Vladimir Chebotarev, Yannic.
luca-digrazia pushed a commit to luca-digrazia/DatasetCommitsDiffSearch that referenced this issue Sep 4, 2022
    Ref: bazelbuild/bazel#6814

    RELNOTES: Fixed a mobile-install v1 bug when deploying to Android 9 Pie devices. bazelbuild/bazel#6814
    PiperOrigin-RevId: 224566583
luca-digrazia pushed a commit to luca-digrazia/DatasetCommitsDiffSearch that referenced this issue Sep 4, 2022
    Previously, the resource apk was always built with aapt regardless of configuration. This threads the aapt version into the resource processing action builder.

    Fixes: bazelbuild/bazel#5799

    Ref: bazelbuild/bazel#6814

    RELNOTES: mobile-install now works with aapt2. Try it out with `bazel mobile-install --android_aapt=aapt2 //my:target`
    PiperOrigin-RevId: 224566567
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 I'll work on this now. (Assignee required) team-Android Issues for Android team type: bug
Projects
None yet
Development

No branches or pull requests

3 participants