12.04-এ `adb push` কমান্ডে 'অপর্যাপ্ত অনুমতি' ত্রুটি


57

আমি যখন আমার এপিপি ফাইলটিকে একটি ট্যাবলেটে ঠেলে দেওয়ার চেষ্টা করেছি, তখন আমি এই ত্রুটি পেয়েছি, দয়া করে আমাকে সাহায্য করুন।

adb server is out of date.  killing... 
* daemon started successfully * 
error: insufficient permissions for device.

সাহায্যের জন্য আগাম ধন্যবাদ।


1
ইউজার 84৪২০, এর উত্তর, যা সরকারী অ্যান্ড্রয়েড বিকাশকারী ডকুমেন্টেশনের রেফারেন্স দ্বারা সমর্থিত, আনোয়ার শাহের গৃহীত উত্তরের চেয়ে অনেক ভাল, যেহেতু সম্ভব যখনই আমাদের ডেমোনকে মূল হিসাবে চালানো এড়ানো উচিত। রুট হিসাবে অ্যাডবি চালানো কম্পিউটারকে আরও আক্রমণে আক্রান্ত করে তোলে।
nealmcb

উত্তর:


20

আমি কখনও কখনও উবুন্টুতে এই একই ত্রুটিটি দেখেছি। এটির জন্য একটি কার্যক্ষম কর্ম হ'ল sudoকমান্ড সহ অ্যাডবি চলছে । উদাহরণস্বরূপ, আপনি যদি app.apkএসডকার্ডে চাপ দিচ্ছেন তবে কমান্ডটি হবে

sudo adb push app.apk /mnt/sdcard

এছাড়াও, নিশ্চিত হয়ে নিন যে আপনি অ্যাপ্লিকেশন সেটিংসে (জিঞ্জারব্রেডে) বা বিকাশ বিভাগে (আইসক্রিম স্যান্ডউইচ এবং তারপরে) "ইউএসবি ডিবাগিং" মোডটি নির্বাচন করেছেন। যদি ইতিমধ্যে অ্যাডবি চলছে, আপনার প্রথমে কমান্ডটি দিয়ে এটি হত্যা করা উচিতsudo adb kill-server

আশা করি এটি সাহায্য করবে।


আমি এটি পেয়েছি তবে এখনও এই পদ্ধতিটি চেষ্টা করে দেখব ... সহায়তার জন্য ধন্যবাদ
নেহা শারদ উমাচিগি

5
"আমি এটি পেয়েছি" ... আপনি যদি কোনও সমাধান খুঁজে পান তবে দয়া করে ভাগ করে নেওয়ার সৌজন্য পাবেন, যাতে অন্যরা উপকৃত হয় (আপনি যখন প্রশ্নটি জিজ্ঞাসা করেছিলেন তখন নিজের উপকারের চেষ্টা করেছিলেন)। উদাহরণস্বরূপ, আমার এখন এই সমস্যাটি রয়েছে তবে আপনি বর্ণিত একই সমস্যাটি হলেও আমি অন্য কোথাও সন্ধান করতে বাধ্য হচ্ছি।
এরজালো 18

2
এই উত্তরটি ঝুঁকিপূর্ণ যেহেতু অ্যাডবি-তে বাগগুলি পুরো কম্পিউটারটি নিতে পারে। U84 বিধি ব্যবহারকারীর দ্বারা ব্যবহার করা উত্তর 84847, যা সরকারী অ্যান্ড্রয়েড বিকাশকারী ডকুমেন্টেশনের রেফারেন্স দ্বারা সমর্থিত, সেই সমস্যাটি এড়িয়ে চলে।
nealmcb

সমস্যাটির জন্য এটি সবচেয়ে সহজ এবং সহজ এবং কমপক্ষে কাজ করার মতো কাজ।
আনোয়ার

দ্রষ্টব্য: এটি আমার পক্ষে কাজ করেছে কারণ নন-সুডোর চেয়ে sudoআলাদা ইনস্টল করা সংস্করণ খুঁজে পাওয়া যায় adb। এ কারণেই এটি কাজ করে না, কারণ adbনিজের জন্য আরও বেশি সুযোগ-সুবিধা প্রয়োজন।
কেভিন কুপার

61

আমি এই একই সমস্যার মধ্যে দৌড়ে। এখানে উল্লিখিত হিসাবে একটি ইউদেব বিধি যুক্ত করা কৌশলটি করেছে:

রুট হিসাবে লগ ইন করুন, একটি ফাইল তৈরি করুন /etc/udev/rules.d/51-android.rulesএবং plugdevগ্রুপের কাউকে অনুমতি দেওয়ার জন্য এই জাতীয় একটি লাইন যুক্ত করুন :

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

এই উদাহরণে, বিক্রেতা আইডি হ'ল এইচটিসি। আপনার ডিভাইসের জন্য আপনাকে বিক্রেতা আইডি ব্যবহার করতে হবে, যা lsusbলাইনের মতো কোনও লাইনে চালনা করে এবং অনুসন্ধানের মাধ্যমে পাওয়া যায়

Bus 002 Device 009: ID 2a47:9e18

এই উদাহরণে আপনার বিক্রেতার আইডি হ'ল 2a47তাই আপনাকে এটির 0bb4সাথে প্রতিস্থাপন করতে হবে 2a47। সঠিক লাইনটি এইভাবে পড়বে:

SUBSYSTEM=="usb", ATTR{idVendor}=="2a47", MODE="0666", GROUP="plugdev"

এখন ফাইলগুলিতে পড়ার অনুমতিগুলি বরাদ্দ করুন, ইউদেব পুনরায় লোড করুন এবং অ্যাডবি ডেমন পুনরায় লোড করুন:

sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
adb kill-server
adb start-server

আপনাকে ইউএসবি পোর্টের সাথে আপনার ডিভাইসটি সংযোগ বিচ্ছিন্ন করে আবার সংযোগ করতে হতে পারে।


9
আপনি lsusb কমান্ডের মাধ্যমে ইউএসবি বিক্রেতার আইডি পেতে পারেন। এটি কোলন বিচ্ছিন্ন জুটির প্রথম অংশ। উদাহরণস্বরূপ 18d1: 4e22 এর অর্থ বিক্রেতার আইডি 18d1।
পিটার ল্যামবার্গ

নতুন নিয়ম ফাইল যুক্ত করার পরে আপনাকে "ট্রিগার" করার দরকার হতে পারে (যদিও আমি নিশ্চিত না)। এখানে একটি পথ থেকে "ট্রিগার" এর askubuntu.com/questions/82470/...
user29020

2
এবং / অথবা আপনার ডিভাইসটি সংযোগ বিচ্ছিন্ন এবং পুনরায় সংযোগ স্থাপনের প্রয়োজন হতে পারে? তবে এই উত্তরটি আমার পক্ষে কার্যকর হয়েছিল এবং মূল হিসাবে অ্যাডাবিকে চালিত করার চেয়ে অনেক ভাল। আপনার উবুন্টু ব্যবহারকারীকেও অবশ্যই এই plugdevগোষ্ঠীর অংশ হতে হবে । চালান idখুঁজে বের করতে।
nealmcb

2
যদি আপনি ডিভাইস অনেক সঙ্গে কাজ করতে হবে এই রেপো অত্যন্ত সহায়ক github.com/M0Rf30/android-udev-rules
zamber


22

স্ট্যাকওভারফ্লোতে জর্চ 914 এর উত্তর আমার জন্য এই সমস্যাটি সমাধান করেছে:

ঠিক আছে তাই আমি অবশেষে সমস্যাটি পেয়েছি, সম্ভবত এই ডিভাইসে আপনাকে ক্যামেরা হিসাবে সংযোগ স্থাপন করতে হবে (ইউএসবি ডিবাগিং ইতিমধ্যে সক্ষম হওয়ার পরেও)

এখানে চিত্র বর্ণনা লিখুন

এছাড়াও এই লিঙ্কটি সেট আপ প্রক্রিয়া বর্ণনা করে


1
হ্যাঁ, এটা ছিল! আমাকে অ্যান্ড্রয়েড এন এ "সিলেক্ট ইউএসবি কনফিগারেশন" করতে হয়েছিল, এটি ডিফল্টরূপে "চার্জিং" এ সেট হয়েছিল।
ড্যান ড্যাসকলেসকু

1
যে কারণেই হোক না কেন আমি আমার পিক্সেলটি ম্যাকের সাথে প্লাগ করতে এবং কাজ শুরু করতে সক্ষম হয়েছি কিন্তু আমি যখন সেন্টোস ডেভ ওয়ার্কস্টেশনে চলে এসেছি তখন এটি ডিবাগিংয়ের অনুমতি দেওয়ার জন্য প্রম্পট করার জন্য আমাকে এটি করতে হয়েছিল। ধন্যবাদ
bsautner

2
আমার জন্য কাজ করেছেন। কৌশলটি মনে হচ্ছে এটি "চার্জিং" থেকে অন্য কোনও কেন, কেন.ব্যবস্থাতে পরিবর্তন করা।
বিম

11

এই দুটি সহজ কমান্ড আমার জন্য সমস্যার সমাধান করেছে:

adb kill-server
adb start-server

নোট করুন যে আধা-নবাগত উত্তরটির মতো আমার প্রয়োজন নেই sudo


1
এটি আমার জন্য কাজ করেছে
সুদীপ ভান্ডারী

আমি চালানোর চেষ্টা করার সময় উবুন্টু 16.04 এর সাথে সংযুক্ত কোনও Nexus 5X এর জন্য কাজ করিনি adb shell ls
ড্যান ড্যাসকলেসকু

10

আমি কেবল একই সমস্যাটি দিয়ে চলেছি তবে আমি এখানে কীভাবে যেতে পেরেছিলাম তা এখানে:

  • নিম্নলিখিত কমান্ডটি জারি করে আপনাকে অবশ্যই বিদ্যমান অ্যাডাব সার্ভারটি মেরে ফেলতে হবে: adb kill-server(এটি ভুল হতে পারে তবে আমি এটিকে ইস্যু করেছি এবং সুডো ছাড়াই)
  • জারি করে যথাযথ অনুমতি নিয়ে অ্যাডবি সার্ভারটি শুরু করুন: sudo adb start-server
  • , voila। আপনার যে কোনও কমান্ড প্রয়োজন তা জেনে থাকতে পারেন

আপনি জানেন কিনা তা নিশ্চিত নন, তবে একটি প্যাকেজ রয়েছে যাতে অ্যাডবি রয়েছে। আমি এটি উল্লেখ করেছি কারণ আমি লক্ষ্য করেছি যে আপনি অ্যাডবির পুরানো সংস্করণে একটি রেফারেন্স পেয়ে যাচ্ছেন। আপনার কমান্ড লাইনে নিম্নলিখিতটি জারি করে আপনি ইনস্টল করতে পারেন:sudo apt-get install android-tools-adb

আশা করি এটা কাজে লাগবে.


প্ল্যাটফর্ম সরঞ্জামগুলির এডিবি আরও নতুন হতে পারে; এই সরঞ্জামগুলি এদিকে পৃথক ডাউনলোড হিসাবে উপলব্ধ।
মার্টিন জিটলার

2

আজ আমি insufficient permissions for deviceত্রুটির মুখোমুখি হয়েছি , যদিও adbএর কয়েক মিনিট আগে প্রত্যাশা মতো কাজ করা হয়েছিল। এখন আমি পেয়েছি:

$ adb devices
List of devices attached 
????????????    no permissions

$ adb shell
error: insufficient permissions for device

ত্রুটির মুখোমুখি হওয়ার অল্প সময়ের আগেই আমি অক্ষম Media device (MTP)করেছিলাম, কারণ আমি অনুভব করেছি যে আমাকে ব্যবহার করার দরকার নেই MTP। তবে, এটি প্রদর্শিত হবে যে ইউএসবি ডিবাগিং, বা কমপক্ষে কয়েকটি adbকমান্ডের জন্য এটি Media device (MTP)সক্ষম হওয়া দরকার।

Media device (MTP)অ্যান্ড্রয়েড ৪.৪ সক্ষম করতে , এখানে যান:

Settings
Storage
The "..." menu (in the upper right corner)
USB computer connection
Media device (MTP)

যখন MTPঅক্ষম করা থাকে, lsusbনিম্নলিখিত দেখায়:

Bus 002 Device 071: ID [idVendor1]:[idProduct1] Google Inc.

সক্ষম করার পরে MTP, lsusb নিম্নলিখিতগুলি দেখায়:

Bus 002 Device 072: ID [idVendor2]:[idProduct2] [idVendor string]

MTPসক্ষম বা অক্ষম কিনা তার ভিত্তিতে আইডিভেন্ডার এবং আইডিপ্রডাক্ট পরিবর্তন করে ।

আমি অ্যান্ড্রয়েড বিশেষজ্ঞ নই, সুতরাং এটি সম্ভব যে উপরের আচরণটি আমার বিশেষ মডেল ফোনের সাথে সুনির্দিষ্ট।


0

এটি অন্য কারণ হতে পারে। আমি ডিভাইসে একটি APK ইনস্টল করার চেষ্টা করার সময় এই ত্রুটিটি পেয়েছি:

$ adb install platforms/android/build/outputs/apk/android-armv7-release.apk 
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: insufficient permissions for device
- waiting for device -

এটি ঘটেছে কারণ ডিভাইসটি সঠিক মোডে প্রস্তুত ছিল না। ডিভাইসটি ইউএসবির মাধ্যমে তার 4 জি সংযোগ ভাগ করে নিচ্ছে।

এটি এর মতো জানা যেতে পারে:

$ adb devices -l
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

33332EF19F3D00EC       no permissions usb:1-1.2

সুতরাং ফোনে সংযোগ ভাগ করে নেওয়া অক্ষম করে আবার শুরু করা যথেষ্ট ছিল।

সাধারণভাবে, adb deviceডিভাইসে ফাইলগুলি ধাক্কা দেওয়ার চেষ্টা করার আগে কমান্ডের মাধ্যমে নিম্নলিখিত ফলাফল রয়েছে তা নিশ্চিত করুন

$ adb devices -l
List of devices attached
33332EF19F3D00EC       device usb:1-1.2

এই ক্ষেত্রে, অ্যাডবি সার্ভারটি হত্যা বা পুনরায় চালু করার দরকার নেই।

আপনি যদি USB এর মাধ্যমে ডেটা স্থানান্তর করার জন্য ডিভাইসটি মাউন্ট করেন তবে সম্ভবত একই অবস্থা হবে


0

আমার একই সমস্যা ছিল এবং সেই অপর্যাপ্ত অনুমতি পেয়েছি। আমি যা করেছি তা ছিল আমার ল্যাপটপের জন্য ইউএসবি কর্তৃপক্ষকে বাতিল করা। তারপরে থেমে ইউএসবি ডিবাগিং শুরু হয়েছে। এটিকে আবার ল্যাপটপে প্লাগ করে এবং ইউএসবি ডিবাগিং কর্তৃপক্ষকে মঞ্জুর করে।


1
আপনি কি এই প্রক্রিয়া সম্পর্কে আরও তথ্য সরবরাহ করতে পারেন? ধাপে ধাপে আদর্শ হবে, যাতে ওপি আপনার উদাহরণ অনুসরণ করতে পারে। :)
ThatGuy

0

আমারও একই সমস্যার মুখোমুখি হয়েছে এবং আমি আপনার_অ্যান্ড্রয়েড_এসডি কে_পাথের পথটি পরিবেশের পরিবর্তনশীলের মতো যুক্ত করে সমাধান করেছি

sudo export $PATH:/your_android_sdk_path/platform-tools/adb

এই ফাইল ~/.bashrcফাইলটি সম্পাদনা করে ~/.profile বা আপনি /etc/profile, /etc/bash.bashrc, or /etc/environmentযদি সিস্টেম বিস্তৃত অ্যাক্সেসে যুক্ত করতে চান তবে আপনি কীভাবে এটি আপনার অ্যাকাউন্ট বা সিস্টেমে ওয়াইডে যুক্ত করতে চান তা আপনার ইচ্ছা ।

এবং তারপরে বিনের লিঙ্কটি তৈরি করুন

sudo ln -s /your_android_sdk_path/platform-tools/adb /bin/adb

আপনি যদি অ্যাডবি ডিভাইস বা কোনও কমান্ড ব্যবহার করে থাকেন তবে প্রথমে সার্ভারটি মারুন

adb kill-server

তারপরে সার্ভারটি শুরু করুন

adb start-server
adb devices

এখন আপনি দেখতে পাচ্ছেন যে কোনও সমস্যা ছাড়াই আপনার ডিভাইসগুলি সঠিকভাবে তালিকাভুক্ত রয়েছে


0

এই সমস্যার উত্তর এখানে: https://github.com/snowdream/51-android

অ্যান্ড্রয়েড বিকাশকারী হিসাবে আমি পরামর্শ দিচ্ছি যে আপনি কোথাও অ্যাডাবের ব্যবহারকে বাধ্য করতে "সুডো" ব্যবহার করবেন না। এটা আমাদের করা উচিত নয়। আমাদের নিজস্ব সুরক্ষার জন্য বিধি, নীতি ও বিধিনিষেধ রয়েছে।


0

তবুও আরেকটি সম্ভাবনা: ইউএসবি টিথারিং অ্যাডাবির সাথেও দ্বন্দ্ব। এটি অক্ষম করা আমার জন্য সমস্যার সমাধান করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.