Bagikan melalui


Membangun aplikasi OpenGL ES di Android dan iOS

Anda dapat membuat solusi dan proyek Visual Studio untuk aplikasi iOS dan aplikasi Android yang berbagi kode umum. Artikel ini memandu Anda melalui templat solusi gabungan. Ini membuat aplikasi iOS, dan aplikasi Aktivitas Asli Android. Aplikasi ini memiliki kode C++ yang sama yang menggunakan OpenGL ES untuk menampilkan kubus putar animasi yang sama di setiap platform. OpenGL ES (OpenGL untuk Embedded Systems atau GLES) adalah API grafis 2D dan 3D. Ini didukung di banyak perangkat seluler.

Persyaratan

Penting

Dukungan OpenGL tidak lagi tersedia. Terakhir tersedia di Visual Studio 17.3.

Berikut adalah persyaratan sistem untuk membuat aplikasi OpenGL ES untuk iOS dan Android. Jika Anda belum melakukannya, instal Pengembangan Seluler dengan beban kerja C++ di Alat Penginstal Visual Studio. Untuk mendapatkan templat OpenGL ES, dan untuk membangun iOS, sertakan alat pengembangan C++ iOS opsional. Untuk membangun Android, instal alat pengembangan C++ Android dan alat pihak ketiga yang diperlukan: Android NDK, Apache Ant, dan Google Android Emulator.

Untuk performa emulator yang lebih baik pada platform Intel, salah satu opsinya adalah menginstal Intel Hardware Accelerated Execution Manager (HAXM). Untuk petunjuk terperinci, lihat Menginstal pengembangan seluler lintas platform dengan C++.

Untuk membuat dan menguji aplikasi iOS, Anda memerlukan komputer Mac. Siapkan sesuai dengan instruksi penginstalan. Untuk informasi selengkapnya tentang cara menyiapkan pengembangan iOS, lihat Menginstal dan mengonfigurasi alat untuk membangun menggunakan iOS.

Membuat proyek Aplikasi OpenGLES baru

Dalam tutorial ini, Anda terlebih dahulu membuat proyek Aplikasi OpenGL ES baru. lalu buat dan jalankan aplikasi default di emulator Android. Selanjutnya Anda membuat aplikasi untuk iOS dan menjalankan aplikasi di perangkat iOS.

  1. Di Visual Studio, pilih File>Baru>Proyek.

  2. Dalam kotak dialog Proyek Baru, di bawah Templat, pilih Visual C++>Cross Platform, lalu pilih templat Aplikasi OpenGLES (Android, iOS).

  3. Beri nama aplikasi seperti MyOpenGLESApp, lalu pilih OK.

    Screenshot of the New Project dialog where the OpenGLES Application project template is selected, with MyOpenGLESApp in the Name textbox.

    Visual Studio membuat solusi baru dan membuka Penjelajah Solusi.

    Screenshot of MyOpenGLESApp in Solution Explorer.

  1. Di Visual Studio, pilih File>Baru>Proyek.

  2. Dalam kotak dialog Buat proyek baru, pilih templat Aplikasi OpenGLES (Android, iOS), lalu pilih Berikutnya.

  3. Dalam kotak dialog Konfigurasikan proyek baru Anda, masukkan nama seperti MyOpenGLESApp di Nama proyek, lalu pilih Buat.

    Visual Studio membuat solusi baru dan membuka Penjelajah Solusi.

    Screenshot of MyOpenGLESApp in Solution Explorer.

Solusi Aplikasi OpenGL ES baru mencakup tiga proyek pustaka dan dua proyek aplikasi. Folder Pustaka menyertakan proyek kode bersama. Dan, dua proyek khusus platform yang mereferensikan kode bersama:

  • MyOpenGLESApp.Android.NativeActivity berisi referensi dan kode lem yang mengimplementasikan aplikasi Anda sebagai Aktivitas Asli di Android. Titik masuk dari kode lem diimplementasikan di main.cpp, yang mencakup kode bersama umum di MyOpenGLESApp.Shared. Header yang telah dikompresi berada di pch.h. Proyek aplikasi Aktivitas Asli ini dikompilasi ke dalam file pustaka bersama (.so), yang diambil oleh MyOpenGLESApp.Android.Packaging proyek.

  • MyOpenGLESApp.iOS.StaticLibrary membuat file pustaka statis iOS (.a) yang berisi kode bersama di MyOpenGLESApp.Shared. Ini ditautkan ke aplikasi yang dibuat oleh MyOpenGLESApp.iOS.Application proyek.

  • MyOpenGLESApp.Shared berisi kode bersama yang berfungsi di seluruh platform. Ini menggunakan makro prapemrosesan untuk kompilasi kondisional kode khusus platform. Kode bersama diambil oleh referensi proyek di dan MyOpenGLESApp.Android.NativeActivityMyOpenGLESApp.iOS.StaticLibrary.

Solusi ini memiliki dua proyek untuk membangun aplikasi untuk platform Android dan iOS:

  • MyOpenGLESApp.Android.Packagingmembuat file .apk untuk penyebaran pada perangkat Android atau emulator. File ini berisi sumber daya dan file AndroidManifest.xml tempat Anda mengatur properti manifes. Ini juga berisi file build.xml yang mengontrol proses build Ant. Ini ditetapkan sebagai proyek startup secara default, sehingga dapat disebarkan dan dijalankan langsung dari Visual Studio.

  • MyOpenGLESApp.iOS.Application berisi sumber daya dan kode lem Objective-C untuk membuat aplikasi iOS yang ditautkan ke kode pustaka statis C++ di MyOpenGLESApp.iOS.StaticLibrary. Proyek ini membuat paket build yang ditransfer ke Mac Anda oleh Visual Studio dan agen jarak jauh. Saat Anda membuat proyek ini, Visual Studio mengirimkan file dan perintah untuk membangun dan menyebarkan aplikasi Anda di Mac.

Membuat dan menjalankan aplikasi Android

Solusi yang dibuat oleh templat menetapkan aplikasi Android sebagai proyek default. Anda dapat membuat dan menjalankan aplikasi ini untuk memverifikasi penginstalan dan penyiapan Anda. Untuk pengujian awal, jalankan aplikasi di salah satu profil perangkat yang diinstal oleh emulator untuk Android. Jika Anda lebih suka menguji aplikasi pada target lain, Anda dapat memuat emulator target. Atau, sambungkan perangkat ke komputer Anda.

Untuk membuat dan menjalankan aplikasi Aktivitas Asli Android

  1. Jika belum dipilih, pilih x86 dari daftar drop-down Platform Solusi.

    Screenshot of the Solution Platform dropdown with x86 highlighted.

    Gunakan x86 untuk menargetkan emulator. Untuk menargetkan perangkat, pilih platform solusi berdasarkan prosesor perangkat. Jika daftar Platform Solusi tidak ditampilkan, pilih Platform Solusi dari daftar Tambahkan/Hapus Tombol, lalu pilih platform Anda.

  2. Di Penjelajah Solusi, buka menu pintasan untuk MyOpenGLESApp.Android.Packaging proyek lalu pilih Bangun.

    Screenshot of the Solution Explorer window with the shortcut menu for the Android Packaging Project showing the Build command.

    Jendela Output menampilkan output proses build untuk pustaka bersama Android dan aplikasi Android.

    Screenshot of Build Output for Android projects.

  3. Pilih salah satu profil perangkat Android yang ditimulasikan sebagai target penyebaran Anda.

    Choose deployment target.

    Anda mungkin telah menginstal emulator lain, atau menyambungkan perangkat Android. Anda dapat memilihnya dalam daftar dropdown target penyebaran. Untuk menjalankan aplikasi, Platform Solusi yang dibangun harus cocok dengan platform perangkat target.

  4. Tekan F5 untuk memulai penelusuran kesalahan, atau Shift+F5 untuk memulai tanpa penelusuran kesalahan.

    Visual Studio memulai emulator, yang membutuhkan waktu beberapa detik untuk memuat dan menyebarkan kode Anda. Berikut adalah cara aplikasi muncul di emulator:

    Screenshot of the app running in an Android Emulator.

    Setelah aplikasi dimulai, Anda dapat mengatur titik henti dan menggunakan debugger untuk menelusuri kode, memeriksa nilai lokal, dan menonton.

  5. Tekan Shift+F5 untuk menghentikan penelusuran kesalahan.

    Emulator adalah proses terpisah yang terus berjalan. Anda dapat mengedit, mengkompilasi, dan menyebarkan kode Beberapa kali ke emulator yang sama. Aplikasi Anda muncul di koleksi aplikasi di emulator, dan dapat dimulai dari sana secara langsung.

    Aplikasi Android Native Activity dan proyek pustaka yang dihasilkan menempatkan kode bersama C++ di pustaka dinamis. Ini termasuk kode "lem" untuk berinteraksi dengan platform Android. Sebagian besar kode aplikasi ada di pustaka. Manifes, sumber daya, dan instruksi build ada dalam proyek pengemasan. Kode bersama dipanggil dari main.cpp dalam proyek NativeActivity. Untuk informasi selengkapnya tentang cara memprogram Aktivitas Asli Android, lihat halaman Konsep Android Developer NDK.

    Visual Studio membuat proyek Aktivitas Asli Android dengan menggunakan Android NDK. Ini menggunakan Clang sebagai toolset platform. Visual Studio memetakan properti proyek ke dalam perintah kompilasi, tautan, dan debug pada platform target. Untuk detailnya, buka dialog Halaman Properti untuk proyek MyOpenGLESApp.Android.NativeActivity. Untuk informasi selengkapnya tentang sakelar baris perintah, lihat Clang Compiler User's Manual.

Membuat dan menjalankan aplikasi iOS di perangkat iOS

Anda membuat dan mengedit proyek aplikasi iOS di Visual Studio. Karena pembatasan lisensi, itu harus dibangun dan disebarkan dari Mac. Visual Studio berkomunikasi dengan agen jarak jauh yang berjalan di Mac untuk mentransfer file proyek dan menjalankan perintah build, penyebaran, dan penelusuran kesalahan. Siapkan dan konfigurasikan Mac dan Visual Studio untuk berkomunikasi sebelum Anda dapat membangun app iOS. Untuk petunjuk mendetail, lihat Menginstal dan mengonfigurasi alat untuk membangun menggunakan iOS. Jalankan agen jarak jauh di Mac Anda, dan pasangkan dengan Visual Studio. Kemudian Anda dapat membuat dan menjalankan aplikasi iOS untuk memverifikasi penginstalan dan penyiapan Anda.

Untuk menyebarkan aplikasi Anda ke perangkat iOS, pertama-tama siapkan masuk otomatis di Xcode. Penandatanganan otomatis membuat profil provisi untuk menandatangani build aplikasi.

Untuk menyiapkan penandatanganan otomatis di Xcode

  1. Jika Anda belum melakukannya, instal Xcode di Mac Anda.

  2. Buka app Xcode di Mac Anda.

  3. Buat proyek Xcode Aplikasi Tampilan Tunggal baru. Isi bidang yang diperlukan selama pembuatan proyek. Nilainya bisa segan-segan, karena proyek hanya digunakan untuk membuat profil provisi yang digunakan nanti untuk menandatangani build aplikasi.

  4. Tambahkan ID Apple Anda yang terdaftar di akun Program Pengembang Apple ke Xcode. ID Apple Anda digunakan sebagai identitas penandatanganan untuk menandatangani app. Untuk menambahkan identitas penandatanganan Anda di Xcode, buka menu Xcode dan pilih Preferensi. Pilih Akun dan klik tombol Tambahkan (+) untuk menambahkan ID Apple Anda. Untuk petunjuk mendetail, lihat Menambahkan akun ID Apple Anda.

  5. Dari pengaturan "Umum" proyek Xcode, ubah nilai Pengidentifikasi Bundel menjadi com.<NameOfVSProject>, dengan <NameOfVSProject> nama yang sama dengan proyek solusi Visual Studio yang Anda buat. Misalnya, jika Anda membuat proyek yang disebut MyOpenGLESApp di Visual Studio, atur Pengidentifikasi Bundel ke com.MyOpenGLESApp.

    Screenshot of the Xcode bundle identifier.

  6. Untuk mengaktifkan penandatanganan otomatis, periksa. Mengelola penandatanganan secara otomatis**.

    Screenshot of Xcode automatic signing value.

  7. Pilih nama tim ID Apple yang Anda tambahkan sebagai Tim pengembangan.

    Screenshot of the Xcode team value.

Untuk membuat dan menjalankan aplikasi iOS di perangkat iOS

  1. Jalankan agen jarak jauh di Mac Anda, dan verifikasi bahwa Visual Studio dipasangkan ke agen jarak jauh. Untuk memulai agen jarak jauh, buka jendela aplikasi Terminal dan masukkan vcremote. Untuk informasi selengkapnya, lihat Mengonfigurasi agen jarak jauh di Visual Studio.

    Mac Terminal window running vcremote.

  2. Lampirkan perangkat iOS ke Mac Anda. Saat Anda melampirkan perangkat ke komputer untuk pertama kalinya, peringatan menanyakan apakah Anda mempercayai komputer untuk mengakses perangkat Anda. Aktifkan perangkat untuk mempercayai komputer Mac.

  3. Di Visual Studio, jika belum dipilih, pilih platform solusi dari daftar drop-down Platform Solusi berdasarkan prosesor perangkat Anda. Dalam contoh ini, ini adalah prosesor ARM64 .

    Screenshot of setting the Solution Platform to ARM64.

  4. Di Penjelajah Solusi, buka menu pintasan untuk proyek MyOpenGLESApp.iOS.Application dan pilih Unload Project untuk membongkar proyek.

  5. Sekali lagi, buka menu pintasan untuk proyek MyOpenGLESApp.iOS.Application yang tidak dimuat dan pilih Edit project.pbxproj untuk mengedit file proyek. project.pbxproj Dalam file, cari buildSettings atribut dan tambahkan DEVELOPMENT_TEAM menggunakan ID Tim Apple Anda. Cuplikan layar di bawah ini menunjukkan contoh nilai 123456ABC untuk ID Tim Apple. Anda dapat menemukan nilai ID Tim Apple Anda dari Xcode. Buka Membangun Pengaturan dan mengarahkan kuarsa ke nama tim pengembangan Anda untuk menampilkan tipsalat. Tipsalat menunjukkan ID tim Anda.

    Screenshot of setting the development team.

  6. project.pbxproj Tutup file, lalu buka menu pintasan untuk proyek MyOpenGLESApp.iOS.Application yang tidak dimuat dan pilih Muat Ulang Proyek untuk memuat ulang proyek.

  7. Sekarang buat proyek MyOpenGLESApp.iOS.Application dengan membuka menu pintasan untuk proyek dan memilih Build.

    Using the shortcut menu to build the iOS Application project.

    Jendela Output menampilkan output proses build. Ini menunjukkan hasil untuk pustaka statis iOS dan aplikasi iOS. Di Mac, jendela Terminal yang menjalankan agen jarak jauh menunjukkan perintah dan aktivitas transfer file.

    Di komputer Mac, Anda mungkin diminta untuk mengizinkan codesign mengakses rantai kunci Anda. Pilih Izinkan untuk melanjutkan.

  8. Pilih perangkat iOS Anda di toolbar untuk menjalankan app di perangkat yang dilampirkan ke Mac Anda. Jika aplikasi tidak dimulai, verifikasi bahwa perangkat memberikan izin bagi aplikasi yang Anda sebarkan untuk dijalankan di perangkat. Izin ini dapat diatur dengan masuk ke Pengaturan> General> Manajemen Perangkat pada perangkat. Pilih akun Aplikasi Pengembang Anda, percayai akun Anda, dan verifikasi aplikasi. Coba jalankan aplikasi lagi dari Visual Studio.

    Screenshot of the iOS app on an iOS device.

    Setelah aplikasi dimulai, Anda dapat mengatur titik henti dan menggunakan debugger Visual Studio untuk memeriksa lokal, melihat tumpukan panggilan, dan menonton nilai.

    Screenshot of the Debugger at a breakpoint in the iOS app.

  9. Tekan Shift+F5 untuk menghentikan penelusuran kesalahan.

    Aplikasi iOS dan proyek pustaka yang dihasilkan menempatkan kode C++ di pustaka statis yang hanya mengimplementasikan kode bersama. Sebagian besar kode aplikasi ada dalam Application proyek. Panggilan ke kode pustaka bersama dalam proyek templat ini dilakukan dalam file GameViewController.m . Untuk membangun aplikasi iOS Anda, Visual Studio menggunakan toolset platform Xcode, yang memerlukan komunikasi dengan klien jarak jauh yang berjalan di Mac.

    Visual Studio mentransfer file proyek ke klien jarak jauh. Kemudian mengirimkan perintah untuk membangun aplikasi menggunakan Xcode. Klien jarak jauh mengirim informasi status build kembali ke Visual Studio. Saat aplikasi berhasil dibangun, Visual Studio dapat mengirim perintah untuk menjalankan dan men-debug aplikasi. Debugger di Visual Studio mengontrol aplikasi yang berjalan di perangkat iOS yang dilampirkan ke Mac Anda. Visual Studio memetakan properti proyek ke opsi yang digunakan untuk mengkompilasi, menautkan, dan men-debug pada platform iOS target. Untuk detail opsi baris perintah pengkompilasi, buka dialog Halaman Properti untuk proyek MyOpenGLESApp.iOS.StaticLibrary.

Mengkustomisasi aplikasi Anda

Anda dapat mengubah kode C++ bersama untuk menambahkan atau mengubah fungsionalitas umum. Ubah panggilan ke kode bersama di MyOpenGLESApp.Android.NativeActivity proyek dan MyOpenGLESApp.iOS.Application agar cocok. Anda dapat menggunakan makro praprosesor untuk menentukan bagian khusus platform dalam kode umum Anda. Makro __ANDROID__ praprosesor telah ditentukan sebelumnya saat Anda membuat untuk Android. Makro __APPLE__ praprosesor telah ditentukan sebelumnya saat Anda membuat untuk iOS.

Untuk melihat IntelliSense untuk platform proyek tertentu, pilih proyek di menu dropdown pengalih konteks. Ada di bilah Navigasi di bagian atas jendela editor.

Screenshot of the Project Context Switcher dropdown in the Editor.

Masalah IntelliSense dalam kode yang digunakan oleh proyek saat ini ditandai dengan garis bergelombang merah. Garis bergelombang ungu menandai masalah di proyek lain. Visual Studio tidak mendukung pewarnaan kode atau IntelliSense untuk file Java atau Objective-C. Namun, Anda masih dapat memodifikasi file sumber dan sumber daya. Gunakan untuk mengatur nama aplikasi, ikon, dan detail implementasi lainnya.