Open GoogleCodeExporter opened 8 years ago
puneet-imac:tools pchawla$ ./adb shell /data/androidvncserver
/system/bin/sh: /data/androidvncserver: not executable: magic 7F45
Original comment by puneet.y...@gmail.com
on 6 Jun 2010 at 7:00
yes I can't get the binary to run under x86 either. The type of the binary is
ARM so it makes sense that x86 won't run it. I also am attempting to build for
x86.
Has anyone already done the build for x86? I've never used Ant and the src
doesn't come with all the needed XML files (e.g. build.properties I think). The
build tools are all installed according to several android developer help pages
I've read, but the build config files are not. It's not clear exactly how to
create them. Ant has pretty good documentation but seems to start at newbie
stage 5 rather than stage 1 which is where I'm at, never having used Ant before.
Any suggestions on setting up Ant and/or Eclipse to build this for x86 would be
greatly appreciated.
Original comment by andr1.do...@gmail.com
on 21 Oct 2010 at 9:13
yes I can't get the binary to run under x86 either. The type of the binary is
ARM so it makes sense that x86 won't run it. I also am attempting to build for
x86.
Has anyone already done the build for x86? I've never used Ant and the src
doesn't come with all the needed XML files (e.g. build.properties I think). The
build tools are all installed according to several android developer help pages
I've read, but the build config files are not. It's not clear exactly how to
create them. Ant has pretty good documentation but seems to start at newbie
stage 5 rather than stage 1 which is where I'm at, never having used Ant before.
Any suggestions on setting up Ant and/or Eclipse to build this for x86 would be
greatly appreciated.
Original comment by andr1.do...@gmail.com
on 21 Oct 2010 at 9:13
How to build this for x86?
Thank you!
Original comment by xdmyl...@163.com
on 4 Mar 2011 at 6:13
I built it for android-x86 with Debian squeeze.
I was exhausted... :-[
#####################################################
# 1. Install necessary packages
#####################################################
$ sudo apt-get install make gcc git-svn
#####################################################
# 2. Get android-x86 NDK (froyo is android-2.2)
#####################################################
$ cd ~
$ mkdir gittmp
$ cd gittmp
$ git clone git://git.android-x86.org/platform/prebuilt.git -b froyo-x86
$ git clone git://git.android-x86.org/platform/ndk.git -b froyo-x86
$ cd ndk
[directory tree]
gittmp
+ prebuilt
+ ndk <- current directory!!
#####################################################
# 3. Get android sources (froyo is android-2.2)
#####################################################
$ git clone git://android.git.kernel.org/platform/external/jpeg.git
external/jpeg -b froyo
$ git clone git://android.git.kernel.org/platform/external/zlib.git
external/zlib -b froyo
[directory tree]
gittmp
+ prebuilt
+ ndk <- current directory!!
+ external
+ jpeg
+ zlib
#####################################################
# 4. Build libjpeg.a (froyo's API-level is 8)
#####################################################
$ mkdir -p apps/jpeg
$ vi apps/jpeg/Application.mk
APP_PROJECT_PATH := $(call my-dir)
APP_MODULES := libjpeg
APP_BUILD_SCRIPT := $(APP_PROJECT_PATH)/Android.mk
APP_CFLAGS:=-fno-stack-protector
$ cp -p external/jpeg/Android.mk apps/jpeg/
$ vi apps/jpeg/Android.mk
...
$ diff external/jpeg/Android.mk apps/jpeg/Android.mk
1c1
< LOCAL_PATH:= $(call my-dir)
---
> LOCAL_PATH:= external/jpeg
37c37
< include $(BUILD_SHARED_LIBRARY)
---
> include $(BUILD_STATIC_LIBRARY)
$ make APP=jpeg SYSROOT:=build/platforms/android-8/arch-x86
[directory tree]
gittmp
+ prebuilt
+ ndk <- current directory!!
+ external
+ jpeg
+ zlib
+ apps
+ jpeg
+ Application.mk
+ Android.mk
#####################################################
# 5. Build libz.so (froyo's API-level is 8)
#####################################################
$ mkdir -p apps/zlib
$ vi apps/zlib/Application.mk
APP_PROJECT_PATH := $(call my-dir)
APP_MODULES := libz
APP_BUILD_SCRIPT := $(APP_PROJECT_PATH)/Android.mk
APP_CFLAGS:=-fno-stack-protector
$ cp -p external/zlib/Android.mk apps/zlib/
$ vi apps/zlib/Android.mk
...
$ diff external/zlib/Android.mk apps/zlib/Android.mk
1c1
< LOCAL_PATH:= $(call my-dir)
---
> LOCAL_PATH:= external/zlib
26,86d25
<
< include $(CLEAR_VARS)
<
< LOCAL_ARM_MODE := arm
< LOCAL_MODULE := libz
< LOCAL_CFLAGS += -O3 -DUSE_MMAP
< LOCAL_SRC_FILES := $(zlib_files)
< include $(BUILD_STATIC_LIBRARY)
<
< include $(CLEAR_VARS)
<
< LOCAL_ARM_MODE := arm
< LOCAL_MODULE := libz
< LOCAL_CFLAGS += -O3 -DUSE_MMAP
< LOCAL_SRC_FILES := $(zlib_files)
< include $(BUILD_HOST_STATIC_LIBRARY)
<
<
<
< unzip_files := \
< adler32.c \
< crc32.c \
< zutil.c \
< inflate.c \
< inftrees.c \
< inffast.c
<
< include $(CLEAR_VARS)
< LOCAL_SRC_FILES := $(unzip_files)
< LOCAL_MODULE:= libunz
< LOCAL_ARM_MODE := arm
< include $(BUILD_HOST_STATIC_LIBRARY)
<
< include $(CLEAR_VARS)
< LOCAL_SRC_FILES := $(unzip_files)
< LOCAL_MODULE:= libunz
< LOCAL_ARM_MODE := arm
< include $(BUILD_STATIC_LIBRARY)
<
< include $(CLEAR_VARS)
<
< LOCAL_SRC_FILES:= \
< minigzip.c
<
< LOCAL_MODULE:= gzip
<
< LOCAL_SHARED_LIBRARIES := libz
<
< include $(BUILD_EXECUTABLE)
<
< include $(CLEAR_VARS)
<
< LOCAL_SRC_FILES:= \
< minigzip.c
<
< LOCAL_MODULE:= minigzip
<
< LOCAL_STATIC_LIBRARIES := libz
<
< include $(BUILD_HOST_EXECUTABLE)
<
$ make APP=zlib SYSROOT:=build/platforms/android-8/arch-x86
[directory tree]
gittmp
+ prebuilt
+ ndk <- current directory!!
+ external
+ jpeg
+ zlib
+ apps
+ jpeg
+ Application.mk
+ Android.mk
+ zlib
+ Application.mk
+ Android.mk
#####################################################
# 6. Build androidvncserver (froyo's API-level is 8)
#####################################################
$ git svn clone http://android-vnc-server.googlecode.com/svn/trunk
apps/AndroidVncServer
$ vi apps/AndroidVncServer/Application.mk
APP_PROJECT_PATH := $(call my-dir)
APP_MODULES := androidvncserver
APP_BUILD_SCRIPT := $(APP_PROJECT_PATH)/Android.mk
APP_CFLAGS:=-fno-stack-protector
$ cp -p apps/AndroidVncServer/fbvncserver.c
apps/AndroidVncServer/fbvncserver.c.org
$ vi apps/AndroidVncServer/fbvncserver.c
...
$ diff apps/AndroidVncServer/fbvncserver.c
apps/AndroidVncServer/fbvncserver.c.org
154c154
< //exit(EXIT_FAILURE);
---
> exit(EXIT_FAILURE);
160c160
< //exit(EXIT_FAILURE);
---
> exit(EXIT_FAILURE);
$ mkdir -p out/apps/AndroidVncServer/x86/
$ find out/apps/jpeg/ -type f -name libjpeg.a -exec cp {}
out/apps/AndroidVncServer/x86/ \;
$ find out/apps/zlib/ -type f -name libz.so -exec cp {}
out/apps/AndroidVncServer/x86/ \;
$ make APP=AndroidVncServer SYSROOT:=build/platforms/android-8/arch-x86
$ find out/apps/AndroidVncServer/ -type f -name androidvncserver -exec cp {}
./androidvncserver_x86 \;
[directory tree]
gittmp
+ prebuilt
+ ndk <- current directory!!
+ external
+ jpeg
+ zlib
+ apps
+ jpeg
+ Application.mk
+ Android.mk
+ zlib
+ Application.mk
+ Android.mk
+ AndroidVncServer
+ Application.mk
+ fbvncserver.c
+ ...
+ androidvncserver_x86 <- binary!!
#####################################################
# 7. Run androidvncserver_x86
#####################################################
$ export ADBHOST=<IP_ADDRESS of android-x86>
$ adb kill-server
$ adb start-server
$ adb push androidvncserver_x86 /system/bin/
$ adb shell
root@android:/ # chmod 755 /system/bin/androidvncserver_x86
root@android:/ # androidvncserver_x86 -k /dev/input/event1 -t /dev/input/event2
[result]
Accessing <IP_ADDRESS of android-x86>:5901 with vnc-viewer,
now only view and keyboard work well, but mouse doesn't works.
Probably, fbvncserver.c should be patched.
Original comment by sakurai....@gmail.com
on 18 May 2011 at 4:09
Attachments:
I got the touchscreen to work!!!
Basically I used the above instructions but with oNaiPs' droidVNC version of
the fbvncserver.c + suinput. Of course it doesn't help that androidx86 doesn't
initialize the uinput module by default!
Build Instructions:
1. Do all of the steps above up right until the final make
2. Go to github and grab the droid vnc version of fbvncserver.c, suinput.h, and
suinput.c. Save them to your apps/AndroidVncServer
3. In the Android.mk in apps/AndroidVncServer add suinput.c after the
fbvncserver.c
4. Now use the make command from the above post to try to compile, it might
work but for me I was getting errors about __android_log_print not being there.
In theory you are supposed to add the -llog as one of the linked libraries but
the ndk couldn't find it for me. If this happens, go to step 4.a.
4.a. In fbvncserver.c add the following macro after the include for log.h:
#define __android_log_print(type, name, ...) printf(__VA_ARGS__)
4.b. Cross your fingers and recompile!
5. Continue the instructions from the above post to copy the file to your
Androidx86's /system/bin
6. Verify you have a /dev/uinput on your Android. If you do not, you need to
search for the uinput.ko: find / | grep uinput
6.a. Install the uinput module, for instance: insmod
/system/lib/modules/2.6.35.7-android-x86+/kernel/drivers/input/misc/uinput.ko
7. Run your vnc executable as above BUT WITHOUT the -k and -t parameters (droid
vnc uses the /dev/uinput automatically so there is no need for this).
I attached my build...
Original comment by maha...@gmail.com
on 7 Jul 2011 at 4:16
Attachments:
[deleted comment]
Thanks for the port, I finally got it going on a VM and I love it. My only
issue currently is that I can't seem to access the back button from either
right click or escape. Is there a work around for that?
Original comment by lars.sol...@gmail.com
on 11 Feb 2012 at 4:45
This doesn't work on Android x86 ICS. Been searching all over, no luck with
anything.
Original comment by s...@garbesi.com
on 4 Apr 2012 at 7:47
how is it done on a VM lars??It still doesn't work for me on VM.. can you show
me your work on VM.. thanks..
Original comment by RizkiAb...@gmail.com
on 12 Apr 2012 at 7:19
Same here: can't make it run on Android x86 ICS:
#androidvncserver_x86&
sh androidvncserver_x86: not found
Any ideas? The permissions are 755 and I'm running it as root...
Thank you all for a great bloog!
Original comment by evgeny.b...@mobilepointofsales.com
on 24 Dec 2012 at 10:23
Guys! My appologies for my previous commet :) I for got to run it correctly:
./droidvnc_x86
Now it works!!!! Thank you!!
Original comment by evgeny.b...@mobilepointofsales.com
on 24 Dec 2012 at 10:27
[deleted comment]
Many thanks to sakurai....@gmail.com! It works!
P.S. Some links have been changed so be careful.
Original comment by hebo....@gmail.com
on 25 Sep 2013 at 7:19
Wonderful workaround for x86. I am glad I ended up here.
I am trying to implement following scenario :-
I have made my ubuntu system as server and I am running genymotion in it.
I want some other computer(client) to access this genymotion device through VNC
implementation. The client will just open browser and can access the genymotion
device.
Client-side implementation:-I can use noVNC(with combination of HTML5 and
canvas) in browser.
I have 2 questions :
1 - Is this VNC client-server implementation possible ?
2 - Will the above workaround of making VNC server work with higher versions of
genymotion devices (mainly Android 4.3+)??
Any suggestions and idea are appreciated. Thanks .
Original comment by shivang....@gmail.com
on 5 Jul 2014 at 1:01
Original issue reported on code.google.com by
puneet.y...@gmail.com
on 6 Jun 2010 at 6:58