অ্যান্ড্রয়েডের খ্যাতি কিন্তু এর বিভিন্ন কাস্টোমাইজ করার সুবিধা এবং ওপেন সোর্স হওয়ার কারণেই। নিজের মনের মত করে সাজিয়ে নেয়া যায়, যেমন মানুষ নিজের গাড়িকে সাজায়। তবে এই কাস্টমাইজ করতে গিয়ে আপনি একবারও বিড়ম্বনার সম্মুখীন হননি তা বোধহয় ঠিক নয়।
ভুল হলে সেটা ঠিক করে ফেলার মধ্যে যেই মজা সেটা অন্য কিছুতে পাওয়া একদমই সম্ভব না। যেমন আইফোন কিন্তু মাখনের মত চলে! কিন্তু সেই তার দৌড়! আপনি তাকে মনের মত করে সাজাতে পারবেন না কিংবা পারলেও (JailBreak) তা অনেক বিড়ম্বনার ব্যপার।
যাই হোক এই পোস্টের বিষয়বস্তু হচ্ছে কাস্টমাইজ করতে গিয়ে আমি কী কী ধরণের বিড়ম্বনায় পড়েছি। লক্ষ্য করলে দেখবেন এটি ব্লগ বিভাগে প্রকাশিত হচ্ছে। তাই নিজের অভিজ্ঞতা শেয়ার করতে যাচ্ছি।
বিড়ম্বনায় একবার না অনেকবারই পড়েছি এবং ভবিষ্যতেও বারবার পড়তে চাই কারণ আমি আজ অ্যান্ড্রয়েডের ভিতরের জিনিস নিয়ে অল্প যতটুটুই জানি তা বোধহয় এই বিড়ম্বনার কল্যাণেই। কারণ বিড়ম্বনায় না পড়লে কখনোই সেসব জানা হত না।
Chainfire3D ইন্সটলেশন বিড়ম্বনাঃ
অনেকেই এর নাম শুনেছেন কিংবা ব্যবহার করেছেন। এটি একটি intermediary OpenGL ড্রাইভার এবং ব্যবহার করা হয় রুট করা ফোনের গ্রাফিক্স চিপসেটের ক্ষমতা কিছুটা হলেও বাড়ানোর জন্য। মূলত এটি ফোনের অ্যাপ্লিকেশন এবং গ্রাফিক্স চিপসেটের মধ্যকার কিছু কমান্ডে হস্তক্ষেপ করে ব্যবহারকারীর ইচ্ছেমত কিছু গ্রাফিক্স ক্ষমতা বাড়ানোর সুযোগ দেয়।
আমি তখন নতুন নতুন ফোনের অ্যাপ্লিকেশন কাস্টমাইজ করা শিখেছি। কাস্টম রম, কার্নেল, ওভারক্লক করা সিপিউ এবং জিপিউ! পুরো সেইরকম একটা ভাব আমার মধ্যে! সারাদিন XDA তে পড়ে থাকতাম আর নতুন জিনিস শেখার চেষ্টা করতাম। তো ঘুরতেই ঘুরতেই একদিন দেখলাম Chainfire3D নিয়ে পোস্ট।
আমি খেয়াল করিনি যে এটি শুধুমাত্র Froyo কিংবা Gingerbread এর জন্য। আমার ফোনে (HTC Sensation 4G) তখন ICS রম “ViperS 1.2” ইন্সটল করা। খুব উৎসাহী হয়ে ডাউনলোড দিলাম। ডেভেলপার এর সতর্কবাণীও পড়িনি!
ইন্সটল করার পরে ঘেটে দেখতে লাগলাম। কিছুক্ষণ পরে অনেকটা কৌতুহলের বশেই ইন্সটল দিলাম ড্রাইভার। বলল ডিভাইস রিবুট হবে। যথাক্রমে রিবুট প্রসেস শুরু হল এবং তারপরেই শুরু হল যত ভেজাল!
ক্রমাগতভাবে আমার ডিভাইস রিবুট হতে লাগল। ভয় পেলাম ভালভাবেই। তখন ছিলাম বাইরে এবং কি করব বুঝতে পারছিলাম না। একবার মনে হল যে আমারটা বোধহয় নষ্ট হয়ে গেল! হঠাৎ করেই মাথায় খেলল যে CWM দিয়ে রমের ব্যাকআপ নিতে পারি এবং পরে বাসায় গিয়ে XDA ঘেঁটে কিছু করা যাবে।
দিলাম রিকভারি চালু করে। রিকভারী শেষে পুরো ফোন Wipe করলাম এবং করার পর মনে হল ফ্যাক্টরি রিসেট দিলেও পারতাম। ব্যাকআপ রিস্টোর করে ফ্যাক্টরি রিসেট করলাম কিন্তু কোন এক অজানা কারণে রম বুট হচ্ছিল না। মাথা পুরো গরম। আবার wipe করে আগের ভার্সনের (1.1) ব্যাকআপ রিস্টোর দিলাম। পরে চেষ্টা করলাম 1.2 ভার্সনের Data পার্টিশনের ব্যাকআপ রিস্টোর করতে কিন্তু হচ্ছিল না।
যাই হোক বাসায় ফেরার আগ পর্যন্ত ঐভাবেই চালালাম ফোন। পরে ফ্রেশ ইন্সটল দিয়ে আবার Data রিস্টোর করলাম এবং আগের মত হয়ে গেল। মাত্র কয়েক ঘন্টার ব্যপার তবু্ও মনে হচ্ছিল মাথায় আকাশ ভেঙ্গে পড়েছে।
কিন্তু ঐদিনই আবারো উপলব্ধি করলেম যে টেকিয় কোন কিছু করতে গেলে মাথা গরম করা চলবে না এবং ফোরামে গিয়ে বাচ্চাদের মত কাঁদলেও চলবে না। নিজে কি জানেন তা যাচাই করুন এবং গুগল মামার ব্যবহার ভাল করে করুন। সাথে অ্যান্ড্রয়েডের জন্য যে XDA ফোরাম আছে তা একটু ঘাঁটতে শিখুন। অনেক কিছু শিখতে পারবেন এবং অন্যদের কাজেও লাগাতে পারবেন।
টেকিয় শিক্ষাঃ
- কোন কাস্টমাইজ করার অ্যাপ্লিকেশন দেখলেই লাফ দিয়ে তা ব্যবহার করতে যাবেন না। আগে XDA ঘাঁটুন এবং ব্যবহারকারীদের মতামত যাচাই করুন। যদি অ্যাপটি প্লেস্টোরে থাকে তবে ডেভেলপারদের বর্ণনা পড়তে ভুলবেন না। প্লে স্টোরের ব্যবহারকারীদের মতামত না পড়াই ভালো কারণ তারা অনেক সময় না বুঝেই মতামত দিয়ে যায় যা একটি ভাল অ্যাপকেও লিস্টে বাজে রেটিং দিয়ে অনেক নিচে নামিয়ে দেয়।
- কোন মড, প্যাচ কিংবা অ্যান্ড্রয়েড কাঠামোগত বৈশিষ্ট্য বদলে দেয় এমন কিছু ইন্সটল করার আগে CWM কিংবা কাস্টম রিকভারি দিয়ে ব্যাকআপ নিতে ভুলবেন না।
- Data পার্টিশন ব্যাকআপ করলে পরবর্তীতে যদি রম আপগ্রেড করেন কিংবা ফ্রেশ রম ফ্ল্যাশ করেন তবে ঐ Data ইমেজ রিস্টোর করলে টেক্সট, এমএমএস অন্যান্য অনেক কিছু নতুন রমে চলে আসে। তাহলে আর কষ্ট করে Titanium Backup রান করানোর দরকার হয় না।
আলোচনাআলোচনা ইমুটিকনইমুটিকন