টেক-দুনিয়ায় প্রতিনিয়ত নতুন নতুন উদ্ভাবন আমাদের অবাক করে দেয়। আপনি কি কখনো ভেবেছেন, আপনার পকেটে থাকা Android ফোনটি দিয়ে সরাসরি কোনো কম্পিউটারের BIOS Settings পরিবর্তন করবেন কিংবা কোনো সফটওয়্যার ছাড়াই এটি একটি ফিজিক্যাল কিবোর্ড হিসেবে কাজ করবে? হ্যাঁ, ঠিক এই কাজটিই সম্ভব করতে আপনার সঙ্গী হতে পারে Android USB Script। এটি একটি অসাধারণ টুল। আজকের টিউনে আমরা এই শক্তিশালী অ্যাপটি নিয়ে in-Depth আলোচনা করব।
Android USB Script কী? একটি জাদুকরী HID ইমুলেটর

Android USB Script হলো এমন একটি অ্যাপ্লিকেশন যা আপনাকে HID (Human Interface Device) Emulation Tasks গুলোকে নিজের মতো করে Script করার সুবিধা দেয়। সাধারণ কথায়, এটি আপনার ফোনকে একটি ভার্চুয়াল কিবোর্ড বা মাউস হিসেবে কম্পিউটারের কাছে উপস্থাপন করে।
এই পুরো সিস্টেমটি কাজ করে Configfs-এর ওপর ভিত্তি করে একটি অত্যন্ত সহজ এবং সাবলীল Lua Interface ব্যবহার করে। আপনি লজিক বা স্ক্রিপ্ট লিখে ফোনের মাধ্যমে কম্পিউটারে বিভিন্ন ইনপুট পাঠাতে পারেন। তবে ডেভেলপাররা একটি জরুরি সতর্কবার্তা দিয়েছেন— Use at Your Own Risk. for Educational Purposes Only. অর্থাৎ, এটি মূলত শিক্ষামূলক কাজে ব্যবহারের জন্য এবং যেকোনো ঝুঁকির দায়ভার ব্যবহারকারীর।
Android USB Script
অফিসিয়াল ওয়েবসাইট @ Android USB Script
কীভাবে Android USB Script ব্যবহার করবেন?

১. প্রথমে নিশ্চিত করুন যে আপনার ফোনে Root Access আছে, কারণ এই অ্যাপটি Configfs-এর সাহায্যে সিস্টেম লেভেলে কাজ করে। এরপর F-Droid বা আপনার পছন্দের ক্লায়েন্ট থেকে IzzyOnDroid রেপোজিটরি যুক্ত করে Android USB Script অ্যাপটি ইন্সটল করুন।

২. আপনার ফোনটিকে ইউএসবি ক্যাবল দিয়ে কম্পিউটারের সাথে যুক্ত করুন। অ্যাপটির সহজ Lua Interface ব্যবহার করে স্ক্রিপ্ট লিখুন (Script), যা আপনার ফোনকে কম্পিউটারের কাছে একটি ভার্চুয়াল কিবোর্ড বা মাউস (HID Emulation Tasks) হিসেবে উপস্থাপন করবে।

৩. একসাথে অনেকগুলো পিসির BIOS Settings কনফিগার করা, নির্দিষ্ট সফটওয়্যার ইন্সটল করা বা ওয়ালপেপার পরিবর্তনের মতো কাজগুলো অটোমেট করতে (Automation of Deployment Solutions) আপনার লেখা স্ক্রিপ্টগুলো রান করুন।

কেন ডেভেলপাররা এই অ্যাপটিকে ভালোবাসবেন?

এই অ্যাপটি শুধু সাধারণ ব্যবহারকারীদের জন্য নয়, বরং Developers-দের জন্যও অত্যন্ত কাজের। এটি HID Interactions গুলোকে ইনটুইটিভ উপায়ে স্ক্রিপ্ট করার সুযোগ দেয় এবং সাথে সাথে Feedback প্রদান করে। সবচেয়ে বড় সুবিধা হলো, এতে HID Devices-এর জন্য কিছু Wrappers রয়েছে। এর ফলে একজন ডেভেলপার খুব সহজেই তার নিজস্ব Apps-এ এই HID Functionality যুক্ত করতে পারেন।
এই অ্যাপের চমকপ্রদ কিছু ব্যবহার (Use Cases)

আপনি হয়তো ভাবছেন, কিবোর্ড বা মাউস এমুলেট করে আমার কী লাভ? এর ব্যবহারিক ক্ষেত্রগুলো কিন্তু বেশ বিস্তৃত:
- Automation of Deployment Solutions: ধরুন আপনাকে একসাথে অনেকগুলো কম্পিউটারের BIOS Settings কনফিগার করতে হচ্ছে কিংবা কোনো নির্দিষ্ট সফটওয়্যার ইনস্টল করতে হচ্ছে। এই অ্যাপের মাধ্যমে আপনি এই কাজগুলো Automated Fashion-এ করতে পারবেন। এমনকি সব কম্পিউটারের Wallpaper পরিবর্তন করার মতো কাজও স্ক্রিপ্ট দিয়ে করা সম্ভব।
- Security And Password Management: আমরা অনেক সময় এমন কোনো কম্পিউটার ব্যবহার করি যা আমরা Trust করি না। সেই পিসিগুলোতে কিবোর্ড দিয়ে পাসওয়ার্ড টাইপ করা ঝুঁকিপূর্ণ হতে পারে (যেমন কী-লগার থাকতে পারে)। এই অ্যাপটি একটি Mobile Password Manager হিসেবে কাজ করে আপনার হয়ে Credentials টাইপ করে দেবে, যা অনেক বেশি নিরাপদ।
একটি বিশেষ দ্রষ্টব্য: এই অ্যাপটির যাবতীয় সুবিধা উপভোগ করতে হলে আপনার ডিভাইসে Root Access থাকা বাধ্যতামূলক।
ইনস্টলেশন এবং আপডেট করার নিয়ম

আপনি চাইলে এই অ্যাপের APKs সরাসরি ডাউনলোড করতে পারেন। তবে অ্যাপটি যেন সবসময় Up-to-Date থাকে, সেজন্য ডেভেলপাররা একটি F-Droid Client ব্যবহারের পরামর্শ দেন। কিছু ক্লায়েন্টে এই Repo ডিফল্টভাবে থাকে, যেমন— Sunil-এর তৈরি করা ক্লায়েন্ট। কিন্তু আপনি যদি সাধারণ F-Droid ব্যবহার করেন, তবে আপনাকে ম্যানুয়ালি এই Repository যুক্ত করতে হবে। কীভাবে যুক্ত করবেন তার জন্য অ্যাপের ভেতরে থাকা Hint অপশনটি দেখে নিতে পারেন।
টেকনিক্যাল ডিপ ডাইভ: পর্দার পেছনের শক্তিশালী লাইব্রেরিসমূহ

Android USB Script অ্যাপটি কতটা নিখুঁতভাবে তৈরি করা হয়েছে, তা বোঝা যায় এর পেছনে থাকা বিশাল টেকনিক্যাল আর্কিটেকচার দেখে। নিচে প্রতিটি লাইব্রেরির ভূমিকা বিস্তারিতভাবে তুলে ধরা হলো:
ফ্রেমওয়ার্ক এবং কোর ডেভেলপমেন্ট (Development Frameworks)
- Android Support Library: এটি কোনো সাধারণ লাইব্রেরি নয়, বরং এটি অনেকগুলো লাইব্রেরির সমাহার যা Compatibility And Component Libraries—এই দুই ভাগে বিভক্ত। এটি মূলত পুরানো অ্যান্ড্রয়েড ভার্সনে নতুন ফিচারগুলো সচল রাখতে সাহায্য করে।
- Luaj: এটি একটি অত্যন্ত দ্রুত এবং Java-Centric Lua Interpreter যা JME (Java Micro Edition) এবং JSE (Java Standard Edition)-এর জন্য তৈরি। এতে String, Table, Package, Math, IO, OS, Debug, Coroutine And Luajava Libraries অন্তর্ভুক্ত রয়েছে। এটি সরাসরি Lua-to-Java-Bytecode Compiling করতে পারে।
ইউটিলিটি এবং আর্কিটেকচার (Utility And Architecture)
- AppCompat: এটি Base Activity Subclass And প্রয়োজনীয় Hooks প্রদান করে যাতে একটি Composable Structure তৈরি করা যায়।
- Annotation: Android Jetpack-এর এই লাইব্রেরিটি কোড অ্যানোটেশনে সহায়তা করে।
- Arch Core: এটি JUnit Test Rules And LiveData-র মতো আর্কিটেকচারাল কম্পোনেন্টের জন্য একটি Helper হিসেবে কাজ করে।
- Core And Core-Utils: এগুলো নতুন Android Features গুলোকে পুরানো ভার্সনে সাপোর্ট দেয় এবং ফ্রেমওয়ার্কের বাইরের গুরুত্বপূর্ণ APIs ব্যবহারের সুবিধা দেয়।
- Concurrent Futures: Coroutines And ListenableFuture ব্যবহার করে এটি অ্যাপের ভারী কাজগুলোকে Main Thread থেকে সরিয়ে নিতে সাহায্য করে।
- ConstraintLayout And CoordinatorLayout: এর মাধ্যমে ডেভেলপাররা Nested Views কমিয়ে অত্যন্ত চমৎকার UI Layout তৈরি করতে পারেন। এটি AppBarLayout বা FloatingActionButton-এর মতো উইজেট পজিশন করতেও ব্যবহৃত হয়।
- Libsu (Unix Shell): এই লাইব্রেরিটি সরাসরি Unix (Root) Shell-এর জন্য প্রয়োজনীয় APIs প্রদান করে, যা রুটেড অ্যাপের জন্য অত্যন্ত গুরুত্বপূর্ণ।
- Kotlin Coroutines: এটি অ্যাপে মাল্টি-টাস্কিং এবং ব্যাকগ্রাউন্ড প্রসেসিংয়ের জন্য Library Support দেয়।
ইউজার ইন্টারফেস এবং ইন্টারঅ্যাকশন (UI And Components)
- CardView: এটি Material Design-এর কার্ড প্যাটার্ন (Round Corners And Drop Shadows) তৈরি করে।
- Emoji: এটি Kitkat And পরবর্তী ডিভাইসে ইমোজি সাপোর্ট নিশ্চিত করে।
- Fragment: অ্যাপের ইন্টারফেসের বিভিন্ন অংশকে ছোট ছোট Reusable Components-এ ভাগ করতে এটি সাহায্য করে।
- Interpolator: এটি অ্যানিমেশনগুলোকে আরো প্রাণবন্ত করে তোলে।
- Material: এটি Material Design Guidelines মেনে অ্যাপের ডিজাইন উন্নত করে।
- Transition: এটি লেআউটের পরিবর্তনের সময় Motion Animate তৈরি করে।
- VectorDrawable: এর মাধ্যমে ভেক্টর গ্রাফিক্স রেন্ডার করা হয়।
- ViewPager2: এটি পুরানো ViewPager-এর সমস্যাগুলো সমাধান করে এবং Right-to-Left Layout, Vertical Orientation ও Modifiable Fragment Collections সাপোর্ট করে।
- DrawerLayout: এর মাধ্যমে Material Design Drawer Widget তৈরি করা হয়।
- Dynamic Animation: এটি ফিজিক্স-ভিত্তিক অ্যানিমেশন তৈরির জন্য একটি গুরুত্বপূর্ণ API।
ডেটা ম্যানেজমেন্ট এবং পারফরম্যান্স (Data And Performance)
- Lifecycle And ViewModel: অ্যাপের ডেটা যেন স্ক্রিন রোটেট করলে বা অন্য কোনো Configuration Changes-এর সময় হারিয়ে না যায়, তা এই লাইব্রেরি নিশ্চিত করে।
- Paging: এটি মেমরি খরচ কমিয়ে অনেক বড় ডেটা সেট UI-তে দেখানোর সুবিধা দেয়।
- ProfileInstaller: এটি ART (Android Runtime)-এর মাধ্যমে প্রি-কম্পাইলেশন ট্রেস তৈরি করে অ্যাপের গতি বাড়ায়।
- Startup: অ্যাপ শুরু হওয়ার সময় সব কম্পোনেন্ট যেন দ্রুত এবং পারফরম্যান্ট উপায়ে Initialize হয়, তা এটি নিশ্চিত করে।
- Tracing: এটি সিস্টেম ট্রেস বাফারে ইভেন্ট লিখতে সাহায্য করে।
- VersionedParcelable: এটি একটি স্থিতিশীল এবং কম্প্যাক্ট Binary Serialization Format যা বিভিন্ন প্রসেসের মধ্যে ডেটা নিরাপদে আদান-প্রদান করতে পারে।
- Guava (Google Core Libraries for Java 6+): এটি একটি অসাধারণ লাইব্রেরি সেট যাতে Multimap, Multiset, Immutable Collections, Graph Library, In-Memory Cache And Hashing, Reflection, String Processing-এর মতো শক্তিশালী ফিচার রয়েছে।
ডায়াগনস্টিক এবং অন্যান্য সরঞ্জাম (Diagnostics And Extra Tools)
- Timber: এটি একটি চমৎকার এবং ছোট Logger API যা Android-এর সাধারণ লগের ওপরে অতিরিক্ত ইউটিলিটি প্রদান করে।
- EventBus: এটি পুরো অ্যাপে একটি Event Bus হিসেবে কাজ করে যা বিভিন্ন কম্পোনেন্টের মধ্যে লজিক্যাল যোগাযোগ সহজ করে।
- Print: এটি Photos, Docs And অন্যান্য গ্রাফিক্স প্রিন্ট করতে সাহায্য করে।
- DocumentFile: এটি কোনো ফাইল বা ডকুমেন্ট ভিউ করার জন্য একটি লাইব্রেরি।
- CursorAdapter: এটি Framework-এর CursorAdapter-এর একটি স্ট্যাটিক লাইব্রেরি সাপোর্ট ভার্সন।
- Error Prone: এটি একটি Static Analysis Tool যা কোড কমপাইল করার সময় সাধারণ ভুলগুলো শনাক্ত করে।
- Live Layout Inspector Integration: এটি Android Studio-তে কাস্টম ভিউ এর ডিটেইলস দেখতে সাহায্য করে।
উপসংহার

পরিশেষে বলা যায়, Android USB Script কোনো সাধারণ অ্যাপ নয়, এটি একটি শক্তিশালী টেকনিক্যাল টুল। আপনি যদি একজন Power User হন এবং আপনার ফোনের সক্ষমতাকে অনন্য উচ্চতায় নিয়ে যেতে চান, তবে এই অ্যাপটি আপনার মাস্ট-ট্রাই লিস্টে থাকা উচিত। আধুনিক সব লাইব্রেরি এবং চমৎকার স্ক্রিপ্টিং সুবিধা এই অ্যাপটিকে করে তুলেছে অনন্য। তবে আবারও মনে করিয়ে দিচ্ছি, যেহেতু এতে Root And HID Emulation জড়িত, তাই সতর্কতার সাথে এটি ব্যবহার করুন।
টেক-দুনিয়ার এমন আরো রোমাঞ্চকর টুলস সম্পর্কে জানতে টেকটিউনসের সাথেই থাকুন!