楼主,你好 我的android源码是2.2 froyo 我在external/clearsilver/cgi/Android.mk, external/clearsilver/java-jni/Android.mk, external/clearsilver/util/Android.mk, external/clearsilver/cs/Android.mk. 这四个Android.mk里面找不到下面的代码: # This forces a 64-bit build for Java6 ifneq ($(filter 1.6%,$(java_version)),) LOCAL_CFLAGS += -m64 LOCAL_LDFLAGS += -m64 endif楼主有可以指点一下吗?
我的解决方法 1>修改/build/core/main.mk中关于BUILD_OS及JAVA VERSION的条件判断检查----最开始我的JDK是JDK1.5.0_21 2>修改下面4个文件----去掉m64的相关项external/clearsilver/cgi/Android.mk, external/clearsilver/java-jni/Android.mk, external/clearsilver/util/Android.mk, external/clearsilver/cs/Android.mk. 3>plainsocketimpl.java:233:method does not override a method from its superclass 将JDK换成JDK1.6.0_22------记得导出JAVA_HOME改变PATH 4>之所以用JDK1.5是因为JDK1.6编译doc会出问题,我只是听说
补充一下,是用Vmware安装的Ubuntu 10.04,JDK6
最新拉的代码,说不能用JDK1.5了
请检查下下面的库吧
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
装了gcc-multilib,然后make,原来的错误没有了,但出现如下错误
/usr/bin/ld: cannot find -lstdc++再g++-multilib后make,又变为如下错误
/usr/bin/ld: cannot find -lz--------------------------------------------------------------------------
上面要装的库,有几个用apt-get找不到:
E: Couldn't find package lib32z-dev
E: Couldn't find package lib32readlin5-dev
E: Couldn't find package ia32-libs
E: Couldn't find package libc6-dev-i386
sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev Ubuntu Linux (64-bit x86):
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
言归正传,你的OS是x86,为什么会遇到__x86_64__呢?从源码入可以找到答案,查看platform/external/clearsilver.git 上的一个修改:Fix 64-bit clearsilver shared library issue:http://android.git.kernel.org/?p=platform/external/clearsilver.git;a=commit;h=d36910a8110d8377b22301274d2b5131a732a72b这次修改当中,Android.mk 做了如下修改:+# This forces a 64-bit build for Java6
+ifneq ($(filter 1.6%,$(java_version)),)
+ LOCAL_CFLAGS += -m64
+ LOCAL_LDFLAGS += -m64
+endif当发现你使用Java6时,它将强制使用64-bit,这大概是__x86_64__出现的原因。要解决gnu/stubs-64.h: No such file or directory,需:
apt-get install libc6-dev-amd64要解决/usr/bin/ld: cannot find -lstdc++,需:
apt-get install g++-multilib lib64stdc++6 要解决/usr/bin/ld: cannot find -lz,需
apt-get install lib64z1-dev可参考http://www.poemcode.net/2010/07/android-stubs-64/
分支结构:http://topic.csdn.net/u/20100629/19/c9440c0e-573f-407e-ad8b-6e241e3f77f2.html
其中: “android-...”、“android-cts-...”、“android-sdk-...”、“android-sdk-tools-...”各代表什么?再次感谢各位~~~~
http://topic.csdn.net/u/20100629/00/43768adb-3e4f-40a8-84b6-bbb89f7286cb.html
# This forces a 64-bit build for Java6
ifneq ($(filter 1.6%,$(java_version)),)
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64
endif
我的android源码是2.2 froyo
我在external/clearsilver/cgi/Android.mk, external/clearsilver/java-jni/Android.mk, external/clearsilver/util/Android.mk, external/clearsilver/cs/Android.mk.
这四个Android.mk里面找不到下面的代码:
# This forces a 64-bit build for Java6
ifneq ($(filter 1.6%,$(java_version)),)
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64
endif楼主有可以指点一下吗?
3>plainsocketimpl.java:233:method does not override a method from its superclass 将JDK换成JDK1.6.0_22------记得导出JAVA_HOME改变PATH
4>之所以用JDK1.5是因为JDK1.6编译doc会出问题,我只是听说