Как включить adbd для прослушивания порта во время загрузки в Android?

У меня HTC Hero с правами root, и я хочу, чтобы adbd прослушивал порт во время загрузки.

Я попробовал код, найденный здесь:

setprop service.adb.tcp.port 5555
stop adbd
start adbd

в оболочке Android и прекрасно работает.

Я попытался изменить файл init.rc. Я добавил приведенный выше код в init.rc и заменил его исходным файлом с помощью следующих команд:

adb push init.rc sdcard

adb shell
adb su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /
adb cp sdcard/init.rc /

Файл успешно заменен, но когда я перезагружаю телефон и пытаюсь подключиться через:

adb connect <IP>:5555

соединение не устанавливается.

Любые идеи?

(PS. Я не хочу использовать remoteADB приложение и команду оболочки, например am start -n ... )


person Thanasis Petsas    schedule 03.09.2012    source источник
comment
Это обязательно поможет: stackoverflow.com/questions /9768103/   -  person nullpotent    schedule 03.09.2012


Ответы (3)


Это сделает его постоянным:

setprop persist.adb.tcp.port 5555

ADB через USB может быть недоступен после перезагрузки. Чтобы отменить эту настройку, выполните:

setprop persist.adb.tcp.port ""
person Zoli_K    schedule 11.12.2015
comment
Вы не представляете, насколько эта находка спасла наш бекон — так просто и работает — почему она не набрала больше голосов? Ваше здоровье. - person Peter Flower; 19.04.2016
comment
Где хранятся эти свойства? По сравнению с build.prop? - person JohnyTex; 30.08.2016
comment
На моем компактном Sony Xperia Z1 со стандартной прошивкой Android 5.0.2 USB продолжает работать даже после перезагрузки. - person Robert Siemer; 24.10.2017
comment
Если вы используете adb, команда adb shell setprop persist.adb.tcp.port 5555. - person Lokesh; 29.07.2020
comment
Вы, сэр, потрясающий соус :) Я знаю, что это старо, но все еще очень полезно! - person Jason Waltz; 14.08.2020

Вам нужно распаковать, изменить и перепаковать initrd внутри boot.img. Вы можете найти больше об этом на:

https://groups.google.com/forum/?fromgroups=#!topic/android-platform/w37x_WCrhMM

person jduck    schedule 22.03.2013

Почему бы вам не попробовать использовать BroadcastReceiver действия BOOT_COMPLETED?

Вы можете зарегистрировать его в своем манифесте:

        <receiver
        android:name="com.myapp.BootCompleted"
        android:enabled="true"
        android:exported="false" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

и в классе вы можете делать все, что хотите, когда загрузка завершена:

import java.util.*;
import android.content.*;

public class BootCompleted extends BroadcastReceiver
{
    @Override
    public void onReceive(Context context, Intent intent) 
    {
        // Do the actions you want
    }
}
person Or B    schedule 29.07.2013