|
Post by AnkuLua on Mar 18, 2016 3:37:21 GMT
If they do not install emulator, AnkuLua users often have problems on screen snap. There are two major problems using software like Mobizen - Hard to control the screen size
- distortion of image
And there are many efforts to update the snap for scripts from others.
We hear your wish. Here comes remoteAKL. Features - lowest image distortion
- Control screen size directly on PC
- easy to update the snaps for scripts from others
History: 1.1: fix problem on 32-bit JVM Download remoteAKL v1.11.0: first release Download remoteAKL v1.0
There must be file structure like below after unzipping. Double click remoteAKL.bat or run remoteAKL.bat in command line prompt. We suggest to run remoteAKL.bat in command line prompt. It's easier to know what's wrong if any.Following screen should appear normally. From left to right - Scale:
Control the mirrored screen size. Support five options, user, 1/1, 1/2, 1/3 and 1/4. If user mode chosen, input the width resolution directly on right field. If 1/1, 1/2, 1/3 or 1/4 chosen, the right field will show the corresponding width resolution. The number is strongly related with compareDimension, more details will be discussed in following sections. - Rotate Left, Rotate Right: rotate left or right for 90 degree.
You need to manually rotate the screen if the mirrored screen is not correct. - Device:
If more than one device and emulator connected, choose which to show here. - Debug:
Show the debug message on command prompt or not.
Develop own scriptFirst, run following script to get width resolutions for both immersive and non-immersive modes. screenSize.luaThen run remoteAKL, choose the scale you want. Suggest that the width should be larger than 640. Here assume the scale is 1/n According to that there is black bar or not on screen when playing games - No black bar:
setImmersiveMode should be set to true in script. Settings:setCompareDimension should be set to the upper number * 1/n
- With black bar:
setImmersiveMode should be set to false in script. Settings:setCompareDimension should be set to the lower number * 1/n
Update the snaps for others' scriptsNeed some calculations. Provide a script here calcRomoteAKLWidth.luaAfter input immersive status and compareDimension from original script, you can get a number. Just input the number to the right field of Scale. Supplements: - Because requiring lossless, there is some delay.
- Can't control devices from PC. (Since there is delay, it's faster to play directly on devices.
[Next]: Basic Objects and Methods[Previous]: Settings[Home]: AnkuLua Introduction
|
|
|
Post by zpt on Mar 19, 2016 1:23:16 GMT
Great news, i was working on primitive analogue of this. But i can't start remoteAKL, getting following:
Active code page: 437 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] Script terminated due to an exception 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ]Traceback (most recent call last): File "C:\remoteAKL\pyLib\remoteAKL.py", line 23, in <module> java.lang.System.loadLibrary('opencv_java2410') at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source)
java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: C:\remoteAKL\lib \opencv_java2410.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform
160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.core.Py.JavaError(Py.java:495) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.core.Py.JavaError(Py.java:488) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java :188) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java :204) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.core.PyObject.__call__(PyObject.java:387) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.core.PyObject.__call__(PyObject.java:391) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.pycode._pyx0.f$0(C:\remoteAKL\pyLib\remoteAKL.py:295) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.pycode._pyx0.call_function(C:\remoteAKL\pyLib\remoteAKL.py ) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.core.PyTableCode.call(PyTableCode.java:165) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.core.PyCode.call(PyCode.java:18) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.core.Py.runCode(Py.java:1275) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.core.__builtin__.execfile_flags(__builtin__.java:522) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:225 ) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at com.android.monkeyrunner.ScriptRunner.run(ScriptRunner.java:116) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at com.android.monkeyrunner.MonkeyRunnerStarter.run(MonkeyRunnerStarter. java:77) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at com.android.monkeyrunner.MonkeyRunnerStarter.main(MonkeyRunnerStarter .java:189) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ]Caused by: java.lang.UnsatisfiedLinkError: C:\remoteAKL\lib\opencv_java2410.dll : Can't load AMD 64-bit .dll on a IA 32-bit platform 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at java.lang.ClassLoader$NativeLibrary.load(Native Method) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at java.lang.ClassLoader.loadLibrary0(Unknown Source) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at java.lang.ClassLoader.loadLibrary(Unknown Source) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at java.lang.Runtime.loadLibrary0(Unknown Source) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at java.lang.System.loadLibrary(Unknown Source) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at java.lang.reflect.Method.invoke(Unknown Source) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java :186) 160319 03:17:17.211:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions ] ... 13 more Running on Windows 7 x64.
|
|
|
Post by AnkuLua on Mar 19, 2016 1:30:54 GMT
|
|
|
Post by zpt on Mar 19, 2016 5:07:25 GMT
First solution works fine, didn't test second. Thank you.
|
|
|
Post by kopiko on Aug 16, 2016 5:47:54 GMT
It doesn't work with 64 bit PC
|
|
|
Post by AnkuLua on Aug 16, 2016 6:01:05 GMT
It doesn't work with 64 bit PC Any error message?
|
|
|
Post by paladiex on Nov 23, 2016 5:15:07 GMT
I'm assuming I need the tablet connected for the PC to work. When I get it setup like I do for Daemon, I get this message.
Try again start taking screenshot Error opening file: /sdcard/tmp.png (Permission denied) finish screenshot Could Not Find C:\Users\Invin\Desktop\remoteAKL\tmp.png Error: fail to capture screenshot
|
|
|
Post by AnkuLua on Nov 23, 2016 11:44:01 GMT
Make sure /sdcard is writable in your system.
|
|
|
Post by paladiex on Nov 23, 2016 15:24:49 GMT
Make sure /sdcard is writable in your system. Do I need to have a SD card in my system? There is no sd card in my system or in my tablet. Dunno why it is trying to write to it.
|
|
|
Post by AnkuLua on Nov 24, 2016 1:21:19 GMT
No. You don't need it. It's the Android system naming. You can modify the lines 94 and 96 of pyLib\remoteAKL. Change "/sdcard" to the path that you Android can write.
command = "tools\\adb -s " + device + " shell screencap -p /sdcard/tmp.png" os.system(command) command = "tools\\adb -s " + device + " pull /sdcard/tmp.png tmp.png 2> nul"
|
|
|
Post by paladiex on Nov 24, 2016 4:15:29 GMT
No. You don't need it. It's the Android system naming. You can modify the lines 94 and 96 of pyLib\remoteAKL. Change "/sdcard" to the path that your Android can write. command = "tools\\adb -s " + device + " shell screencap -p /sdcard/tmp.png" os.system(command) command = "tools\\adb -s " + device + " pull /sdcard/tmp.png tmp.png 2> nul"
I will try this when I get home. Thank you for taking the time to identify the exact lines I will need to change.
|
|
|
Post by paladiex on Dec 8, 2016 5:01:41 GMT
start taking screenshot usage: screencap [-hp] [-d display-id] [FILENAME] -h: this message -p: save the file as a png. -d: specify the display id to capture, default 0. If FILENAME ends with .png it will be saved as a png. If FILENAME is not given, the results will be printed to stdout. finish screenshot Could Not Find C:\Users\Invin\Desktop\remoteAKL\tmp.png Error: fail to capture screenshot
That is now the error message I am getting
|
|
|
Post by AnkuLua on Dec 8, 2016 5:26:25 GMT
What are the codes after modification?
|
|
|
Post by paladiex on Dec 8, 2016 5:29:01 GMT
if (DEBUG): print "start taking screenshot" device = devices[cmbDevice.selectedIndex] command = "tools\\adb -s " + device + " shell screencap -p /Internal storage/Pictures/tmp.png" os.system(command) command = "tools\\adb -s " + device + " pull /Internal storage/Pictures/tmp.png tmp.png 2> nul" os.system(command)
|
|
|
Post by AnkuLua on Dec 8, 2016 8:07:36 GMT
There is space in the file path. Is there any other path without space?
|
|