How to remove any permission from Android app. 

আসসালামু আলাইকুম।

অন্যান্য সকল ধর্মাবলম্বী ভাইদের জানাই অনেক-অনেক শুভেচ্ছা ও অভিনন্দন।

আমাদের অ্যান্ড্রয়েড ফোন ব্যবহার করার প্রয়োজনে অনেক অ্যাপস বা অ্যাপলিকেশন ব্যবহারের দরকার হয়। আবার আমরা অধিকাংশরাই অ্যান্ড্রয়েডের দারুণ-দারুণ সকল গেমসের দ্বারা আভিভূত হয়ে এগুলো খেলায় মেতে উঠি। এসকল অ্যাপস ও গেমসগুলো আমরা বিভিন্ন উৎস হতে সংগ্রহ করি, যার মধ্যে রয়েছে বিভিন্ন অ্যাপস মার্কেট বা বিভিন্ন ওয়েবসাইট। এসব উৎসগুলোর মধ্যে Android এর মালিক Google Inc এর অ্যাপ মার্কেট Play Store সকল ব্রান্ডের অ্যান্ড্রয়েড স্মার্টফোনের সাথে স্টক অ্যাপ হিসেবে দিয়ে দেয়ার কারণে এটিই আমাদের কাছে সর্বাধিক পরিচিত ও জনপ্রিয়।

এই গুগলের Play Store আমাদের নিকট এতোটাই পরিচিত যে আমরা অনেকেই শুধু Play Store-কেই অ্যাপ সংগ্রহের একমাত্র উৎস হিসেবে জানি। আবার অনেকে যদি জেনেও থাকেন যে Play Store ব্যতিত আরো অনেক উৎস রয়েছে অ্যাপ সংগ্রহের, তারা সেসকল উৎস থেকে অ্যাপ সংগ্রহ করতে নিরাপদ মনে করেন না। Play Store এর অ্যাপসমূহকে ধোঁয়া তুলসি পাতা মনে করেন, বাকিগুলো সব অনিরাপদ।

এবিষয়ে আমার নিজের একটা অভিজ্ঞতা রয়েছে। কয়েকমাস পূর্বে ফিফা বিশ্বকাপ ফুটবল চলাকালীন সময়ে আমার এক বন্ধু মেসেজে আমার কাছে এমন একটা অ্যাপ চায় যা দ্বারা সে হাই কোয়ালিটিতে খেলাগুলো লাইভ উপভোগ করতে পারে। তাকে আমি একটা অ্যাপের ডাউনলোড লিংক দেই, Play Store ব্যতিত। তাতে সে অ্যাপটার নাম Play Store এ সার্চ দিয়ে খুঁজে না পাওয়ায় ঐ অ্যাপ ইন্সটল করতে অস্বীকৃতি জানায়; ভেবে বসে ঐ অ্যাপটিকে যেহেতু Play Store এ পাওয়া যাচ্ছে না, সেহেতু সেটা অনিরাপদ। তারপরে তাকে আমি জানাতে বাধ্য হই যে, Play Store এ পাওয়া না গেলে সেটা অনিরাপদ হবে এমন কোনো কথা নেই। তাছাড়া Play Store এ অ্যাপ পাবলিশ করার জন্য Developer অ্যাকাউন্ট খুলতে 25$ প্রয়োজন, যার কারণে অনেকেই তাদের তৈরি অ্যাপ Play Store এ পাবলিশ করতে পিছ-পা হয়।

যাই হোক, এরকম ভ্রান্ত ধারণা অনেকের মনেই বিদ্যমান। বর্তমানে Play Store এরই অনেক জনপ্রিয় অ্যাপ অনিরাপদ হওয়ার খবর শোনা যায়, যেমন- Sarahah, Ludo King ইত্যাদি। এরপর আমাদের সাধের Facebook সহ অন্যান্য সোশ্যাল মিডিয়া অ্যাপও তো কম চোর নয়! এরাও ইউজার হতে বিভিন্ন ডাটা চুরি করে থাকে, কিন্তু আমরা তার কতটুকুই বা জানি? এরকম অনিরাপদ অ্যাপ Play Store এ আরো অনেক আছে, জনপ্রিয় অ্যাপসগুলো বেশি ব্যবহৃত হওয়ায় সেগুলোর অনিরাপদ অ্যাক্টিভিটি কারো না কারো কাছে ধরা পড়ে। তুলনামূলকভাবে কম পরিচিত অ্যাপসগুলোর আনসিকিউরড অ্যাক্টিভিটি আড়ালেই থেকে যায়।

এই যে অ্যাপসগুলো, এগুলো তাদের কর্মকাণ্ড সাধিত করে আপনার অ্যান্ড্রয়েডে অ্যাক্সেস এবং কন্ট্রোলিং পারমিশন নিয়ে যা আপনারা অনেকেই নিজের অজান্তেই তাদেরকে পারমিশনগুলো দিয়ে দিচ্ছেন। আপনি অ্যাপ ইন্সটলের সময় সে অ্যাপ আপনার হতে বিভিন্ন পারমিশন চেয়ে তার অ্যাক্সেস নেয়। আপনি যদি একটু অভিজ্ঞ হয়ে থাকেন, তাহলে আপনার উচিত বুঝে-শুনে পারমিশনসমূহ Grant করা; সেক্ষেত্রে একটু খেয়াল রাখতে হয় আরকি! তবে বর্তমানে বেশিরভাগ অ্যান্ড্রয়েড দ্বারাই পারমিশন কন্ট্রোলিংয়ের জন্য Settings অ্যাপে আলাদা অপশন রয়েছে। কিন্তু যাদের ফোনে নেই বা ওদিকে না গিয়ে সরাসরি অ্যাপ হতেই অপ্রয়োজনীয় পারমিশনটি রিমুভ করতে চান তাহলে যা যা করার আছে তা-ই নিয়ে আজ আমার এ আর্টিকেল।

পারমিশন রিমুভ করার মাধ্যমে ঐ অ্যাপ হতে নির্দিষ্ট পারমিশনটির অ্যাক্সেস নেয়ার জন্য আর বিরক্তিকরভাবে কোনো ডায়ালগ আপনার সামনে এসে হাতজোড় করে দাঁড়াবে না। কিন্তু কিভাবে বুঝবেন কোন পারমিশনটি আপনার ঐ অ্যাপটির জন্য অপ্রয়োজনীয় বা সেটিকে রিমুভ করলে অ্যাপটি ব্যবহারে আপনার কোনো বিঘ্ন ঘটবে না? সেক্ষেত্রে আপনাকে সামান্য মাথা খাটাতে হবে। কি ধরণের মাথা খাটাবেন তা-ও আমি বলে দিচ্ছি। আমি আমার এ লেখায় জনপ্রিয় Ludo King-কেই উদাহরণ হিসেবে টানছি, কেননা এটির বিরুদ্ধে ইউজারদের ডাটা চুরির অভিযোগ উঠছিল। 

এই Ludo King এমন একটা গেম যা অফলাইনে বা অনলাইনে উভয় অবস্থায় খেলা সম্ভব। এটার মধ্যে In-app purchase ব্যাপারটা চালু আছে আবার খেলা চলাকালীন সময়ে ফোন স্ক্রিন যাতে অফ না হয়ে যায় সে ব্যবস্থাও রাখা হয়েছে। এই যে ব্যপারগুলো, এগুলোর জন্য Storage space এ প্রবেশের পারমিশন চাওয়ার কোনো প্রশ্নই আসে না। কিন্তু গেমসটি সেই পারমিশন চাওয়ায় প্রশ্নবিদ্ধ হয়। এজন্য উক্ত গেমসটি নিরাপদে উপভোগ করতে স্পেস অ্যাক্সেস পারমিশনটি রিমুভ করতে হবে। একইভাবে অন্যান্য অ্যাপসগুলোর প্রতিও খেয়াল রাখতে হয় এবং প্রয়োজন অনুযায়ী আপদ বিদেয় করতে হয়।

এস্থানে ৩টি পদ্ধতি দেখানো হবে। প্রথম পদ্ধতিটি পিসির সাহায্যে, পরের দুটি অ্যান্ড্রয়েডের সাহায্যেই সম্পন্ন করা যাবে। অনেক বড় লেখা, তাই ধৈর্য সহকারে খেয়াল করে পড়তে চেষ্টা করুন।

প্রথম পদ্ধতিতে পিসিতে APKTool এর Graphical User Interface ব্যতিক্রম APK Studio ব্যবহার করা হবে যার মাধ্যমে এর সাথে পরিচিতি পর্বও সম্পন্ন হয়ে যাবে। দ্বিতীয় পদ্ধতিতে অ্যান্ড্রয়েডের অতি পরিচিত অ্যাপ Lucky Patcher ব্যবহার করা হবে। আর সর্বশেষ তৃতীয় পদ্ধতিতে অ্যান্ড্রয়েড অ্যাপ Apk Editor ব্যবহার করে তুলনামূলকভাবে কম স্ট্যাবল অ্যাপ মডিফাইটি সম্পন্ন হবে। এই তৃতীয় পদ্ধতিকে কম স্ট্যাবল বলার কারণ হলো এটা সবার ক্ষেত্রে সম্পন্ন নাও হতে পারে, কারণ এতে আপনার অ্যান্ড্রয়েডের র‍্যাম বেশি প্রয়োজন হবে। আর তাছাড়া এতে মডিফাইকৃত অ্যাপটি error মেসেজ প্রদর্শন করতে পারে। যাই হোক, প্রথম পদ্ধতি হতে শুরু করছি।

How to remove any permission from android app using PC:

এক্ষেত্রে আপনার Apk-টিকে অবশ্যই প্রথমে ডিকম্পাইল করে নিতে হবে। পিসি দ্বারা এ কাজটি সম্পন্ন করতে আপনার পিসিতে APK Tool বা তার GUI (Graphical User Interface) সফটওয়্যার Apk Studio থাকা প্রয়োজন। পিসিতে APK Tool ইন্সটল ও তার ব্যবহার নিয়ে আমি ইতিপূর্বে একটি পোস্ট করে ফেলেছি-

উইন্ডোজ পিসিতে Android Reverse Engineering এর জন্য ApkTool এর ইন্সটলেশন ও ব্যবহার পদ্ধতি।

যারা কমান্ড লাইনে কমান্ড দিয়ে Apk ফাইল ডিকম্পাইল ও রিকম্পাইল করতে চান তারা উক্ত পোস্টটি ফলো করতে পারেন। আর যারা কমান্ড দিয়ে এসব কাজ করতে ভয় পান তারা Apk Studio সফটওয়্যারটি ব্যবহার করতে পারেন। এটা সম্পূর্ণ গ্রাফিক্যাল, মাউসের ক্লিকের মাধ্যমেই সমগ্র কাজ সম্পন্ন সম্ভব। তাই এখানে এ প্রক্রিয়াই দেখানো হবে।

পিসিতে Apk Studio ইন্সটল করার পূর্বে আরো কিছু সফটওয়্যার ইন্সটল থাকতে হবে, কেননা এসকল সফটওয়্যার Apk Studio কে সঠিকভাবে কাজ করতে সাহায্য করে। এগুলোর মধ্যে সবচেয়ে গুরুত্বপূর্ণ হলো JDK (Java Development Kit). নিম্মে JDK এর ডাউনলোড লিংক দেয়া হলো, আপনি আপনার OS ও তার bit অনুসারে ডাউনলোড করে নিন-

এখানে JDK টা কারো পিসিতে পূর্বেই ইন্সটল করা থাকতে পারে। থেকে থাকলে চেক করে নিবেন যে এর ভার্সন মিনিমাম ৮ আছে কিনা! Apk Studio এর সাথে APK Tool অটোমেটিক্যালি ইন্সটল হওয়ার কথা। তারপরেও যদি না হয়ে থাকে, চিন্তার কোনো কারণ নেই। ম্যানুয়ালি APK Tool ইন্সটল সম্পর্কীয় পোস্টের লিংক তো একটু আগেই দিলাম। ADB নিয়েও চিন্তা নেই, এসম্বন্ধেও আমার লেখা রয়েছে-

ADB কি? পিসিতে ADB ইন্সটল করে অ্যান্ড্রয়েডের সাথে কানেক্টের উপায়।

ADB ইন্সটল করা এক্ষেত্রে জরুরী নয়, ইচ্ছা-অনিচ্ছার ব্যাপার।

এসকল সফটওয়্যার ইন্সটল করা থাকলে নিম্মের ডাউনলোড লিংক থেকে Apk Studio টি ডাউনলোড করে ইন্সটল করে নিন।

সফটওয়্যারটি ইন্সটল করা হয়ে গেলে ওপেন করুন, সব টুলস ও সফটওয়্যার ঠিকঠাকভাবে ইন্সটল থাকলে কোনো সমস্যা হবে না। আসল কাজের শুরু এখান থেকেই।

নিম্মের ছবিতে দেখানো চিহ্নিত স্থানে ক্লিক করে আপনার কাঙ্খিত apk ফাইলটি সিলেক্ট করুন, যেটা নিয়ে আপনি কাজ করতে চান।

নিম্মের মতো ডায়ালগ বক্সটি আসবে। এটা আসলে Project Path এর সামনের Browse বাটনটিতে ক্লিক করে আপনার ডেস্টিনেশন ফোল্ডার সিলেক্ট করুন যেখানে apk ফাইলটির সোর্স ফাইলগুলো এক্সট্রাক্ট বা ডিকম্পাইল করতে চান, এরপরে নিচের Decode বাটনটিতে ক্লিক করুন।

কয়েকসেকেন্ড অপেক্ষা করার পর দেখা যাবে নিচের চিত্রের মতো, অর্থাৎ ডিকম্পাইল কমপ্লিট। নিচের চিত্রে Apk Studio সফটওয়্যারের বিভিন্ন অংশ চিহ্নিত করে দেখিয়ে দিয়েছি যাতে আপনার ব্যবহারে সুবিধা হয়।

বামপাশে আছে রিসোর্স ফাইলগুলো সহজে ন্যাভিগেশনের জন্য আলাদা ট্যাব। ডানপাশে কোড এডিটর এবং নিচে লগ দেখানোর জন্য টার্মিন্যালের আউটপুট অংশ।

এবার আমাদের কাজ হবে বাম পাশের ন্যাভিগেশন অঞ্চল হতে AndroidManifest.xml নামক ফাইলটি ডাবল ক্লিক করে ওপেন করা; যদিও অ্যাপটি আনপ্যাক করার সাথে-সাথেই এ ফাইলটা নিজে থেকে কোড এডিটরে ওপেন হয়ে যায়। ফাইলটির কোডগুলো হতে ট্যাগধারী লাইনগুলোর মধ্যে থেকে আপনি যে পারমিশনটি রিমোভ করতে চান, সেই লাইনটিকে খুঁজে বের করুন।

আমি একটা ছোট গেমসকে উদাহরণ হিসেবে নিয়েছি। গেমসটার মধ্যে লোকেশন পারমিশন চাওয়া হয়। আমি এটাকে বাদ দিবো। তাহলে আমি AndroidManifest.xml ফাইল হতে নিম্মোক্ত লাইনটিকে চিহ্নিত করছি।

যদিও অ্যাট্রিবিউটটের ভ্যালু দেখেই এটা কোন পারমিশনের অন্তর্ভুক্ত তা বোঝার কথা, কিন্তু তবুও এখানে আপনি যদি কনফার্ম করতে না পারেন তাহলে ইন্টারনেট ঘাঁটতে পারেন অথবা কারো সাহায্য নিতে পারেন; আমি তো আছিই।

আপনাকে অবশ্যই ঐ নির্দিষ্ট পারমিশনটাকেই বেছে নিতে হবে যেটার কোনো প্রয়োজন থাকার কথা নয় অ্যাপটাকে নির্বিঘ্নে ব্যবহার করতে। অন্য প্রয়োজনীয় কোনো পারমিশন রিমোভ করলে কিন্তু অ্যাপটি স্বাভাবিক আচরণ করবে না, এবিষয়টা মাথায় রাখতে হবে।

পারমিশনটিকে অক্ষম করতে এবারে উক্ত লাইনের ভ্যালুর মধ্যে নতুন কিছু শব্দ অথবা কোডিং এর ভাষায় নতুন একটা অ্যাট্রিবিউট ও ভ্যালু যোগ করতে হবে- tools:node="remove"

তাহলে লাইনটার স্ট্রাকচারটা দাঁড়াবে নিম্মরূপ-


এক্ষেত্রে আমার লাইনটির অবস্থা দেখুন-

উক্ত শব্দগুলো যোগ করা হয়ে গেলে সফটওয়্যার উইন্ডোর উপরের বামা কোণা থেকে প্রথমে Save বাটন, এরপরে হাতুড়ির মতো দেখতে Build আইকনে করুন।

অ্যাপটি পুনরায় রিপ্যাক বা রিকম্পাইল করা হয়ে গেলে Console লগে নিচের চিত্রের মতো দেখা যাবে। তার মধ্যে এও থাকবে যে অ্যাপটি রিবিল্ড হয়ে কোথায় পৌঁছেছ।

এখানকার যাত্রা এখানেই শেষ। এখন কাজ হচ্ছে অ্যাপটি সাইন (Sign) করা। সাইন করার ক্ষেত্রে আরো কিছু ধাপ অতিক্রম করতে হবে। আমি সহজ কিছু ধাপ দেখিয়ে অন্য একটি পোস্ট করেছিলাম কয়েকমাস পূর্বে। সেই পোস্টের লিংক দিয়ে দিচ্ছি, সেখানের যেকোনো একটা পদ্ধতি অনুসরণ করে ইতিপূর্বে রিকম্পাইল করা apk ফাইলটি sign করে ফেলুন।

Apk ফাইল signing কি? পিসির সাহায্য ছাড়া অ্যান্ড্রয়েডের দ্বারা সহজেই apk ফাইলসমূহ sign করার উপায়।

সাইন করা হয়ে গেলে অ্যাপটি অ্যান্ড্রয়েডে ইন্সটল করে দেখুন আপনার কাছে অনাকাঙ্খিত পারমিশনটি গায়েব হয়ে গেছে। সব কিছু ঠিকঠাক থাকলে কোনো সমস্যা হবার কথা নয়।

এ গেলো উইন্ডোজ পিসি দ্বারা কোনো অ্যাপের পারমিশন রিমোভের উপায়। এমনিতেই লেখা অনেক বড় হয়ে গেছে, তাই পিসির অন্য OS এর পদ্ধতি দেখালাম না। আর এ আর্টিকেলটি এখানেই শেষ করছি। অ্যান্ড্রয়েড দ্বারা যে পারমিশন রিমোভের উপায় দেখানোর কথা বলছিলাম তা পরবর্তী লেখায় দেখানো হবে; আশা করি সে পর্যন্ত অপেক্ষা করতে বিরক্ত বোধ করবেন না!

পোস্টটি ভালো না লাগলে দুঃখিত। কোনো ভুল পেলে দয়া করে জানাবেন, আমি অতি শীঘ্র তা সংশোধন করতে চেষ্টা করব; শুধু-শুধু কমেন্টে নিন্দনীয় ভাষা ব্যবহার করে নিজের বংশ সম্বন্ধে অন্যদেরকে খারাপ কিছু ভাবনার সুযোগ দিবেন না।

My Facebook Profile

ধন্যবাদ।।।

15 thoughts on "অ্যান্ড্রয়েডের যেকোনো অ্যাপ হতে অবাঞ্চিত বা অপ্রয়োজনীয় পারমিশন রিমোভ করার উপায়। [পর্ব – ১]"

    1. Md Rasel Hossain Md Rasel Hossain Author Post Creator says:
      Thanks.
    1. Md Rasel Hossain Md Rasel Hossain Author Post Creator says:
      Thanks.
  1. Prince🔰 🇧🇩 Prince Contributor says:
    গুড পোস্ট। সুন্দর গুছিয়ে লিখেছেন। ধন্যবাদ
    1. Md Rasel Hossain Md Rasel Hossain Author Post Creator says:
      ধন্যবাদ, সুন্দর মন্তব্যের জন্য।
  2. Tanjid Contributor says:
    Assa.. Vai pc dia app er ads remove ba nijer ads bisanor upai ase?
    1. Forhad Rahman Contributor says:
      ১/২ মাস আগে ট্রিকবিডিতে এই বিষয় নিয়ে একজন পোস্ট করেছিলেন। কষ্ট করে খুঁজে নিন
    2. Md Rasel Hossain Md Rasel Hossain Author Post Creator says:
      Forhad Rahman ভাই-ই আপনার জবার দিয়ে দিয়েছে। ধন্যবাদ ওনাকে।
    3. Tanjid Contributor says:
      Vai…k oi post ta korsilo bolte paren…khuse paitaci..aktu help koren
    1. Md Rasel Hossain Md Rasel Hossain Author Post Creator says:
      অতি শীঘ্রই পাবেন আশা করি, একটু অপেক্ষা করুন দয়া করে।
  3. Forhad Rahman Contributor says:
    সুন্দর পোস্ট। বিশদ বর্ণনাসহ, ভালো ছিল 😘
    1. Md Rasel Hossain Md Rasel Hossain Author Post Creator says:
      ধন্যবাদ আপনাকে। আমি আমার সকল লেখাগুলোই এভাবে লিখতে চেষ্টা করি।
    2. Forhad Rahman Contributor says:
      দারুণ। চালিয়ে যান 🌹❤

Leave a Reply