Sabtu, 27 Januari 2024

Cara Merilis Aplikasi Android di Lazarus Android Module Wizard (LAMW)

Hallo guys, 

Postingan kali ini akan membahas bagaiaman merelease aplikasi android yang dikembangan menggunakan Bahasa Lazarus + Free Pascal + Lazarus Android Module Wizard (LAMW). Sebelumnya pastikan anda sudah bisa mengcompile projek android anda. Baca postingan saya sebelumnya di sini.   

Tahap release application merupakan bagian utama setelah aplikasi dinyatakan layak untuk dikonsumsi oleh publik. Tentunya setelah melewati tahap ujicoba dan trial error. Beruntungnya, LAMW telah menyediakan fitur untuk rilis aplikasi baik menjadi signed Apk (.apk) atau signed Bundle (.aab). Fitur ini sangat membantu terutama untuk mereka yang bertujuan mempublish aplikasinya di Google Play Store. 

Pertama-tama, untuk menyamakan persepsi, kita akan menggunakan contoh projek di dalam folder demos nama projekya adalah AppCompatBottomNavigationDemo1. Jika anda menggunakan projek lain, silahkan sesuaikan. 

Pada tutorial ini akan dicontohkan bagaimana merilis aplikasi menjadi signed .apk secara universal. Artinya dalam file .apk tersebut terdapat library armeabi-v7a (32 bits) dan arm64-v8a (64 bits) sehingga tidak perlu membuat file .apk secara terpisah untuk masing-masing platform yang berbeda. 

Sebelumnya, lakukan kompilasi projek pada masing-masing Chipset/Architecture. Masuk ke menu Project - Project Options... Pilih [LAMW] Android Project Options - Build - Chipset ARMV7a+Soft dan Aarch64. Hasilnya akan diperoleh 2 buah library (32 bits dan 64 bits) dalam folder libs. Selain itu, proses kompilasi akan menghasilnya beberapa file di dalam folder D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\build\outputs\apk\release

1. Mengatur Konfigurasi File Pendukung

Membuat file Signed Apk atau File Bundle (.aab) melalui LAMW, memerlukan beberapa file pendukung yang perlu disesuaikan dengan konfiguras Path perkakas yang digunakan. 
 
Mengedit file release-keystore.bat. File tersebut berada di dalam folder projek. Jika belum ada, silahkan tambahkan secara mandiri. sesuaikan dengan path perkakas pendukung yang anda gunakan. 

set JAVA_HOME=C:\Program Files\Zulu\zulu-17
set PATH=%JAVA_HOME%\bin;%PATH%
set JAVA_TOOL_OPTIONS=-Duser.language=en
keytool -genkey -v -keystore appcompatbottomnavigationdemo1-release.keystore -alias appcompatbottomnavigationdemo1.keyalias -keyalg RSA -keysize 2048 -validity 10000 < keytool_input.txt
:Error
echo off
cls
echo.
echo Signature file created previously, remember that if you delete this file and it was uploaded to Google Play, you will not be able to upload another app without this signature.
echo.
pause
 
Berikutnya edit file gradle-local-build.bat yang ada di dalam folder projek. Jika belum ada, silahkan tambahkan secara mandiri sbb:

set Path=%PATH%;D:\OprekLAMW\Sdk\platform-tools
set GRADLE_HOME=D:\OprekLAMW\gradle-7.6.3\
set PATH=%PATH%;%GRADLE_HOME%\bin
gradle clean build --info

Berikutnya edit file gradle-local-apksigner.bat yang ada di dalam folder projek. Jika belum ada, silahkan tambahkan secara mandiri sbb:

set Path=%PATH%;D:\OprekLAMW\Sdk\platform-tools;D:\OprekLAMW\Sdk\build-tools\34.0.0
set GRADLE_HOME=D:\OprekLAMW\gradle-7.6.3
set PATH=%PATH%;%GRADLE_HOME%\bin
zipalign -v -p 4 D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\build\outputs\apk\release\AppCompatBottomNavigationDemo1-armeabi-v7a-release-unsigned.apk D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\build\outputs\apk\release\AppCompatBottomNavigationDemo1-armeabi-v7a-release-unsigned-aligned.apk
apksigner sign --ks D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\appcompatbottomnavigationdemo1-release.keystore --ks-pass pass:123456 --key-pass pass:123456 --out D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\build\outputs\apk\release\AppCompatBottomNavigationDemo1-release.apk D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\build\outputs\apk\release\AppCompatBottomNavigationDemo1-arm64-v8a-release-unsigned-aligned.apk

Berikutnya edit file gradle-local-universal-apksigner.bat yang ada di dalam folder projek sbb:

set Path=%PATH%;D:\OprekLAMW\Sdk\platform-tools;D:\OprekLAMW\Sdk\build-tools\34.0.0
set GRADLE_HOME=D:\OprekLAMW\gradle-7.6.3
set PATH=%PATH%;%GRADLE_HOME%\bin
zipalign -v -p 4 D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\build\outputs\apk\release\AppCompatBottomNavigationDemo1-universal-release-unsigned.apk D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\build\outputs\apk\release\AppCompatBottomNavigationDemo1-universal-release-unsigned-aligned.apk
apksigner sign --ks D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\appcompatbottomnavigationdemo1-release.keystore --ks-pass pass:123456 --key-pass pass:123456 --out D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\build\outputs\apk\release\AppCompatBottomNavigationDemo1-release.apk D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\build\outputs\apk\release\AppCompatBottomNavigationDemo1-universal-release-unsigned-aligned.apk

Berikutnya edit file gradle-local-build-bundle.bat yang ada di dalam folder projek. Jika belum ada, silahkan tambahkan secara mandiri sbb:

set Path=%PATH%;D:\OprekLAMW\Sdk\platform-tools
set GRADLE_HOME=D:\OprekLAMW\gradle-7.6.3\
set PATH=%PATH%;%GRADLE_HOME%\bin
gradle clean bundle --info

Berikutnya edit file gradle-jarsigner-verify.bat yang ada di dalam folder projek. Jika belum ada, silahkan tambahkan secara mandiri sbb:

set JAVA_HOME=C:\Program Files\Zulu\zulu-17
path %JAVA_HOME%\bin;%path%
jarsigner -verify -verbose -certs D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\build\outputs\apk\release\AppCompatBottomNavigationDemo1-release.apk

2. Membuat File Signed Apk

Pada menu Tools - [LAMW] Lazarus Module Wizard - Build Release Signed Apk.... Akan muncul tampilan Input Keytool untuk kebutuhan membuat keystore baru jika key belum ada (belum pernah dibuat sebelumnya). Pada contoh ini saya menggunakan data default, silahkan sesuaikan dengan data anda termasuk pada file pendukung diatas seperti nama dan password keystore. Pilih Ok dan tunggu prosesnya sampai selesai. 

Tauhidslab

Jika tidak ada kesalahan, akan muncul file baru di dalam folder D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\build\outputs\apk\release dengan nama AppCompatBottomNavigationDemo1-release.apk. Sampai pada tahap ini anda sudah berhasil membuat sebuah file Signed Apk yang dapat didistribusikan baik pada perangkat android 32 atau 64 bit. 

3. Membuat File Bundle .aab Untuk Google Play Store

Pada saat postingan ini ditulis, Google Play Store mengharuskan Developer untuk mempublis aplikasi android yang telah dipaketkan dengan ekstensi .aab. Beruntungnya, LAMW juga telah menyediakan fitur untuk mempaketkan aplikasi menjadi file .aab dengan cara yang relatif sangat mudah. 

Pada menu Tools - [LAMW] Lazarus Module Wizard - Build Release Signed Bundle.... Proses bundle akan memerlukan waktu beberapa menit. Berikut adalah proses bundle projek android menjadi file .aab menggunakan Lazarus Android Module Wizard (LAMW)

Tauhidslab

Tunggu sampai prosesnya selesai. Jika tidak ada kesalahan, proses diatas akan menghasilkan sebuah file di dalam folder D:\OprekLAMW\lazandroidmodulewizard-master\demos\GUI\AppCompatBottomNavigationDemo1\build\outputs\bundle\release dengan nama AppCompatBottomNavigationDemo1-release.aab. Dan selamat anda dapat mempublish projek anda ke Google Play Store. :)


0 komentar:

Posting Komentar