Android Developenig-Customrom Modeing-ApkTool পর্ব ১ (শুরু)

ApkTool পর্ব ২ (শুরুর আগে) Must see ApkTool পর্ব ২

গ্রপের সকল মেম্বার আর ভাইবোনদের জানালাম ঈদ মোবারক 😀 আশা করি ঈদ অনেক মজা করতে কাটাবেন আর এই তিন দিন মোবাইলের ওপর এক্সপেরিমেন্ট না কইরা মোবাইল ডারেও শান্তিতে ঈদ পালন
করতে দিবেন 😛 আর ঈদের গিফট নিচের দিকে :p নতুন টিউটোরিয়াল।
আসসালামু আলাইকুম, কেমন আছেন সবাই? আমি সবসময়ের মত ভালোই আছি। চাপের উপ্রেও আছি, রোজার মাস এ কোচিং আবার ১১ তারিখ থেকে পরিক্ষা, বস্তা বস্তা দোয়া করেন
যাতে পরিক্ষাটা ভালো মত দিতে পারি :p
অনেক দিন কোনো টিউটোরিয়াল লেখা হয় না, কারন টা উপরের লাইনে :v তাই ভাবলাম আজকে কিছু লিখি। আজ আমি যা নিয়ে টিউটোরিয়াল লিখব তা সম্পর্কে বেশিরভাগ রুট ইউজার রা জানেন না,
এর কারন এই মেথড নিয়ে বাংলা ভাষায় টিউন প্রায় নেই। তো আগে শুনেন আমি আজ কি নিয়ে লিখব। আপ্নারা হয়তো ApkTool সম্পর্কে অনেকেই জানেন, আমাদের গ্রুপের Raad (Rex Remix) ভাই
এই টুল নিয়ে কিছু টিউটোরিয়াল লিখেছেন, যারা এই টুল এর সাথে পরিচিত তারা সহজেই Raad ভাই এর টিউটোরিয়াল গুলো বুঝতে পেরেছেন।
কিন্তু আপনাদের মধ্যে যারা এপিকেটুল সম্পর্কে জানেন না বা কম জানেন তারা অনেকেই বুঝতে পারেননি টিউটোরিয়াল গুলো। তাই আজ থেকে আমি এপিকেটুল নিয়ে লিখব ভাবলাম।
লেখার আগে বলে নেই এই টুল টি ঠিক কি চিজ,
আপনারা তো নিশ্চয়ই Xposed ইউজ করছেন বা জানেন এটা সম্পর্কে, এই অ্যাপ টি কিভাবে কাজ করে জানেন? আপনি যদি রুট এক্সপ্লরার দিয়ে আপনার ফোনের /System/App এ যান দেখবেন
ওখানে নানা অ্যাপ আছে, এইগুলো আপনার ফোনের সিস্টেম অ্যাপ যা আপনি রুট ছাড়া আনইন্সটল করতে পারবেন না। তা তো জানেনই, কিন্তু এই এপিকে ফাইল গুলোর সাথে প্রত্যেক এপিকের নামে একটি করে
.odex ফাইল আছে খেয়াল করেছেন? এগুলো কি জানেন?
আমাদের ফোন এ যেই সফটওয়্যার টা ইন্সটল দেয়া থাকে ডেভেলপাররা তা এমন ভাবে মডিফাই করে যাতে কেউ তা ইডিট করতে না পারে, এটা সাধারনত স্টক রমের বেলাই। তাই আমাদের ফোন রুট
করে সেই সিকিউরিটি ভাঙতে হয়, আর এই odex গুলো হল সেই ডেভেলপার দের দ্বিতীয় চাল। অ্যাপ মডিফাই কঠিন করা আর এপিকেটুল যাতে কাজ না করে তার ব্যাবস্থা করে এরা।
আপনি যদি কোনো অ্যাপ 7zip বা winrar দিয়ে এক্সট্রাক্ট করে থাকেন তাহলে দেখবেন এর ভিতরে classes.dex নামে একটি ফাইল আছে, এই dex এরি আরেক রুপ এই odex,
কিন্তু যদি আপনি ভাবতেছেন যে এই ব্যাটারা এপিকে এর বাইরে কি করতেছে তাহলে শুনেন, এপিকেটুল কে যখন সোর্স ডিকম্পিল করার কমান্ড দেয়া হয় তখন তা এই classes.dex কে ডিকম্পিল করে,
কিন্তু এপিকে এর ভিত্রের dex তো বাইরে odex সাইজা পইরা আছে, এপিকেটুল এর মাথা যায় ঘুইড়া, এপিকেটুল শুধু এপিকে এর ভিতরের dex ডিকম্পিল করে, বাইরের টা না। ফলে সফল হয় স্টক
রম ডেভেলপার দের উদ্দেশ্য। এবার বুঝছেন কাহিনী।
তো এপিকেটুল নিয়ে গুতাগুতি করার আগে আমাদের এই odex গুলারে apk এর পিছন দিয়া ভিত্রে ঢুকাইয়া dex বানান লাগবো। এর নাম Deodexing। এই নিয়ে পরের পর্বেই বলা হবে চাপ নিয়েন না।
এই এপিকেটুল কিভাবে কাজ করে তা একটু পড়েনঃ
Android Studio এর মত অ্যাপ দিয়ে কোনো এপিকে বানানোর সময় আমরা সেই এপিকের User Interface ডিজাইন করি .xml ফাইল এ। এপিকে এক্সট্রাক্ট করলে এই ফাইল
গুলো পাবেন, কিন্তু এগুল ওপেন করলে দেখবেন তা পড়া যাচ্ছে না কারন এগুকো ডিকোড করতে হয়। আর অ্যাপ প্রোগ্রাম করি .java ফাইল এ। যা এপিকে তে ওই classes.dex এ সেভ থাকে,
এটাও নরমাল ভাবে পড়া সম্ভব না। এপিকেটুল এই xml ফাইল গুলো decode করে আগের অবস্থায় নিয়ে যায় ফলে এগুলো সহজে ইডিট করা যায়। কিন্তু java ফাইল গুলোর সময় ঝামেলা আছে।
কারন এই ফাইল গুলো সরাসরি classes.dex থেকে java তে কনভার্ট করা সম্ভব না। এগুলো কনভার্ট হয় smali নামে এক আজগুবি ফরমাটে, স্মালি পড়ে কিছু বোঝা যায় না প্রায়। কিন্তু ধিরে ধিরে এই
স্মালি দিয়ে স্মাইল বানানোর উপায়ও শিখে ফেলবেন সমস্যা নাই :v
আজকের পর্বে আমরা এপিকেটুল ইন্সটল ও এর কাজ সম্পর্কে হাল্কা পাতলা জানব, Apktool এর জায়গায় Apk Studio ও ইউজ করা যায় কিন্তু Apk Studio কিন্তু এই
এপিকেটুল দিয়েই চলে, তাই যাতে পরে সমস্যা না হয় সেইজন্য আমরা আগে এপিকেটুল ওই শিখব।
এপিকেটুল এর সব কাজ করতে হয় কমান্ড লিখে, আরে আরে মিয়া, যান কই? কমান্ড কঠিন না, দুই এর ঘরের নামতার চেয়ে সোজা ভয় পাওয়ার কিছু নাই।
                                                       ডাউনলোড
নিচের লিংক থেকে Apktool টা ডাউনলোড করুন ও রিনেম করে ApkTool.jar করুন, কেউ যদি বলেন jar কেন? কারন এটা প্রত্যেক জাভা সাপোর্টেড প্লাটফর্মের জন্য (JAVA ফোন না)।
অপারেটিং সিস্টেমে জাভা ইন্সটল থাকলেই এটা এই অ্যাপ এক্সকিউট করতে পারবে।
সাথে জাভাও ইন্সটল করা লাগবে তাই দুইটাই নামামঃ
১। JDK (Java Development Kit) = http://www.oracle.com/technetwork/j...
                                                                ApkTool ইন্সটল
ডাউনলোড শেষ হলে জাভা ইন্সটল করুন এবং Apktool.jar টা কোনো নতুন ফোল্ডার তৈরি করে ওখানে রাখুন,
এইবার ফোল্ডারের ওপরের দিকে যেখানে ফোল্ডারের অ্যাড্রেস লেখা থাকে সেখানে সব লেখা মুছে দিয়ে "cmd" লিখুন, একটা কালো বক্স আসবে,
তাতে লিখুনঃ Java -jar Apktool.jar
যদি দেখেন লেখা আসে "Java is not recognized as an internel" তাহলে বুঝবেন জাভা ইন্সটল হয় নাই, পিসি রিবুট দিয়ে টড়াই করেন
নাহলে আবার ইন্সটল দেন।
যদি ApkTool লেখা আসে তাহলে বুঝবেন কাজ শেষ। নিচে এপিকেটুলের কিছু কমান্ড জেনে নিন
                                                                         কমান্ড
১। java -jar apktool.jar if framework-res.apk
= প্রথমবার এপিকে টুল রান করালে যেই ফোন মোড করবেন তার ফ্রেমওয়ার্ক এতে ইন্সটল দিতে হয়, এই ফ্রেম ওয়ার্ক ফোনের /system/frameworks এ পাবেন, দুইটা এপিকে।
এখানে framewor-res.apk হল ফ্রেম ওয়ার্ক এর নাম।
২।java -jar apktool.jar d framework-res.apk
= এই কমান্ড দিয়ে অ্যাপ ডিকম্পিল করা হয়।
৩।java -jar apktool.jar b framework-res
= মডিফাই করা শেষ হলে এই কমান্ড দিয়ে ফাইল কে আবার কম্পিল করা যায়, যদি ভাবেন লাস্ট এ .apk দিলাম না কেন তাহলে, কারন এটা একটা ফোল্ডার, আর ফোল্ডার এর সময়
এক্সটেনশন এর দরকার নাই।
আজকে এইগুলাই লেখলাম, কয়েকদিনের মধ্যে আরো লেখবো। ততক্ষনে আপনারা এটা ভালো মত ট্রাই করেন আর গুগল মামার হেল্প নেন :v আবার আসতেছি খুব তাড়াতাড়ি
ওই মিয়া খারান, পরিক্ষার জন্য দোয়া করতে ভুইলেন না কইলাম।
Post Create By

Level 0

আমি iT FaHim। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 8 বছর 4 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 27 টি টিউন ও 19 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 5 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

Level 1

অনেক ধন্যবাদ ভাই, এই রকম টিউনের অপেক্ষায় ছিলাম বহুদিন, থামবেন না plz, চালিয়ে যান।

    Level 0

    apnakeo dhonnobad ,inshallao full tutorial paben

Level 2

ধন্যবাদ।।।

খুব ভালো লাগলো বস, চালিয়ে যাওয়ার অনুরোধ রইলো।

Level 1

অপেক্ষায় রইলাম ভাই….