[ANDROID] Membuat Iconpack Untuk Android Dengan Maupun Tanpa PC

Cara Membuat Icon Pack Android



Icon pack adalah salah satu elemen penting dalam homescreen android. Oleh karena itu banyak vendor android yang membuat desain icon pack yang semakin bagus juga. Misalkan saja desain icon pack Grace UX dari samsung yang sekarang banyak ditiru karena desainnya yang bagus. Namun icon pack bawaan dari vendor masih kurang memuaskan bagi sebagian pengguna android yang sangat memperhatikan penampilan homescreen android miliknya.

   Permasalahan tersebut membuat banyak developer mulai mengembangkan berbagai desain icon pack yang sangat menarik dan bagus bagi para pengguna android. Walaupun terkadang vendor android secara default tidak menyediakan fitur untuk merubah icon pack dari pihak ketiga. Hal itu tetap bisa diakali dengan menggunakan launcher pihak ketiga juga misalkan saja NOVA Launcher.

   Tak jarang banyak pengguna android yang ingin membuat icon pack miliknya sendiri. Mulai dari icon hasil desain sendiri maupun hasil dari remix maupun remake dari desain orang lain. Namun menemui jalan buntu karena tidak dapat membuat icon pack tersebut. Icon pack disini maksudnya adalah icon pack yang berbentuk apk. Untuk desain icon tentu saja itu tergantung pada kreatifitas masing - masing.

   Membuat icon pack sebetulnya cukup mudah menggunakan sampel dari Apex Launcher yang diberikan oleh denisxl dapat dibuat dengan menggunakan PC maupun langsung melalui smartphone android.

Persiapan
----------------
Pasang
• Eclipse / Android Studio  jika ingin membuatnya langsung melalui PC
• AIDE jika ingin membuatnya langsung melalui smartphone android

Unduh

ApexIconPackSample

Application Reader

*Projek diatas sudah tidak support Android Studio terbaru. Projek dibawah ini support untuk Android Studio terbaru

IconPack-AndroidX


Eksekusi 1 | Buka Proyek
------------------
1. Untuk yang melalui PC bisa langsung melalui menu Open Proyek
2. Jika melalui AIDE

    (a) setelah masuk AIDE pilih For Experts

    For Experts

    (b) tekan tombol di pojok kanan bawah, kemudian cari folder proyeknya

    Open Proyek

    (c) pilih Open this Android App Proyek

3. Rubah nama Package

    (a) Masukan Folder ApexIconPackSample/src/com/yourname/iconpackname
    (b) Rubah yourname sesuai nama masing-masing dan iconpackname sesuai nama iconpack yang diinginkan
    (c) Sesuaikan nama Package di AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    //package="com.yourname.iconpackname" sesuaikan dengan nama yang sudah dirubah tadi 
    //contoh dibawah 
    package="com.tataadin.graceinspirate"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-sdk android:minSdkVersion="14" />

    <application android:icon="@drawable/icon" android:label="@string/theme_title">
        <activity android:name=".MainActivity" android:label="@string/theme_title">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="com.anddoes.launcher.THEME" />
            </intent-filter>
        </activity>
    </application>

</manifest>


Eksekusi 2 | Menambahkan Icon Kedalam Icon Pack
----------------------------------------------------------------
1. Salin/Pindahkan semua ikon yang ingin di tambahkan ke dalam folder ApexIconPackSample/res/drawable-hdpi

    drawable-hdpi

2. Tuliskan nama icon ke dalam iconpack.xml yang berada dalam folder ApexIconPackSample/res/values

3. Masukan nama icon kedalam item akan lebih baik jika berurutan

Contoh Format Penulisan
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="icon_pack" translatable="false">
        <item>al_quran</item> //letakan nama icon dalam folder code seperti di samping
        //Formatnya adalah
        //<item>nama_icon></item>
    </string-array>
</resources>

    Contoh IconPack.xml

4. Masukan ComponentInfo kedalam AppFilter.xml yang berada dalam folder ApexIconPackSample/res/xml

    (a) Buka Application Reader
    (b) Cari Aplikasi yang akan di tambahkan ikon. Misalkan CarXDrift
 
     ComponentInfo

    (c) Masukan Komponen ke dalam AppFilter.xml akan lebih baik jika berurutan

Contoh Format Penulisan
<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <iconback img1="iconback" />
    <iconmask img1="iconmask" />
    <iconupon img1="iconupon" />
    <scale factor="1.1" />
    //Formatnya adalah
    //<item component="ComponentInfo{infokomponen}" drawable="namaicon" />
    //nama icon yang berada difolder drawable-hdpi
    <!-- Carxdrift -->
    <item component="ComponentInfo{com.CarXTech.CarXDriftRacingFull/com.prime31.UnityPlayerNativeActivity}" drawable="carxdrift" />
</resources>

     Contoh APPFILTER.XML

5. Kemudian klik tombol play di pojok atas samping tombol menu dan tunggu proses kompilasi berjalan. Instal seperti aplikasi biasa

     Instal


   Tambahan Dinamic Calendar yaitu ikon kalender akan menyesuaikan dengan tanggal yang tepat. Sebelum menambahkan Dinamic Calendar tentu saja perlu untuk menyiapkan satu paket ikon kalender dari tanggal 1 sampai tanggal 31. Jika sudah masukan paket ikon tadi ke folder drawable-hdpi.

Eksekusi 3 | Menambahkan Dinamic Calendar
1. Buat file xml baru di folder res/values dengan nama arrays
2. Isi file dengan source code dibawah ini
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="date">
        <item>@drawable/calendar_1</item>
        <item>@drawable/calendar_2</item>
        <item>@drawable/calendar_3</item>
        <item>@drawable/calendar_4</item>
        <item>@drawable/calendar_5</item>
        <item>@drawable/calendar_6</item>
        <item>@drawable/calendar_7</item>
        <item>@drawable/calendar_8</item>
        <item>@drawable/calendar_9</item>
        <item>@drawable/calendar_10</item>
        <item>@drawable/calendar_11</item>
        <item>@drawable/calendar_12</item>
        <item>@drawable/calendar_13</item>
        <item>@drawable/calendar_14</item>
        <item>@drawable/calendar_15</item>
        <item>@drawable/calendar_16</item>
        <item>@drawable/calendar_17</item>
        <item>@drawable/calendar_18</item>
        <item>@drawable/calendar_19</item>
        <item>@drawable/calendar_20</item>
        <item>@drawable/calendar_21</item>
        <item>@drawable/calendar_22</item>
        <item>@drawable/calendar_23</item>
        <item>@drawable/calendar_24</item>
        <item>@drawable/calendar_25</item>
        <item>@drawable/calendar_26</item>
        <item>@drawable/calendar_27</item>
        <item>@drawable/calendar_28</item>
        <item>@drawable/calendar_29</item>
        <item>@drawable/calendar_30</item>
        <item>@drawable/calendar_31</item>
    </string-array>
</resources>

3. Tambahkan meta-data kalender di AndroidManifest.xml seperti source code dibawah ini
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.tataadin.graceinspirate"
    android:versionCode="1"
    android:versionName="1.0">
    <uses-sdk android:minSdkVersion="14" />
    <application android:icon="@drawable/icon" android:label="@string/theme_title">
        <activity android:name=".MainActivity" android:label="@string/theme_title">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="com.anddoes.launcher.THEME" />
            </intent-filter>
            <meta-data android:name="com.telsacoilsw.launcher.calendarIconArray"
                       android:resource="@array/date"
                       />
        </activity>
    </application>
</manifest>

4. Buka appfilter.xml tambahkan ComponentInfo kalender seperti contoh dibawah ini.
<item component="ComponentInfo{com.android.calendar/com.android.calendar.homepage.AllInOneActivity}" drawable="calendar" />
<calendar component="ComponentInfo{com.android.calendar/com.android.calendar.homepage.AllInOneActivity}" prefix="calendar_" />

ComponentInfo diatas adalah milik kalender MIUI untuk base cyanogeg atau yang lain tentu berbeda. Namun bentuk dua baris tersebut selalu sama yang berbeda hanya isi ComponenInfo saja.
5. Kemudia lakukan seperti langkah 5 eksekusi 2


   Membuat icon pack sendiri memiliki keuntungan lain yaitu menghemat memory. Sebuah icon pack bisanya berukuran belesan bahkan hingga puluhan MB. Itupun tidak semua ikon aplikasi masuk dalam icon pack tersebut. Ini terjadi karena perbedaan penggunaan aplikasi di berbagai negara yang berbeda tentu saja karena adanya pula berbagai aplikasi lokal yang hanya ada di negara tertentu saja.

     Perbandingan Ukuran   

     Pratinjau 1 

     Pratinjau 2

     Pratinjau 3

   Jika dilihat dari hasil diatas perbandingannya dari 30MB menjadi 1MB, namun semua aplikasi mendapat ikonnya(no missing icon). Ikon diatas adalah Mix dari aslinya Dux dicampur dengan ikon hasil edit dari ikon asli aplikasi menjadi bentuk ala Grace UX samsung. Agar ikon dapat diterapkan pada aplikasinya secara langsung ikon dapat diterapkan melalui CM Theme Engine khusus yang menggunakan ROM base CM sedangkan yang tidak hanya dapat diterapkan melalui launcher saja.


Source :

XDA : ApexIconPackSample



TERIMAKASIH TELAH BERKUNJUNG


Saya seorang programmer dengan fokus developer Web dan Android.