dtmilano / AndroidViewClient

Android ViewServer and ADB client
Apache License 2.0
1.62k stars 347 forks source link

Adbclient.takeSnapshot() problem? #164

Closed CallMeZack closed 8 years ago

CallMeZack commented 8 years ago

Hi, I've been using androidviewclient. Recently, I found a problem in function adbclient.takeSnapshot(). The problem is the snapshot taken by adbclient.takeSnapshot() is not the same as the screen display in some devices, while it is same when snapshot is taken by device itself. For example, if there is a yellow region in the screen, it will becomes blue or other colors taken snapshot by adbclient.takeSnapshot(). The devices are haier hl-g100(4.4.4), coolpad 7296(4.2.2),Huawei-G750-T01, etc. The origin/actual image. origin

The shoted pic(by adbclient.takeSnapshot()) snapshoted

dtmilano commented 8 years ago

You should check the value of this expression (adbclient.py:642):

    USE_ADB_FRAMEBUFFER_METHOD = (self.getSdkVersion() < 14 or self.getSdkVersion() >= 23)

For example, you can use a debugger or just a print statement. If the expression is True you may want to experiment forcing it to False to see if the result improves. Let me know the outcome.

Thanks for reporting the problem.

CallMeZack commented 8 years ago

Ok, I'll test later. Forgot to mention, the version of my 'adbclient.py' is '5.1.1', seems to be too low.

CallMeZack commented 8 years ago

My problem! It seems that my version is too low. I rewrite the function takeSnapshot(), i runs ok.