Git Product home page Git Product logo

adb_kit's People

Contributors

mengyanshou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adb_kit's Issues

Flutter 2.8.1 build error

Flutter 2.8.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 77d935af4d (5 天前) • 2021-12-16 08:37:33 -0800
Engine • revision 890a5fca2e
Tools • Dart 2.15.1

build error

E/flutter (24822): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Stack Overflow
E/flutter (24822): #0 new _BroadcastStreamController (dart:async/broadcast_stream_controller.dart:97:3)
E/flutter (24822): #1 new _SyncBroadcastStreamController (dart:async/broadcast_stream_controller.dart:358:9)
E/flutter (24822): #2 new _AsBroadcastStreamController (dart:async/broadcast_stream_controller.dart:459:9)
E/flutter (24822): #3 new _AsBroadcastStream (dart:async/stream_impl.dart:811:23)
E/flutter (24822): #4 Stream.asBroadcastStream (dart:async/stream.dart:502:16)
E/flutter (24822): #5 new UnixPty (package:dart_pty/src/unix_pty.dart:31:23)
E/flutter (24822): #6 new PseudoTerminal (package:dart_pty/src/interface/pseudo_terminal_interface.dart:32:12)
E/flutter (24822): #7 TerminalUtil.getShellTerminal (package:pseudo_terminal_utils/src/terminal_util.dart:48:12)
E/flutter (24822): #8 new Global._internal (package:adb_tool/global/instance/global.dart:26:37)
E/flutter (24822): #9 Global._getInstance (package:adb_tool/global/instance/global.dart:35:26)
E/flutter (24822): #10 new Global (package:adb_tool/global/instance/global.dart:22:23)
E/flutter (24822): #11 Print.log (package:adb_tool/global/instance/global.dart:222:5)
E/flutter (24822): #12 Logger._print. (package:signale/src/core/logger.dart:21:19)
E/flutter (24822): #13 List.forEach (dart:core-patch/growable_array.dart:410:8)
E/flutter (24822): #14 Logger._print (package:signale/src/core/logger.dart:17:22)
E/flutter (24822): #15 Logger.d (package:signale/src/core/logger.dart:31:5)
E/flutter (24822): #16 Log.d (package:signale/src/log.dart:8:19)
E/flutter (24822): #17 UnixPty.createPseudoTerminal (package:dart_pty/src/unix_pty.dart:48:9)
E/flutter (24822): #18 new UnixPty (package:dart_pty/src/unix_pty.dart:33:24)
E/flutter (24822): #19 new PseudoTerminal (package:dart_pty/src/interface/pseudo_terminal_interface.dart:32:12)
E/flutter (24822): #20 TerminalUtil.getShellTerminal (package:pseudo_terminal_utils/src/terminal_util.dart:48:12)
E/flutter (24822): #21 new Global._internal (package:adb_tool/global/instance/global.dart:26:37)
E/flutter (24822): #22 Global._getInstance (package:adb_tool/global/instance/global.dart:35:26)
E/flutter (24822): #23 new Global (package:adb_tool/global/instance/global.dart:22:23)
E/flutter (24822): #24 Print.log (package:adb_tool/global/instance/global.dart:222:5)
E/flutter (24822): #25 Logger._print. (package:signale/src/core/logger.dart:21:19)
E/flutter (24822): #26 List.forEach (dart:core-patch/growable_array.dart:410:8)
E/flutter (24822): #27 Logger._print (package:signale/src/core/logger.dart:17:22)
E/flutter (24822): #28 Logger.d (package:signale/src/core/logger.dart:31:5)
E/flutter (24822): #29 Log.d (package:signale/src/log.dart:8:19)
E/flutter (24822): #30 UnixPty.createPseudoTerminal (package:dart_pty/src/unix_pty.dart:48:9)
E/flutter (24822): #31 new UnixPty (package:dart_pty/src/unix_pty.dart:33:24)
E/flutter (24822): #32 new PseudoTerminal (package:dart_pty/src/interface/pseudo_terminal_interface.dart:32:12)
E/flutter (24822): #33 TerminalUtil.getShellTerminal (package:pseudo_terminal_utils/src/terminal_util.dart:48:12)
E/flutter (24822): #34 new Global._internal (package:adb_tool/global/instance/global.dart:26:37)
E/flutter (24822): #35 Global._getInstance (package:adb_tool/global/instance/global.dart:35:26)
E/flutter (24822): #36 new Global (package:adb_tool/global/instance/global.dart:22:23)
E/flutter (24822): #37 Print.log (package:adb_tool/global/instance/global.dart:222:5)
E/flutter (24822): #38 Logger._print. (package:signale/src/core/logger.dart:21:19)
E/flutter (24822): #39 List.forEach (dart:core-patch/growable_array.dart:410:8)
E/flutter (24822): #40 Logger._print (package:signale/src/core/logger.dart:17:22)
E/flutter (24822): #41 Logger.d (package:signale/src/core/logger.dart:31:5)
E/flutter (24822): #42 Log.d (package:signale/src/log.dart:8:19)
E/flutter (24822): #43 UnixPty.createPseudoTerminal (package:dart_pty/src/unix_pty.dart:48:9)
E/flutter (24822): ...
E/flutter (24822): ...
E/flutter (24822): #8614 new Global._internal (package:adb_tool/global/instance/global.dart:26:37)
E/flutter (24822): #8615 Global._getInstance (package:adb_tool/global/instance/global.dart:35:26)
E/flutter (24822): #8616 new Global (package:adb_tool/global/instance/global.dart:22:23)
E/flutter (24822): #8617 Print.log (package:adb_tool/global/instance/global.dart:222:5)
E/flutter (24822): #8618 Logger._print. (package:signale/src/core/logger.dart:21:19)
E/flutter (24822): #8619 List.forEach (dart:core-patch/growable_array.dart:410:8)
E/flutter (24822): #8620 Logger._print (package:signale/src/core/logger.dart:17:22)
E/flutter (24822): #8621 Logger.d (package:signale/src/core/logger.dart:31:5)
E/flutter (24822): #8622 Log.d (package:signale/src/log.dart:8:19)

How do you run adb from Android?

I used the asset files from your project:
https://github.com/nightmare-space/adb_tool/tree/main/assets/android

And I used this code to extract them to the phone's memory and make them executable with chmod +x.
Unfortunately I always get a permission error when I try running adb --version command.

List<String> androidFiles = [
    'adb',
    'adb_binary',
    'adb.bin-armeabi',
    'libbrotlidec.so',
    'libbrotlienc.so',
    'libc++_shared.so',
    'liblz4.so.1',
    'libprotobuf.so',
    'libusb-1.0.so',
    'libz.so.1',
    'libzstd.so.1',
    'libbrotlicommon.so',
];

for (var element in androidFiles) {
    ByteData data = await rootBundle.load('assets/android/$element');
    List<int> bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
    var program = '/data/data/com.example.my_app/files/usr/bin/$element';  // Is it correct?
    var file = File(program);
    file = await file.create(recursive: true);
    file.writeAsBytes(bytes);
    await Process.run('chmod', ['+x', program]);
}

var results = await Process.run('/data/data/com.example.my_app/files/usr/bin/adb', ['--version']);
var version = results.stdout;

My application name is com.example.my_app.
Did I put the asset files in the right place?

Thank you in advance.

应用导出似乎有点问题

已升级1.4.0,导出似乎还是没反应。
如果开发者有空的话,希望可以修复一下,感谢开发。

How do you get push and install to work from Flutter?

Hi mengyanshou,

I successfully used your adb binary on my Flutter application like so.

// Make the binary executable.
final folder = (await getTemporaryDirectory()).path;
final binary = p.join(folder, "adb");
await Process.run('chmod', ['+x', binary]);

// Shell command is working.
var serial = "192.168.1.20";
var extras = ['shell', 'echo helloworld'];
var result = await Process.run(binary, ['-s', serial, ...extras]);
var output = result.stdout.trim(); // helloworld

Unfortunately I can't make the push and install commands working.

// Push command is failing.
var record = p.join(folder, 'record.log'); // File exists.
extras = ['push', record, '/sdcard/record.log'];
result = await Process.run(binary, ['-s', serial, ...extras]);
var errors = result.stderr.trim(); // adb: error: failed to stat remote object '/data/user/0/com.example.myapp/cache/record.log': No such file or directory

Could you tell me what is missing to make these commands work?

Hope I am not annoying you and thanks in advance.

应用列表刷新不出来

第一次启动进入控制面板可以正常显示应用列表,关闭控制面板,再次进入,应用列表就刷新不出来了,

Bug: macOS 版本在设备操作页面点击返回卡住

复现流程:

  • 打开一个连接的设备 item 新起一个标签
  • 点击左上角的返回,页面崩溃

注意不是点击 item 右侧的箭头

另外,如果是点击 item 右侧箭头,即 不起新的标签页面进入设备操作,没有为 MacOS 的三个按钮留出位置,内容会覆盖上去。

页面 crash 的问题很影响使用,看到了您的文件分享 iOS App,希望这个 ADB 工具也能上架一下 macOS 的。

加油!

push 速度太慢

我通过type-c线把两个安卓手机连接起来,建立好连接之后,开始push一个 apk文件(30M)到另外一台安卓手机上,过了大概7、8分钟, 进度才走到7%左右,而手机电已经掉了20%,怎么才能加快push速度?

What prevents the project from being usable on iOS?

Is it just ADB or are there other problems?

It seems there is no way to compile ADB on iOS.
However, there are pure ADB implementations, but none written in Dart.

I successfully run adb_shell on iOS with Kivy, but it takes 40 minutes (inside VM) to compile a simple app!
The dadb is working perfectly on Android, Linux, macOS, and Windows.

Maybe it would be possible to create a Kotlin Multiplatform library, add dadb as dependency and then create a Dart plugin for Android and iOS. Have you already tried this kind of solution for adb_tool and if so, what did you conclude?

windows 11上pty terminal 有点问题

flutter: [GetX] Instance "IconController" has been created
flutter: [GetX] Instance "IconController" has been initialized
[ERROR:flutter/shell/common/shell.cc(93)] Dart Unhandled Exception: Bad state: Failed to create PTY: Failed to create process, stack trace: #0 new Pty.start
package:flutter_pty/flutter_pty.dart:123
#1 Global.initTerminal
package:adb_tool/…/instance/global.dart:74
#2 Global.initGlobal
package:adb_tool/…/instance/global.dart:195
#3 _ADBToolEntryPointState.init
package:adb_tool/main.dart:109

#4 _FutureBuilderState._subscribe.
package:flutter/…/widgets/async.dart:627

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.