Files
firezone/kotlin/android
dependabot[bot] 63177777f6 build(deps): Bump the hilt group in /kotlin/android with 4 updates (#7626)
Bumps the hilt group in /kotlin/android with 4 updates:
[com.google.dagger.hilt.android](https://github.com/google/dagger),
[com.google.dagger:hilt-android](https://github.com/google/dagger),
[com.google.dagger:hilt-android-compiler](https://github.com/google/dagger)
and
[com.google.dagger:hilt-android-testing](https://github.com/google/dagger).

Updates `com.google.dagger.hilt.android` from 2.52 to 2.54
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/dagger/releases">com.google.dagger.hilt.android's
releases</a>.</em></p>
<blockquote>
<h2>Dagger 2.54</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixed <a
href="https://redirect.github.com/google/dagger/issues/4303">#4303</a>:
Upgrade Hilt Gradle Plugin to support KSP2 configuration.
(76b581999)</li>
<li>Fixed <a
href="https://redirect.github.com/google/dagger/issues/4544">#4544</a>:
Removes private from InstanceHolder field to avoid unnecessary accessor
method. (07d8f883f)</li>
<li>Fixed <a
href="https://redirect.github.com/google/dagger/issues/4533">#4533</a>:
Fixes path separator for Windows when creating LazyClassKey proguard
file. (efa421a3f)</li>
</ul>
<h1>Notable changes</h1>
<ul>
<li>In preparation for jakarta support, Dagger’s generated factories now
include a <code>create()</code> method that uses
<code>dagger.internal.Provider</code> rather than
<code>javax.inject.Provider</code>. For now, the
<code>javax.inject.Provider</code> <code>create()</code> method is also
kept for compatibility, but it will be removed in a future release. When
that happens, libraries built with the newer version of Dagger may break
downstream users of <code>@Component</code> that are built with an older
version of Dagger. (d60729d20)</li>
</ul>
<h2>Dagger 2.53.1</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixes <a
href="https://redirect.github.com/google/dagger/issues/4525">#4525</a>:
Update kotlin-jvm-metadata to 2.0.21 to remove dependency on Beta
version. (84d3aa5f1)</li>
<li>Fixes <a
href="https://redirect.github.com/google/dagger/issues/4526">#4526</a>:
Add the originating element in LazyMapKeyProxyGenerator.
(5fd8ec1a3)</li>
</ul>
<h2>Dagger 2.53</h2>
<h1>Potentially breaking changes:</h1>
<h3><code>@Binds</code> methods now requires explicit nullability</h3>
<p><strong>New:</strong> <code>@Binds</code> methods must explicitly
declare nullability (previously we tried to infer it from
the parameter). This change aligns the nullability behavior of
<code>@Binds</code> with how nullability is
treated elsewhere in Dagger by requiring it to be explict at the request
and declaration sites.
(4941926c5)</p>
<p><strong>Suggested fix:</strong> If you get a failure due to this
change, add the proper nullability to your <code>@Binds</code>
method/parameter. For example:</p>
<pre lang="diff"><code>@Module
interface MyModule {
-    @Binds fun bindToNullableImpl(impl: FooImpl): Foo
+    @Binds fun bindToNullableImpl(impl: FooImpl?): Foo?
}
</code></pre>
<h3>Scopes are now banned on <code>@Binds</code> that delegate to
production implementations.</h3>
<p><strong>New:</strong> Scoping an <code>@Binds</code> method that
delegates to an <code>@Produces</code> implementation is not
allowed. The scope was ignored anyway because production bindings are
implicitly scoped. (03b237ff2)</p>
<p><strong>Suggested fix:</strong> Remove the scope annotation (since
the scope was ignored, this should not be a functional change).</p>
<pre lang="diff"><code>@Module
interface MyModule {
-    @ProductionScoped
     @Binds fun bindToProductionImpl(impl: FooImpl): Foo
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bf4b96e080"><code>bf4b96e</code></a>
2.54 release</li>
<li><a
href="76b581999a"><code>76b5819</code></a>
Update Hilt Gradle Plugin KSP configuration to support KSP2</li>
<li><a
href="013a9a447f"><code>013a9a4</code></a>
Add Nullmarking to Components</li>
<li><a
href="07d8f883f1"><code>07d8f88</code></a>
Remove private from generated Factory's INSTANCE field.</li>
<li><a
href="efa421a3fc"><code>efa421a</code></a>
Update Dagger's XProcessing jars.</li>
<li><a
href="fe9a2f9ff1"><code>fe9a2f9</code></a>
Update Dagger to use Android SDK 34.</li>
<li><a
href="5e50a92968"><code>5e50a92</code></a>
Internal changes</li>
<li><a
href="d60729d20c"><code>d60729d</code></a>
Change Dagger-genenerated factories to have an additional create method
that ...</li>
<li><a
href="6ee6092d80"><code>6ee6092</code></a>
Migrate FrameworkType and FrameworkField to XPoet.</li>
<li><a
href="972c8d35b7"><code>972c8d3</code></a>
Fix warnings about instantiating new boxed primitives.</li>
<li>Additional commits viewable in <a
href="https://github.com/google/dagger/compare/dagger-2.52...dagger-2.54">compare
view</a></li>
</ul>
</details>
<br />

Updates `com.google.dagger:hilt-android` from 2.52 to 2.54
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/dagger/releases">com.google.dagger:hilt-android's
releases</a>.</em></p>
<blockquote>
<h2>Dagger 2.54</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixed <a
href="https://redirect.github.com/google/dagger/issues/4303">#4303</a>:
Upgrade Hilt Gradle Plugin to support KSP2 configuration.
(76b581999)</li>
<li>Fixed <a
href="https://redirect.github.com/google/dagger/issues/4544">#4544</a>:
Removes private from InstanceHolder field to avoid unnecessary accessor
method. (07d8f883f)</li>
<li>Fixed <a
href="https://redirect.github.com/google/dagger/issues/4533">#4533</a>:
Fixes path separator for Windows when creating LazyClassKey proguard
file. (efa421a3f)</li>
</ul>
<h1>Notable changes</h1>
<ul>
<li>In preparation for jakarta support, Dagger’s generated factories now
include a <code>create()</code> method that uses
<code>dagger.internal.Provider</code> rather than
<code>javax.inject.Provider</code>. For now, the
<code>javax.inject.Provider</code> <code>create()</code> method is also
kept for compatibility, but it will be removed in a future release. When
that happens, libraries built with the newer version of Dagger may break
downstream users of <code>@Component</code> that are built with an older
version of Dagger. (d60729d20)</li>
</ul>
<h2>Dagger 2.53.1</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixes <a
href="https://redirect.github.com/google/dagger/issues/4525">#4525</a>:
Update kotlin-jvm-metadata to 2.0.21 to remove dependency on Beta
version. (84d3aa5f1)</li>
<li>Fixes <a
href="https://redirect.github.com/google/dagger/issues/4526">#4526</a>:
Add the originating element in LazyMapKeyProxyGenerator.
(5fd8ec1a3)</li>
</ul>
<h2>Dagger 2.53</h2>
<h1>Potentially breaking changes:</h1>
<h3><code>@Binds</code> methods now requires explicit nullability</h3>
<p><strong>New:</strong> <code>@Binds</code> methods must explicitly
declare nullability (previously we tried to infer it from
the parameter). This change aligns the nullability behavior of
<code>@Binds</code> with how nullability is
treated elsewhere in Dagger by requiring it to be explict at the request
and declaration sites.
(4941926c5)</p>
<p><strong>Suggested fix:</strong> If you get a failure due to this
change, add the proper nullability to your <code>@Binds</code>
method/parameter. For example:</p>
<pre lang="diff"><code>@Module
interface MyModule {
-    @Binds fun bindToNullableImpl(impl: FooImpl): Foo
+    @Binds fun bindToNullableImpl(impl: FooImpl?): Foo?
}
</code></pre>
<h3>Scopes are now banned on <code>@Binds</code> that delegate to
production implementations.</h3>
<p><strong>New:</strong> Scoping an <code>@Binds</code> method that
delegates to an <code>@Produces</code> implementation is not
allowed. The scope was ignored anyway because production bindings are
implicitly scoped. (03b237ff2)</p>
<p><strong>Suggested fix:</strong> Remove the scope annotation (since
the scope was ignored, this should not be a functional change).</p>
<pre lang="diff"><code>@Module
interface MyModule {
-    @ProductionScoped
     @Binds fun bindToProductionImpl(impl: FooImpl): Foo
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bf4b96e080"><code>bf4b96e</code></a>
2.54 release</li>
<li><a
href="76b581999a"><code>76b5819</code></a>
Update Hilt Gradle Plugin KSP configuration to support KSP2</li>
<li><a
href="013a9a447f"><code>013a9a4</code></a>
Add Nullmarking to Components</li>
<li><a
href="07d8f883f1"><code>07d8f88</code></a>
Remove private from generated Factory's INSTANCE field.</li>
<li><a
href="efa421a3fc"><code>efa421a</code></a>
Update Dagger's XProcessing jars.</li>
<li><a
href="fe9a2f9ff1"><code>fe9a2f9</code></a>
Update Dagger to use Android SDK 34.</li>
<li><a
href="5e50a92968"><code>5e50a92</code></a>
Internal changes</li>
<li><a
href="d60729d20c"><code>d60729d</code></a>
Change Dagger-genenerated factories to have an additional create method
that ...</li>
<li><a
href="6ee6092d80"><code>6ee6092</code></a>
Migrate FrameworkType and FrameworkField to XPoet.</li>
<li><a
href="972c8d35b7"><code>972c8d3</code></a>
Fix warnings about instantiating new boxed primitives.</li>
<li>Additional commits viewable in <a
href="https://github.com/google/dagger/compare/dagger-2.52...dagger-2.54">compare
view</a></li>
</ul>
</details>
<br />

Updates `com.google.dagger:hilt-android-compiler` from 2.52 to 2.54
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/dagger/releases">com.google.dagger:hilt-android-compiler's
releases</a>.</em></p>
<blockquote>
<h2>Dagger 2.54</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixed <a
href="https://redirect.github.com/google/dagger/issues/4303">#4303</a>:
Upgrade Hilt Gradle Plugin to support KSP2 configuration.
(76b581999)</li>
<li>Fixed <a
href="https://redirect.github.com/google/dagger/issues/4544">#4544</a>:
Removes private from InstanceHolder field to avoid unnecessary accessor
method. (07d8f883f)</li>
<li>Fixed <a
href="https://redirect.github.com/google/dagger/issues/4533">#4533</a>:
Fixes path separator for Windows when creating LazyClassKey proguard
file. (efa421a3f)</li>
</ul>
<h1>Notable changes</h1>
<ul>
<li>In preparation for jakarta support, Dagger’s generated factories now
include a <code>create()</code> method that uses
<code>dagger.internal.Provider</code> rather than
<code>javax.inject.Provider</code>. For now, the
<code>javax.inject.Provider</code> <code>create()</code> method is also
kept for compatibility, but it will be removed in a future release. When
that happens, libraries built with the newer version of Dagger may break
downstream users of <code>@Component</code> that are built with an older
version of Dagger. (d60729d20)</li>
</ul>
<h2>Dagger 2.53.1</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixes <a
href="https://redirect.github.com/google/dagger/issues/4525">#4525</a>:
Update kotlin-jvm-metadata to 2.0.21 to remove dependency on Beta
version. (84d3aa5f1)</li>
<li>Fixes <a
href="https://redirect.github.com/google/dagger/issues/4526">#4526</a>:
Add the originating element in LazyMapKeyProxyGenerator.
(5fd8ec1a3)</li>
</ul>
<h2>Dagger 2.53</h2>
<h1>Potentially breaking changes:</h1>
<h3><code>@Binds</code> methods now requires explicit nullability</h3>
<p><strong>New:</strong> <code>@Binds</code> methods must explicitly
declare nullability (previously we tried to infer it from
the parameter). This change aligns the nullability behavior of
<code>@Binds</code> with how nullability is
treated elsewhere in Dagger by requiring it to be explict at the request
and declaration sites.
(4941926c5)</p>
<p><strong>Suggested fix:</strong> If you get a failure due to this
change, add the proper nullability to your <code>@Binds</code>
method/parameter. For example:</p>
<pre lang="diff"><code>@Module
interface MyModule {
-    @Binds fun bindToNullableImpl(impl: FooImpl): Foo
+    @Binds fun bindToNullableImpl(impl: FooImpl?): Foo?
}
</code></pre>
<h3>Scopes are now banned on <code>@Binds</code> that delegate to
production implementations.</h3>
<p><strong>New:</strong> Scoping an <code>@Binds</code> method that
delegates to an <code>@Produces</code> implementation is not
allowed. The scope was ignored anyway because production bindings are
implicitly scoped. (03b237ff2)</p>
<p><strong>Suggested fix:</strong> Remove the scope annotation (since
the scope was ignored, this should not be a functional change).</p>
<pre lang="diff"><code>@Module
interface MyModule {
-    @ProductionScoped
     @Binds fun bindToProductionImpl(impl: FooImpl): Foo
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bf4b96e080"><code>bf4b96e</code></a>
2.54 release</li>
<li><a
href="76b581999a"><code>76b5819</code></a>
Update Hilt Gradle Plugin KSP configuration to support KSP2</li>
<li><a
href="013a9a447f"><code>013a9a4</code></a>
Add Nullmarking to Components</li>
<li><a
href="07d8f883f1"><code>07d8f88</code></a>
Remove private from generated Factory's INSTANCE field.</li>
<li><a
href="efa421a3fc"><code>efa421a</code></a>
Update Dagger's XProcessing jars.</li>
<li><a
href="fe9a2f9ff1"><code>fe9a2f9</code></a>
Update Dagger to use Android SDK 34.</li>
<li><a
href="5e50a92968"><code>5e50a92</code></a>
Internal changes</li>
<li><a
href="d60729d20c"><code>d60729d</code></a>
Change Dagger-genenerated factories to have an additional create method
that ...</li>
<li><a
href="6ee6092d80"><code>6ee6092</code></a>
Migrate FrameworkType and FrameworkField to XPoet.</li>
<li><a
href="972c8d35b7"><code>972c8d3</code></a>
Fix warnings about instantiating new boxed primitives.</li>
<li>Additional commits viewable in <a
href="https://github.com/google/dagger/compare/dagger-2.52...dagger-2.54">compare
view</a></li>
</ul>
</details>
<br />

Updates `com.google.dagger:hilt-android-testing` from 2.52 to 2.54
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/dagger/releases">com.google.dagger:hilt-android-testing's
releases</a>.</em></p>
<blockquote>
<h2>Dagger 2.54</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixed <a
href="https://redirect.github.com/google/dagger/issues/4303">#4303</a>:
Upgrade Hilt Gradle Plugin to support KSP2 configuration.
(76b581999)</li>
<li>Fixed <a
href="https://redirect.github.com/google/dagger/issues/4544">#4544</a>:
Removes private from InstanceHolder field to avoid unnecessary accessor
method. (07d8f883f)</li>
<li>Fixed <a
href="https://redirect.github.com/google/dagger/issues/4533">#4533</a>:
Fixes path separator for Windows when creating LazyClassKey proguard
file. (efa421a3f)</li>
</ul>
<h1>Notable changes</h1>
<ul>
<li>In preparation for jakarta support, Dagger’s generated factories now
include a <code>create()</code> method that uses
<code>dagger.internal.Provider</code> rather than
<code>javax.inject.Provider</code>. For now, the
<code>javax.inject.Provider</code> <code>create()</code> method is also
kept for compatibility, but it will be removed in a future release. When
that happens, libraries built with the newer version of Dagger may break
downstream users of <code>@Component</code> that are built with an older
version of Dagger. (d60729d20)</li>
</ul>
<h2>Dagger 2.53.1</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixes <a
href="https://redirect.github.com/google/dagger/issues/4525">#4525</a>:
Update kotlin-jvm-metadata to 2.0.21 to remove dependency on Beta
version. (84d3aa5f1)</li>
<li>Fixes <a
href="https://redirect.github.com/google/dagger/issues/4526">#4526</a>:
Add the originating element in LazyMapKeyProxyGenerator.
(5fd8ec1a3)</li>
</ul>
<h2>Dagger 2.53</h2>
<h1>Potentially breaking changes:</h1>
<h3><code>@Binds</code> methods now requires explicit nullability</h3>
<p><strong>New:</strong> <code>@Binds</code> methods must explicitly
declare nullability (previously we tried to infer it from
the parameter). This change aligns the nullability behavior of
<code>@Binds</code> with how nullability is
treated elsewhere in Dagger by requiring it to be explict at the request
and declaration sites.
(4941926c5)</p>
<p><strong>Suggested fix:</strong> If you get a failure due to this
change, add the proper nullability to your <code>@Binds</code>
method/parameter. For example:</p>
<pre lang="diff"><code>@Module
interface MyModule {
-    @Binds fun bindToNullableImpl(impl: FooImpl): Foo
+    @Binds fun bindToNullableImpl(impl: FooImpl?): Foo?
}
</code></pre>
<h3>Scopes are now banned on <code>@Binds</code> that delegate to
production implementations.</h3>
<p><strong>New:</strong> Scoping an <code>@Binds</code> method that
delegates to an <code>@Produces</code> implementation is not
allowed. The scope was ignored anyway because production bindings are
implicitly scoped. (03b237ff2)</p>
<p><strong>Suggested fix:</strong> Remove the scope annotation (since
the scope was ignored, this should not be a functional change).</p>
<pre lang="diff"><code>@Module
interface MyModule {
-    @ProductionScoped
     @Binds fun bindToProductionImpl(impl: FooImpl): Foo
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bf4b96e080"><code>bf4b96e</code></a>
2.54 release</li>
<li><a
href="76b581999a"><code>76b5819</code></a>
Update Hilt Gradle Plugin KSP configuration to support KSP2</li>
<li><a
href="013a9a447f"><code>013a9a4</code></a>
Add Nullmarking to Components</li>
<li><a
href="07d8f883f1"><code>07d8f88</code></a>
Remove private from generated Factory's INSTANCE field.</li>
<li><a
href="efa421a3fc"><code>efa421a</code></a>
Update Dagger's XProcessing jars.</li>
<li><a
href="fe9a2f9ff1"><code>fe9a2f9</code></a>
Update Dagger to use Android SDK 34.</li>
<li><a
href="5e50a92968"><code>5e50a92</code></a>
Internal changes</li>
<li><a
href="d60729d20c"><code>d60729d</code></a>
Change Dagger-genenerated factories to have an additional create method
that ...</li>
<li><a
href="6ee6092d80"><code>6ee6092</code></a>
Migrate FrameworkType and FrameworkField to XPoet.</li>
<li><a
href="972c8d35b7"><code>972c8d3</code></a>
Fix warnings about instantiating new boxed primitives.</li>
<li>Additional commits viewable in <a
href="https://github.com/google/dagger/compare/dagger-2.52...dagger-2.54">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 19:12:12 +00:00
..
2024-03-08 01:55:27 +00:00

Firezone Android client

This README contains instructions for building and testing the Android client locally.

Dev Setup

  1. Install Rust

  2. Install Android Studio

  3. Install your JDK 17 of choice. We recommend just updating your CLI environment to use the JDK bundled in Android Studio to ensure you're using the same JDK on the CLI as Android Studio.

  4. Install the Android SDK through Android Studio.

    • Open Android studio, go to Android Studio > Preferences
    • Search for sdk
    • Find the Android SDK nav item under System Settings and select
    • Click the Edit button next to the Android SDK Location field
    • Follow the steps presented to install Android SDK
  5. Install NDK using Android Studio

    To see which version is installed, make sure to select the Show Package Details checkbox in the Android SDK settings page in Android Studio

    Android SDK Tools

    Make sure the correct NDK version is installed by looking at: ../../rust/connlib/clients/android/connlib/build.gradle.kts

  6. Set the following ENV variables in the start up config for your shell:

    JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home
    ANDROID_HOME=/Users/<username>/Library/Android/sdk
    NDK_HOME=$ANDROID_HOME/ndk-bundle
    PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin
    
  7. Make sure the following Rust targets are installed into the correct toolchain.

    aarch64-linux-android
    arm-linux-androideabi
    armv7-linux-androideabi
    i686-linux-android
    x86_64-linux-android
    

    Ensure you've activated the correct toolchain version for your local environment with rustup default <toolchain> (find this from the root /rust/rust-toolchain.toml file), then run:

    rustup target add aarch64-linux-android arm-linux-androideabi armv7-linux-androideabi i686-linux-android x86_64-linux-android
    
  8. Perform a test build: ./gradlew assembleDebug.

If you get errors about rustc or cargo not being found, it can help to explicitly specify the path to these in your shell environment. For example:

# ~/.zprofile or ~/.bash_profile
export RUST_ANDROID_GRADLE_RUSTC_COMMAND=$HOME/.cargo/bin/rustc
export RUST_ANDROID_GRADLE_CARGO_COMMAND=$HOME/.cargo/bin/cargo

Release Setup

We release from GitHub CI, so this shouldn't be necessary. But if you're looking to test the release variant locally:

  1. Download the keystore from 1Pass and save to app/.signing/keystore.jks dir.
  2. Download firebase credentials from 1Pass and save to app/.signing/firebase.json
  3. Now you can execute the *Release tasks with:
export KEYSTORE_PATH="$(pwd)/app/.signing/keystore.jks"
export FIREBASE_CREDENTIALS_PATH="$(pwd)/app/.signing/firebase.json"
HISTCONTROL=ignorespace # prevents saving the next line in shell history
 KEYSTORE_PASSWORD='keystore_password' KEYSTORE_KEY_PASSWORD='keystore_key_password' ./gradlew assembleRelease