it-swarm-id.com

hierarki tidak berfungsi untuk perangkat saya

ketika saya menjalankan hierarki di terminal. itu dapat menunjukkan antarmuka itu, tetapi tidak dapat terhubung ke perangkat saya. Dan itu dapat terhubung ke emulator virtual. Itu mengingatkan saya di terminal seperti itu,

  1. Adb menolak perintah penerusan untuk perangkat 172.18 ...... layanan Host tidak dikenal
  2. port forward hilang untuk 172.18 .....
  3. tidak bisa mendapatkan versi server tampilan dari perangkat 172.18 ....

Bagaimana ini dapat menunjukkan struktur tampilan perangkat saya di penampil hierarki. Adakah yang bisa membantu saya? Atau Siapa saja yang tahu di mana menemukan pengetahuan tentang hierarki. Terima kasih sebelumnya.

40
zyunchen

HierarchyViewer tidak bekerja di build produksi untuk alasan keamanan. Saya menulis API yang memungkinkan Anda menggunakan HierarchyViewer di perangkat apa pun dengan aplikasi Anda: https://github.com/romainguy/ViewServer

86
Romain Guy

Bagi siapa pun yang bekerja dengan Android 4.1 atau yang lebih baru: Anda bisa membuat Hierarchy Viewer bekerja dengan mengatur variabel lingkungan Android_HVPROTO menjadi ddm

Pengguna Mac OSX/Android Studio, ingat untuk memulai hierarki viewer dari baris perintah sehingga akan mengambil variabel lingkungan. Jika Anda menginstalnya dengan Android Studio, Anda dapat menemukannya di /Users/<user>/Library/Android/sdk/tools

https://developer.Android.com/tools/performance/hierarchy-viewer/setup.html

23
waternova

Proyek ViewServer Romain (lihat jawaban # 1) berfungsi baik untuk ini. Saya mengunduh kode, mengubah proyek menjadi proyek perpustakaan, menambahkan ketergantungan pada aplikasi saya ke proyek perpustakaan baru, dan mengubah kelas Aktivitas basis aplikasi saya menjadi subkelas dari kelas sederhana ini:

public class SimpleViewServerActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ViewServer.get(this).addWindow(this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        ViewServer.get(this).removeWindow(this);
    }

    @Override
    protected void onResume() {
        super.onResume();
        ViewServer.get(this).setFocusedWindow(this);
    }
}

Sekarang saya dapat terhubung dari Tampilan Hierarki Monitor Android Debug dan men-debug tata letak saya.

19
Scott Leslie

Penampil hierarki berfungsi untuk saya setelah saya memilih Alat -> Android -> Aktifkan Integrasi ADB di dalam Android Studio.

3
Tony Nutter

Saya memiliki masalah yang sama dan akhirnya menemukan jawaban di http://developer.Android.com/tools/performance/hierarchy-viewer/setup.html . Ada variabel lingkungan yang perlu diatur di lingkungan pengembangan Anda sebelum ViewServer akan terhubung.

0
steven smith

Saya menggunakan Android Studio 2.3.3 . Kesimpulannya ada di akhir posting ini.

Notasi: Monitor = Monitor Perangkat Android Studio = Android Studio

Dalam preferensi Android Studio -> (Build, Execution, Deployment) -> Run Instan -> hapus centang Run Instan. Kalau tidak, itu akan Prompt pesan kesalahan "Instalasi Aplikasi Gagal", dan saya mencoba beberapa cara tanpa menghapus Instan Run, tetapi tidak ada yang berfungsi. Jadi hapus centang Instant Run untuk saat ini.

(i) Jika build produksi (Jalankan ‘aplikasi’):

(1) Jika saya memberi tanda centang pada opsi "Aktifkan ADB Integration" dari menu drop-down dari "Tools": 

(a) Membuka Monitor langsung dari Studio akan berfungsi dan tampilan Hierarchy akan ditampilkan di Monitor, tetapi akan meminta pesan "Nonaktifkan Integrasi ADB Setelah sesi debug akan ditutup: app" (dikatakan "sesi debug", meskipun saya menggunakan build produksi). Pemberitahuan Setelah saya menutup Monitor, opsi "Enable ADB Integration" akan secara otomatis diperiksa lagi oleh Studio.

(B) Membuka Monitor dari Bash akan Prompt pesan kesalahan mengatakan "ddms, tidak bisa membuka port debug VM yang dipilih (870)", tetapi hanya menghapus centang secara manual opsi "Aktifkan Integrasi ADB" yang akan memperbaiki masalah dan Lihat Hierarki akan ditampilkan. 

(2) Jika saya tidak memberi tanda centang pada opsi "Aktifkan Integrasi ADB": Membuka Monitor langsung dari Studio dan dari Bash keduanya berfungsi, tidak perlu operasi tambahan.

(ii) Jika debug membangun: Saya harus mengaktifkan Integrasi ADB untuk meluncurkan debugging, jadi opsi “Enable ADB Integration” akan diperiksa . Setelah Studio menginstal aplikasi di ponsel saya: Maka perilakunya persis sama di bagian (i) - (1). Dengan kata lain, untuk tujuan Lihat Hierarki, meluncurkan debug build sama dengan meluncurkan build produksi dengan opsi “Enable ADB Integration”.

Kesimpulannya: Untuk menginstal aplikasi, "Jalankan Instan" perlu tidak dicentang (lihat instruksi di bagian atas laporan). Untuk menunjukkan Lihat Hierarki di Monitor, “Aktifkan Integrasi ADB” perlu dicentang. Membuka Monitor dari bash dan dari Studio keduanya berfungsi. Debug Build dan produksi membangun keduanya.

0
Luke Yang