Android: adb: İzin Verilmedi


91

adb shellBaşarısız olduktan sonra ne yazarsam yazayım Permission denied:

D:\android-sdk-windows\platform-tools>adb shell find /data -name *.db
find: permission denied

D:\android-sdk-windows\platform-tools>adb shell test
test: permission denied

D:\android-sdk-windows\platform-tools>adb remount
remount failed: No such file or directory

Herhangi bir fikir?


Adb kabuğunu emülatörde veya hedef cihazda nerede çalıştırmaya çalışıyorsunuz; hedef cihazdaysa, kök izniniz olmadığı sürece / data klasörüne erişemezsiniz.
Vamsi

20
sonra adb root>> adbd cannot run as root in production buildsne yapmalı?
d.popov

3
Sanırım bunu çalıştırabilmek için köklü bir telefona ihtiyacınız var
Caner

Evet biliyorum. Ancak, gördüğünüz gibi şu anda Yazarın gönderisine yorum yapacak saygınlığım yok, ancak bu sorunu yaşadım, bu yüzden tek yol yeni gönderi eklemek veya yinelenen ileti dizisini açmaktı, bu yüzden bir gönderi eklemeye karar verdim.
d.popov

1
telefon rootlanmış, ancak işletim sisteminde bir şeyler ters gitti. Yeniden başlatma sırasında ana ekran yüklendikten sonra donuyordu. Her neyse - nandroid telefonu hisse senedi ROM'uyla yanıp sönen sorunu çözdü.
d.popov

Yanıtlar:


129

Göre adb help:

adb root                     - restarts the adbd daemon with root permissions

Bu gerçekten benim için sorunu çözdü.


2
Henüz yapmadıysanız, adb için kök erişimini etkinleştirmeniz gerekir - bkz. @ Macarse'nin cevabı.
Paul Whittaker

Aslında acil sorun, android'in hala bir findkomutla gönderilmemesi (yazmanızdan iki yıl sonra) . Bununla birlikte, adb root olarak çalıştırılmadan, / data bölümünü başka herhangi bir komutla da indiremeyeceğiniz doğrudur (yine de içindeki açık konumlara erişebilirsiniz).
Chris Stratton

1
Bu doğru değil. Doğru kullanıcıya geçmeniz yeterli. Aşağıdaki
cevabıma

2
Cevabınız net değil. Bu yorum cihazda mı yoksa bilgisayarda mı yapılmalıdır?
Sauron

20
adbd cannot run as root in production buildskoştuğunuzda elde ettiğiniz şeydir adb root. Bu, güncel Android SDK ile yeni bir MacOS yüklemesinde. Bu cevabın hiç doğru olduğunu düşünmüyorum ve başkalarının bu sorundan bahsettiğini gördüm. Neden bu kadar çok olumlu oy var?
Andrew Koster

40

Köklendirme olmadan : Telefonunuzu rootlayamıyorsanızrun-as <package> , uygulamanızın verilerine erişebilmek için komutu kullanın.

Misal:

$ adb exec-out run-as com.yourcompany.app ls -R /data/data/com.yourcompany.app/

exec-out komutu bir kabuk başlatmadan ve çıktıyı karıştırmadan yürütür.


9
Bu yalnızca hata ayıklaması yapılabilecek şekilde oluşturulmuş uygulamalar için işe yarar - yani, geliştirmekte olduğunuz uygulamalar için kullanabilirsiniz, ancak uygulamanızın üretim sürümleri veya başka birinin uygulamaları için çalışmamalıdır.
Chris Stratton

2
Bu run-as: Could not set capabilities: Operation not permittedbenim için geri dönüyor
Tom M

Öykünücü API 29 için çalışır ve .debughata ayıklama uygulamaları için uygulama paketinin sonuna önek koymayı unutmayın :
ultraon

19

"İzin reddedildi" nin nedeni, Android makinenizin doğru şekilde köklenmemiş olmasıdır. Başladıktan $sonra gördün mü adb shell? Makinenizi doğru bir şekilde köklendirdiyseniz, #bunun yerine görürdünüz .

Simgesini görürseniz, $yazarak Süper Kullanıcı moduna girmeyi deneyin su. Kök etkinleştirilmişse, #şifre sormadan - görürsünüz .


2
Makinenizi doğru bir şekilde köklendirdikten sonra, adb root erişimini etkinleştirmeniz ve suadımınız işe yaramadan önce adb'yi root modunda çalıştırmanız gerekir - bkz. @ Macarse's ve @ Roman'ın cevapları.
Paul Whittaker

1
Hayır. "İzin reddedildi" nin nedeni, herhangi bir findkomutun olmamasıdır .
Chris Stratton

@ChrisStratton Hayatımı kurtardın, ben de zaten adb kabuğunun içinden kabuk komutu
yazıyordum

1
Android simülatöründe dosyaları görmeye çalışıyorum. "$" Dan sonra "su" yazıyorum ve diyor ki: su: bulunamadı
Pete Alvin

5

Geliştirici ayarları menüsünden adb kökünü etkinleştirmeniz gerekebilir. Eğer çalıştırırsanız adb rootcmd satırından alabilirsiniz:

root access is disabled by system setting - enable in settings -> development options

Kök seçeneğini etkinleştirdiğinizde (yalnızca ADB veya Uygulamalar ve ADB) adb yeniden başlayacak ve cmd satırından root kullanabileceksiniz.


3
Ayarlar menünüzde 'Geliştirici seçenekleri' öğesini göremiyorsanız , nasıl görünür hale getireceğinizle ilgili ayrıntılar için bu yanıta bakın . (Kısaca: Ayarlar> Telefon hakkında> Yapı numarası> 7 kez dokunun (!).)
Paul Whittaker

1
Ama bir kez, burada hiçbir şey görmüyorum! Ne demeli?
JohnyTex

36
Bu seçenek, stok Android yapılarında mevcut değildir - eğer varsa, birinin satış sonrası ROM'uyla sınırlı olacaktır.
Chris Stratton

Bunu GUI olmadan yapmanın bir yolu var mı? Sanırım içinde bir seçenek var /system/build.prop, ama bulamıyorum.
Jeroen

Ayarları aramak için menüyü nerede bulabilirim?
martinkunev

0

Eğik çizgiye dikkat edin, "/" yerine "\" değiştirin, şu şekilde: adb.exe, SuperSU-v2.79-20161205182033.apk / storage


0

data bölüme root olmayan kullanıcılar için erişilemez, erişmek istiyorsanız telefonunuzu rootlamanız gerekir.

adb root tüm ürünlerde çalışmaz ve telefon yapım türüne bağlıdır.

android stüdyosundaki yeni sürümde, /data/datahata ayıklanabilir uygulamaların yolunu keşfedebilirsiniz .



-4

cmdYönetici olarak çalıştır, bu sorunlarımı çözecek. Teşekkürler.


Hayır. Soru, Windows'tan değil, Android'den gelen bir ret ile ilgilidir.
Chris Stratton

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.