Skip to content

Commit

Permalink
handle already signed release on android (#4)
Browse files Browse the repository at this point in the history
* handle already signed release on android

* remove console log

* fix lint
  • Loading branch information
sawyercroteau authored Feb 7, 2024
1 parent ab33a84 commit ef17c2d
Showing 1 changed file with 35 additions and 32 deletions.
67 changes: 35 additions & 32 deletions lib/cli/pal/android/AndroidPlatformAbstraction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -196,39 +196,42 @@ export class AndroidPlatformAbstraction implements PlatformAbstractionLayer {
}

async install (): Promise<void> {
try {
await unlink('android/app/build/outputs/apk/release/app-release-signed.apk')
} catch {
// ignore
}
try {
await unlink('android/app/build/outputs/apk/release/app-release-unsigned-aligned.apk')
} catch {
// ignore
// try an already signed release first
if (await adb(['install', '-f', 'android/app/build/outputs/apk/release/app-release.apk']) !== 0) {
try {
await unlink('android/app/build/outputs/apk/release/app-release-signed.apk')
} catch {
// ignore
}
try {
await unlink('android/app/build/outputs/apk/release/app-release-unsigned-aligned.apk')
} catch {
// ignore
}
await this.zipalign([
'-p',
'4',
'android/app/build/outputs/apk/release/app-release-unsigned.apk',
'android/app/build/outputs/apk/release/app-release-unsigned-aligned.apk'
]).result

await this.apksigner([
'sign',
'--ks',
this.config.android.keystore,
'--ks-key-alias',
this.config.android.keyAlias,
'--ks-pass',
'env:ANDROID_RELEASE_KEYSTORE_PASSWORD',
'--key-pass',
'env:ANDROID_RELEASE_KEY_PASSWORD',
'--out',
'android/app/build/outputs/apk/release/app-release-signed.apk',
'android/app/build/outputs/apk/release/app-release-unsigned-aligned.apk'
]).result

await adb(['install', '-f', 'android/app/build/outputs/apk/release/app-release-signed.apk'])
}
await this.zipalign([
'-p',
'4',
'android/app/build/outputs/apk/release/app-release-unsigned.apk',
'android/app/build/outputs/apk/release/app-release-unsigned-aligned.apk'
]).result

await this.apksigner([
'sign',
'--ks',
this.config.android.keystore,
'--ks-key-alias',
this.config.android.keyAlias,
'--ks-pass',
'env:ANDROID_RELEASE_KEYSTORE_PASSWORD',
'--key-pass',
'env:ANDROID_RELEASE_KEY_PASSWORD',
'--out',
'android/app/build/outputs/apk/release/app-release-signed.apk',
'android/app/build/outputs/apk/release/app-release-unsigned-aligned.apk'
]).result

await adb(['install', '-f', 'android/app/build/outputs/apk/release/app-release-signed.apk'])
}

async cleanup (): Promise<void> {
Expand Down

0 comments on commit ef17c2d

Please sign in to comment.