แอนดรอยด์ต้องการให้ทุกๆแอปพลิเคชั่นลงนามใบรับรองก่อนที่จะมีการติดตั้ง ดังนั้นในการทำให้แอปพลิเคชั่นบนแอนดรอยด์ไปอยู่ใน Google Play store จึงจำเป็นต้องลงนามด้วย release key เพื่อที่จะใช้การแก้ไขในอนาคตด้วย ในการจะอัพโหลดไฟล์ติดตั้งไปยัง Google Play จะต้องลงนามด้วย upload key
การสร้าง Upload key ใน Mac OSX
1.ไปยังโฟลดเดอร์ที่อยู่ของ JDK (Java Development Kit) ใน Terminalตามนี้
/Library/Java/JavaVirtualMachines/jdkX.X.X_XXX.jdk/
2.พิมพ์คำสั่งเพื่อใช้ keytool สร้าง key store
sudo keytool -genkey -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
my-key-alias คือ key อ้างอิงตัวเรา
คำสั่ง key tool จะสร้าง key store ให้โดยเราต้องตอบคำถามต่างๆเหล่านี้
What is your first and last name?
What is the name of your organizational unit?
What is the name of your organization?
What is the name of your City or Locality?
What is the name of your State or Province?
What is the two-letter country code for this unit?
ตั้งค่า Gradle variables
1.นำไฟล์ my-upload-key.keystore ที่สร้างขึ้นไปไว้ในไดเรกทอรี่ andriod/app ของ Project React Native ของคุณ
2.แก้ไขไฟล์ android/gradle.properties โดยเพิ่มดังนี้
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=*****
MYAPP_UPLOAD_KEY_PASSWORD=*****
ใน ***** ให้ใส่ key store password ,alias,key password ของเราให้ถูกต้อง
3.เพิ่มการตั้งค่าการลงนามใน app's Gradle
ทำการตั้งค่า release build โดยให้แก้ไขไฟล์ android/app/build.gradle ดังนี้
android/app/build.gradle
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...
สร้าง release APK
ให้พิมพ์คำสั่งในTerminal
cd android
./gradlew bundleRelease
สุดท้ายจะได้ไฟล์ AAB ที่พบใน android/app/build/outputs/bundle/release/app.aab ซึ่งสามารถนำไป upload ในgoogle play store ต่อไป หากต้องการ สร้างไฟล์ติดตั้ง Release APK ไว้ทดสอบในมือถือให้ใช้คำสั่ง
./gradlew assembleRelease