Android - kuimoani/defold GitHub Wiki
μ΄ λ¬Έμλ Android μ₯μΉμμ Defold μ΄ν리μΌμ΄μ μ λΉλνκ³ μ€ννλ λ°©λ²μ λν΄ μ€λͺ ν©λλ€.
Android κ°λ°μ 컨ν μΈ λ₯Ό μμ λ‘κ² μ₯μΉμ μ λ‘λ νκ³ μ‘μΈμ€ ν μ μλ€λ μ μμ iOS κ°λ°κ³Ό λ€λ₯΄λ©° μμ£Ό μ½κ² κ²μμ λ²μ μ λΉλνκ³ Android μ₯μΉμ 볡μ¬ν μ μμ΅λλ€. λν μμ΄νμ΄λ₯Ό ν΅ν΄ μ₯μΉμμ λ°λ³΅μ μΈ κ°λ°μ μν κ°λ°μ© μμ§(development engine)λ μ½κ² μΆκ°ν μ μμ΅λλ€.
Androidλ μ±μ μ€μΉνκΈ° μν΄ λμ§νΈ μλͺ μ νμλ‘ ν©λλ€. Appleμμ λͺ¨λ μΈμ¦μλ₯Ό λ°ννλ iOSμλ λ¬λ¦¬, Androidλ μ체 μλͺ λ μ±μ νμ©νλ―λ‘ μ±μ μλͺ νλλ° νμν ν€λ μΈμ¦μλ₯Ό μμ λ‘κ² μμ±ν μ μμ΅λλ€.
μΈμ¦μλ ν€λ₯Ό μμ±νλ κ³Όμ μ 볡μ‘ν΄ λ³΄μΌ μ μμ§λ§, κ°λ°λ¨κ³μμλ Defoldκ° μ΄ κ³Όμ μ μμ ν μλν ν©λλ€. μλν°μμ Android μ΄ν리μΌμ΄μ λ²λ€μ λ§λ€ λ, λΉμ μ νΉμ μΈμ¦μμ ν€λ₯Ό μ 곡ν μ μμ§λ§, μ 곡νμ§ μλλΌλ Defoldκ° λ¬΄μμλ‘ μΈμ¦μμ ν€λ₯Ό μμ±νκ³ .apk(Android Application Package) νμΌμ μλͺ ν©λλ€.
Google Playμ μ±μ 릴리μ¦ν λκ° λλ©΄ μ±μ μλͺ νλλ° μ¬μ©λλ μ€μ μΈμ¦μμ ν€λ₯Ό μμ±ν΄μΌλ§ ν©λλ€. κ·Έ μ΄μ λ μ΄ μ±μ λ²μ μ λ°°ν¬νκ³ μ λ°μ΄νΈ νλ € ν λ, μ‘λ°μ΄νΈ λ .apk νμΌκ³Ό νμ¬ λ²μ μ΄ λμΌν μλͺ μΌλ‘ λμ΄μμ΄μΌ νκΈ° λλ¬Έμ λλ€. λ§μ½ μλ‘ λ€λ₯Έ private keyλ‘ μλͺ νλ©΄, Google Playλ .apk μ λ°μ΄νΈλ₯Ό κ±°λΆ(reject)νκ² λκ³ λΉμ μ μ΄ κ²μμ μμ ν μλ‘μ΄ μ±μΌλ‘ λ€μ λ°°ν¬ν΄μΌ ν©λλ€.
λ λ§μ μ 보λ Google Play developer console μμ μ°Ύμ μ μμ΅λλ€. λλ§μ μΈμ¦μμ ν€λ₯Ό μμ±νλ λ°©λ²μ μλ μ 보λ₯Ό μ°Έκ³ λ°λλλ€.
adb λͺ λ Ή μ€ λꡬλ Android μ₯μΉμ μνΈμμ©νλλ° μ¬μ©λλ λ€μ¬λ€λ₯ν νλ‘κ·Έλ¨μ΄λ©° μ¬μ©νκΈ°λ μ½μ΅λλ€. Mac, Linux, Windowsμ©μΌλ‘ Android SDK package μμ adbλ₯Ό λ€μ΄λ‘λνκ³ μ€μΉν μ μμ΅λλ€.
http://developer.android.com/sdk/index.html μμ Android SDK λ₯Ό λ€μ΄λ‘λνμΈμ. /platform-tools/ κ²½λ‘μμ adb λꡬλ₯Ό μ°Ύμ μ μμ΅λλ€. λλ νλ«νΌ λ³ ν¨ν€μ§λ κ°κ°μ ν¨ν€μ§ λ§€λμ λ₯Ό ν΅ν΄μ μ€μΉν μ μμ΅λλ€.
On Ubuntu Linux:
$ sudo apt-get install android-tools-adb
On Fedora 18/19:
$ sudo yum install android-tools
On Mac OS X (Homebrew)
$ brew install android-platform-tools
adbλ‘ USBλ₯Ό ν΅ν΄ μ»΄ν¨ν°μ Android μ₯μΉκ° μ°κ²°λμλμ§ νμΈνλ €λ©΄ μλ 컀맨λλ₯Ό μ λ ₯νμμμ€.
$ adb devices
List of devices attached
31002535c90ef000 device
μ₯μΉ(device)κ° λνλμ§ μμΌλ©΄, Androidμμ USB λλ²κΉ (USB debugging) μ΄ νμ±ν λμ΄ μλμ§ νμΈνμΈμ. μ€μ (Settings) μμ κ°λ°μ μ΅μ (Developer options) (λλ Development)μμ μ°Ύμ μ μμ΅λλ€.
Defold μμ§μ stand-alone λ²μ μ μ€λΉλ .apk νμΌμ 무μ μΌλ‘ μ₯μΉμ μ€μΉνκ³ λ°λ³΅μ μΈ κ°λ°μ κ°λ₯νκ² ν΄ μ€λλ€.
- http://d.defold.comμ λ°©λ¬Έν΄μ Defold downloads νλͺ©μ μ°Ύμ΅λλ€.
- λ€μ΄λ‘λν λ²μ μ ν΄λ¦ν΄μ μ¬μ© κ°λ₯ν μμ§ λΉλ λͺ©λ‘μ νΌμΉ©λλ€.
- Android νλ«νΌ(Armv7)μ λλ²κ·Έ νμ± λΉλ(debug enabled build)λ₯Ό μν΄ "engine/armv7-android/dmengine.apk"λ₯Ό μ νν©λλ€.
μ΄ νμΌμ λ€μ΄λ‘λ ν ν, .apkκ° μλ μμΉμμ μλμ adb λͺ λ Ήμ μ€νν©λλ€.
$ adb install dmengine.apk
4445 KB/s (8706017 bytes in 1.912s)
pkg: /data/local/tmp/dmengine.apk
Success
μ΄μ κ°λ°μ© "dmengine" μ±μ΄ κΈ°κΈ°μ μ€μΉ λμμ΅λλ€.
Android μ₯μΉμμ κ²μμ μ€ννλ €λ©΄, dmengine μ±κ³Ό μλν°κ° λμΌν μμ΄νμ΄ λ€νΈμν¬μ μ°κ²°λμ΄ μμ΄μΌ ν©λλ€.
- μλν°κ° μ€νμ€μΈμ§ νμΈν©λλ€.
- Androidμμ "dmengine" μ±μ μ€νν©λλ€.
- μλν°μ Project > Targets μμ λΉμ μ κΈ°κΈ°λ₯Ό μ νν©λλ€.
- Project > Build And Launchλ₯Ό μ νν΄μ κ²μμ μ€νν©λλ€. κ²μ 컨ν μΈ κ° λ€νΈμν¬λ₯Ό ν΅ν΄ μ₯μΉλ‘ μ€νΈλ¦Ό λλ―λ‘ κ²μμ΄ μμλλλ° μκ°μ΄ 걸릴 μ μμ΅λλ€.
κ²μμ΄ μ€νλλ λμ, νμμ²λΌ ν« λ¦¬λ‘λμ μ¬μ©ν μ μμ΅λλ€.
μλν°λ κ²μμ μν standalone μ΄ν리μΌμ΄μ λ²λ€μ μ½κ² λ§λ€ μ μκ² ν΄ μ€λλ€. Project > Bundleβ¦β > Android Applicationβ¦β λ©λ΄λ₯Ό μ νν΄ λ³΄μΈμ.
μΈμ¦μμ λΉκ³΅κ° ν€(Private Key)λ₯Ό μ ννκ³ Package λ²νΌμ λλ₯΄λ©΄ μ»΄ν¨ν°μμ λ²λ€μ΄ μμ±λ μμΉλ₯Ό μ§μ νλΌλ μ°½μ΄ λΉλλ€.
μλν°λ Android μ΄ν리μΌμ΄μ λ²λ€μΈ .apk νμΌμ μμ±ν©λλ€. μ΄ νμΌμ adb λꡬλ₯Ό μ¬μ©ν΄ κΈ°κΈ°λ‘ λ³΅μ¬νκ±°λ Google Play developer console μ ν΅ν΄μ Google Playμλ 볡μ¬ν μ μμ΅λλ€. "game.project" νλ‘μ νΈ μ€μ νμΌμμ λ²μ μ½λλ μ±μμ μ¬μ©ν μμ΄μ½ λ±μ μ§μ ν μ μμ΅λλ€.
μμ§μ λλ²κ·Έ λͺ¨λ λ²μ (λ²λ€ μμ±μμ "Release mode"λ₯Ό μ²΄ν¬ ν΄μ νμ κ²½μ°)μΌλ‘ λΉλλ λ²λ€μ λͺ¨λ μ½μ μΆλ ₯(console output)μ Android μμ€ν λ‘κ·Έλ‘ λ³΄λ λλ€. μ΄ λ‘κ·Έλ adb λꡬμ "logcat" λͺ λ Ήμ΄λ₯Ό μ¬μ©ν΄μ μ‘μΈμ€ ν μ μμΌλ©° νκ·Έ("-s [tagname]")λ₯Ό μ¬μ©ν΄μ μΆλ ₯μ νν°λ§ ν μλ μμ΅λλ€.
$ adb logcat -s "defold"
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
I/defold ( 6210): INFO:DLIB: SSDP started (ssdp://192.168.0.97:58089, http://0.0.0.0:38637)
I/defold ( 6210): INFO:ENGINE: Defold Engine 1.2.50 (8d1b912)
I/defold ( 6210): INFO:ENGINE: Loading data from:
I/defold ( 6210): INFO:ENGINE: Initialised sound device 'default'
I/defold ( 6210):
D/defold ( 6210): DEBUG:SCRIPT: Hello there, log!
...
pem ν¬λ©§μ μΈμ¦μμ pk8 ν¬λ©§μ ν€λ₯Ό μμ±ν΄μΌ ν©λλ€. μ΄λ openssl λꡬλ₯Ό μ¬μ©ν΄ μμ±ν μ μμ΅λλ€.
$ openssl genrsa -out key.pem 1024
$ openssl req -new -key key.pem -out request.pem
$ openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
$ openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt
μ΄λ κ² ν΄μ μ΄ν리μΌμ΄μ λ²λ€μ μλͺ νλλ° μ¬μ©λλ "certificate.pem" λ° "key.pk8" νμΌμ΄ μμ±λ©λλ€.
μΈμ¦μμ ν€κ° μμ νκ² μ μ₯λμλμ§ νμΈνμμμ€. λ§μ½ μ΄ νμΌλ€μ μμ΄λ²λ¦¬λ©΄ Google Playμ .apk μ λ°μ΄νΈ λ²μ μ νμΌμ λ€μ μ λ‘λ ν μ μκ² λ©λλ€.
μ₯μΉμ μ»΄ν¨ν°κ° λμΌν μμ΄νμ΄ λ€νΈμν¬μ μλμ§ νμΈν©λλ€. λν "dmengine" μ±μ΄ μλν°μ λμΌν λ²μ μΈμ§λ νμΈν©λλ€. λ§μ½ μλν°κ° μ κ·Έλ μ΄λ λμλ€λ©΄, "dmengine.apk"λ μλ‘ λ€μ΄λ‘λν΄μ μ₯μΉμ μ€μΉν΄μΌ ν©λλ€.
Androidλ μ μΈμ¦μλ‘ μ±μ μ€μΉνλ €λ κ²μ κ°μ§ν©λλ€. λλ²κ·Έμ© λΉλλ‘ λ²λ€μ μμ±ν λ, κ° λΉλλ μμ μΈμ¦μλ‘ μλͺ λ©λλ€. μ λ²μ μ μ€μΉνκΈ° μ μ κΈ°μ‘΄ μ±μ μ κ±° νμμμ€.
$ adb uninstall com.defold.examples
Success
$ adb install Defold\ examples.apk
4826 KB/s (18774344 bytes in 3.798s)
pkg: /data/local/tmp/Defold examples.apk
Success





