Sunday, January 12, 2014

SWF to APK

Kemaren ada seorang teman yang bertanya ke saya “Bagaimana agar project flash bisa dijalankan di smartphone android?”. Jadi, dia ingin membuat aplikasi android tapi dari flash. Jadi bukan murni semua codingnya pakai bahasa Java. 

Kalau boleh sedikit bercerita sebenarnya ada teman seangkatan saya yang menerapkan cara di atas sebagai project skripsinya. Dia membuat aplikasi pembelajaran berbasis android dari Flash. Sempat sedikit bersitegang dengan dosen pembimbingnya untuk masalah judulnya. Yups, Karena dia tetep keukeuh membubuhkan berbasis android di belakang judulnya sementara menurut dosen pembimbingnya dia akan lebih banyak bekerja di flash daripada bekerja di coding android yang familiar dengan menggunakan bahasa Java. Jadi agak sulit untuk dibilang itu aplikasi android meskipun output akhir memanglah apk. Tapi, bukankah file swf sebagai main source project itu bisa digunakan di komputer atau bahkan handphone biasa yang mendukung flashlite?. Setelah perdebatan sengit, Finally my friend win. Haha. Kalau menurut saya sendiri sih saya sepemikiran dengan dosen tersebut. Teman saya membuat aplikasi flash kemudian untuk bisa membuatnya berjalan di android dia hanya sedikit bermain di eclipse dengan sedikit coding Java tentunya.

Well, itu cuma sekedar prolog untuk berbagi cerita aja...Langsung saja saya akan fokus ke judul tulisan saya ini. 

Sebelumnya yang perlu diperhatikan adalah Adobe sudah secara resmi mengumumkan bahwa mereka tidak akan lagi mendukung OS Android. Dan, Kalian juga tidak akan bisa memperoleh Flash Player di Google Play.

Lau, Bagaimana Solusinya?

Tenang, kita bisa melakukan instalasi secara manual. Sebelum melakukan instalasi secara manual, dalam smartphone android kalian klik Settings > Security and ceklislah pada bagian " Unknown Sources box "  Ini akan memungkinkan kita untuk menginstal aplikasi Adobe Flash Player dari sumber selain Play Store.
Selanjutnya, masuk ke:


Setelah halaman dibuka, scroll ke bawah dan temukan “Flash Player for Android archives" Kalau sudah menemukannya, pilih lah versi pertama yang Anda lihat untuk memulai download, yang merupakan versi Adobe masih update secara teratur. Setelah download selesai, install-lah aplikasinya.

Okeh, itu step mempersiapkan lingkungan device. Step selanjutnya akan masuk ke codingnya.

Bagaimana meng-convert swf to apk?
Langkah-Langkahnya yaitu:
1. Buatlah project di eclipse.
2. Copy-kan file swf dari project flash ke folder asset yang ada pada project.
3. Atur script Java Class nya menjadi seperti berikut:
import android.os.Bundle;
import android.webkit.WebView;
import android.app.Activity;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        String url ="file:///android_asset/games.swf";   //Include your swf file here.
        WebView wv=(WebView) findViewById(R.id.web_engine);
        wv.getSettings().setPluginsEnabled(true);
        wv.loadUrl(url);  
    }
}
 4. Atur file XML menjadi seperti berikut:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    tools:context=".MainActivity" >
<WebView android:id="@+id/web_engine"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent">
     
 </WebView>
</LinearLayout>
5. Jalankan Aplikasi. Perlu diingat project ini tidak bisa di jalankan di emulator android. Jadi untuk melihat hasilnya bisa dengan menghubungkan device (smartphone) langsung ke eclipse.

Fin.
Happy Coding.
Alhamdulillah.
:)

Minggu, 12 Januari 2014
21:30 WIB 

26 comments:

  1. koq hasil nya blank page ya kak ?

    saya cba di samsung galaxy young ..

    ReplyDelete
    Replies
    1. saya bisa kok..itu smartphonenya sudah diinstall flash player belom?

      Delete
    2. di versi android 4.1 keatas g bs ya

      Delete
  2. maksudnya poin ke-5 ini apaan? hehehe
    5. Jalankan Aplikasi. Perlu diingat project ini tidak bisa di jalankan di emulator android. Jadi untuk melihat hasilnya bisa dengan menghubungkan device (smartphone) langsung ke eclipse.

    ReplyDelete
    Replies
    1. maksudnya jalankan aplikasi itu install apk yang sudah dibuat sebelumnya di smartphone... begitu...

      Delete
  3. kalau dites diemulator eclipsnya apa bisa ya?

    ReplyDelete
    Replies
    1. saya sarankan untuk dites di device (smartphone) yang sudah terinstall flash player aja. karena kalau lewat emulator kok sepertinya nggak bisa...

      Delete
  4. Ka itu file swf nya cuma 1 apaa bisa lebih?

    Trus mau tanya lagi, aku bikin aplikasi mdia pmbljran. Di dalamnya ada materi.java yg nantinya saya link in masuk k file swf. Gimana caranya y katolong dibantu ya :)

    ReplyDelete
  5. Mau tanya kalo untuk nampilin admob, masukin kode admob harus coding di file SWF-nya atau pas di eclipse?
    Sekalian request tutorialnya jika berkenan. Masih belajar coding soalnya. hehee :D

    ReplyDelete
  6. ini dia.. saya bookmark doloo mbak :)

    ReplyDelete
  7. ko variabel R nya tidak kebaca ya?

    ReplyDelete
  8. wv.getSettings().setPluginsEnabled(true);
    kenapa setPluginsEnabled kok error ya?

    ReplyDelete
    Replies
    1. iya kenapa ya kok error. q butuh bgt jwbnya, ni q lg skripsi. tlng dong yg udh berhasil ksh tw

      Delete
    2. R.id connot be resolved itu maksud nya gimana..??

      Delete
  9. pake eclipse apa...? minta donk sama SDK nya

    ReplyDelete
  10. nice to know you miss aina...
    i've read your blog. most of your article is just have the same vision with me... :)
    i'm a responsible mother with two daughter... ;)
    i just prepare myself to be a teacher to my own children.
    maybe you've ever heard about homeschooling.
    i've just tried to convert many interactive cd to an app.
    would you like to help me to teach me more about this project.

    ReplyDelete
  11. please can you tradcut this in english

    ReplyDelete
  12. Mau tanya klo swf.nya dari actionscript 2 apa tetep bsa

    ReplyDelete
  13. wv.getSettings().setPluginsEnabled(true);
    kenapa setPluginsEnabled kok error ya?

    ReplyDelete
  14. cara buat project di eclipsenya gimana?

    ReplyDelete
  15. Saya jg baru nemu tutorialnya padahal sudah vakum lama gak otodidak bhs program AS3.. sktr 4 ato 5 th yg lalu karena ribet harus instal adobe air di android. Stlh tau bisa embed adobe air di flash cs6... kini mulai lagi otodidak buat2 aplikasi android.. 😁 cuman Pake apa ya saya lupa..di adobeflash cs6 ditambahin melalui menu help: adobe air for android 24. Atau 23. Kemudian pas mau publish aplikasi .APK , tinggal di embed aja adobe airnya... file .APK nya bisa dijalankan langsung di hp android. Cuman nanti file .apk nya jadi lumayan besar +/_ bertambah sekitar 10-13MB...

    ReplyDelete