5 Pertanyaan: Mendapatkan "kesalahan: ditutup" dua kali di "adb reverse"

pertanyaan dibuat di Mon, Jul 20, 2015 12:00 AM

Saya mencoba untuk memundurkan-maju port melalui ADB, tetapi itu hanya mengembalikan kesalahan samar error: closed. Penerusan normal berfungsi. Cuplikan sesi:

 
$ adb forward tcp:59778 tcp:59778
$ adb forward --list
015d2109ce0c1a0f tcp:59778 tcp:59778
$ adb forward --remove-all
$ adb forward --list
$ adb reverse --list
error: closed
error: closed
$ adb reverse tcp:59778 tcp:59778
error: closed
error: closed

Saya terhubung melalui USB ke Nexus 7 2012 Android 4.4.4 yang tidak di-rooting dari Windows 7 Pro x64 di Boot Camp.

    
46
5 Jawaban                              5                         

adb reverse diperkenalkan di Android 5.0

    
80
2015-07-20-20 21: 50: 33Z
  1. Jadi apa solusinya saat menggunakan Android 4.2?
    2015-11-27 23: 04: 54Z
  2. 2015-11-27 23: 07: 30Z
  3. Saya mendapatkan ini di 5.0
    2016-04-02 17: 19: 34Z
  4. @ AugustinRiedinger tautan Anda tidak begitu jelas tentang cara mengganti adb reverse pada API yang lebih rendah. Dengan mengatur server secara manual pada perangkat, saya bisa mengembangkan reaksi-asli sebelumnya, tetapi sekarang saya mendapatkan kesalahan yang antara lain menyarankan adb reverse yang gagal, jadi saya tidak tahu bagaimana harus pergi dari sana. Apakah pengaturan IP pada perangkat cukup untuk tidak memerlukan penggantian lain?
    2016-05-19 20: 45: 29Z
  5. Ya, tapi sayangnya ini tidak mungkin dengan versi android lebih rendah dari 5. Kecuali seseorang membuat alat khusus tetapi ada beberapa kemungkinan ini muncul karena pengembang cenderung bergerak maju dalam versi (meskipun ini tidak selalu yang terbaik)
    2016-08-22 20: 45: 42Z

Karena adb reverse tidak didukung di versi Android yang lebih rendah dari 5.0, Anda perlu menggunakan metode alternatif, misalnya menghubungkan melalui Wi-Fi sebagai gantinya. Jika Anda menggunakan React Native, Facebook telah menambahkan dokumentasi resmi untuk terhubung ke server pengembangan melalui Wi-Fi . Mengutip instruksi untuk MacOS, tetapi mereka juga memilikinya untuk Linux dan Windows:

  

Metode 2: Terhubung melalui Wi-Fi

     

Anda juga dapat terhubung ke server pengembangan melalui Wi-Fi. Pertama-tama Anda harus menginstal aplikasi pada perangkat Anda menggunakan kabel USB, tetapi begitu itu dilakukan, Anda dapat melakukan debug secara nirkabel dengan mengikuti instruksi ini. Anda akan memerlukan alamat IP mesin pengembangan Anda saat ini sebelum melanjutkan.

     

Anda dapat menemukan alamat IP di System Preferences → Network.

     

Pastikan laptop dan ponsel Anda berada di jaringan Wi-Fi yang sama.   Buka aplikasi React Native Anda di perangkat Anda.   Anda akan melihat layar merah dengan kesalahan. Ini bagus. Langkah-langkah berikut akan memperbaikinya.   Buka menu Pengembang dalam aplikasi.   Buka Pengaturan Dev → Host server debug untuk perangkat.   Ketikkan alamat IP mesin Anda dan port server dev lokal (mis. 10.0.1.1:8081).   Kembali ke menu Pengembang dan pilih Muat Ulang JS.

    
32
2016-12-07 09: 09: 08Z
  1. Bekerja seperti pesona !. Terima kasih.
    2017-03-27 11: 02: 24Z
  2. Jawaban Terbaik !! Terima kasih
    2017-04-01 17: 16: 57Z
  3. Satu lagi catatan: jika Anda seperti saya yang sedang mengembangkan perangkat Android 4 (mis. smart tv) yang tidak mendukung guncangan, Anda masih dapat memicu pengembang dalam aplikasi menu pada perangkat dengan menjalankan: "adb shell input keyvent KEYCODE_MENU".
    2017-06-01 02: 15: 09Z
  4. Jika Anda tidak memiliki jaringan Wi-Fi di dekatnya, cukup tambat USB di perangkat Anda dan gunakan IP yang diberikan ke antarmuka sisi komputer Anda!
    2018-05-16 02: 55: 56Z

Ikuti langkah-langkah ini dengan seksama.

Catatan: Semua perintah harus dijalankan di dalam proyek saja.

  1. Jalankan perintah ini terlebih dahulu:

     
    npm react-native start
    
  2. Buka jendela lain di proyek yang sama dan jalankan:

     
    curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
    
  3. Ini akan membuat index.android.bundle di folder aset

  4. Jalankan:

     
    npm react-native run-android
    

Sekarang Anda bisa mendapatkan apk di folder build yang akan berfungsi dengan baik.

    
11
2016-07-22 22: 51: 09Z
  1. Saya pikir itu harus 're-start asli' dan 're-run asli-android' tanpa 'npm'. npm adalah untuk manajemen paket ...
    2016-11-22 08: 53: 30Z

adb reverse membutuhkan Android 5.0+. Untuk perangkat yang sebelumnya, Anda harus menggunakan solusi seperti itu.

Jika Anda memiliki busybox yang diinstal pada perangkat Android Anda (sebagian besar gambar Genymotion lakukan), Anda dapat meniru adb reverse menggunakan mantra ini:

adb shell busybox nc -ll -p {guest port} -e busybox nc {host IP} {host port}

Dalam hal ini, "guest" adalah OS Android yang berjalan di emulator dan "host" adalah komputer yang menjalankan emulator.

    
5
2017-01-13 17: 29: 20Z
  1. Bisakah Anda memberikan contoh cara mendapatkan port tamu, IP host, dan port host? Saya menggunakan perangkat adb untuk mendapatkan port tamu. Saya kemudian menggunakan ifconfig en0 untuk mendapatkan ip host, maka saya pikir portnya adalah 8080 karena saya menggunakan mulai asli-reaktif --port = 8080, namun saya mendapatkan kesalahan "nc: bind Address sudah digunakan"
    2017-03-05 23: 23: 38Z
  2. Ini tidak akan berfungsi jika 2 perangkat tidak terhubung ke jaringan yang sama, hanya usb saja tidak cukup. Apa yang dilakukan busybox nc adalah mengalirkan sungai. Jadi mengapa tidak terhubung ke satu jaringan melalui WiFi dan memodifikasi bundle fetching host sesuai dengan alamat IP mesin pengembangan?
    2017-04-12 10: 07: 09Z

penyebab adb reverse tidak bekerja di android sebelum 5, Anda dapat menggunakan adb forward dengan layanan mendengarkan di android dan tunneling koneksi lain melalui koneksi inbound ini. Saya melakukan ini sebagian besar dengan ssh, tetapi Anda akan memerlukan server ssh di android. Anda kemudian dapat terhubung menggunakan ssh -R incommingreverseportonandroid: hostyouwoftestorto: portyouwanttoforwardto sshuseronandroid @ localhost -p portAnda telah menggunakan foradbuntwaqrduntuk mengaksesandroidshsserver

tetapi saya tidak tahu cara mengaktifkan server ssh di android dan mungkin ada cara yang lebih baik karena ssh menggunakan enkripsi yang tidak diperlukan melalui usb dan menggunakan cpu.

saya menggunakan cara ini dengan server saya untuk berbagi layanan ketika saya dipaksa di belakang nat ...

harap seseorang akan menemukan cara untuk menjadikan cara teoretis ini menjadi kemungkinan praktis

    
0
2016-08-07 10: 59: 55Z
sumber ditempatkan sini