Original URL: http://blog.csdn.net/lmhgen/article/details/7326083
Error 1:
Note: External/protobuf/java/src/main/java/com/google/protobuf/generatedmessagelite.java is using an unchecked or unsafe operation.
Note: To learn more, recompile with-xlint:unchecked.
Note: External/protobuf/java/src/main/java/com/google/protobuf/micro/codedinputstreammicro.java is using an unchecked or unsafe operation.
Note: To learn more, recompile with-xlint:unchecked.
Generated: (Out/target/product/generic/android-info.txt)
Host C:ACP <= build/tools/acp/acp.c
Host C + +: Libhost <= build/libs/host/pseudolocalize.cpp
Host C:libhost <= build/libs/host/copyfile.c
< command line >:0:0: Warning: "_fortify_source" redefined [enabled by default]
<built-in>:0:0: Note: This is the previously defined location
< command line >:0:0: Warning: "_fortify_source" redefined [enabled by default]
<built-in>:0:0: Note: This is the previously defined location
In file included from build/libs/host/copyfile.c:11:0:
BUILD/LIBS/HOST/INCLUDE/HOST/COPYFILE.H:5:22: Fatal error: sys/stat.h: no file or directory
Compile interrupts.
In file included from/usr/include/stdlib.h:25:0,
From Build/tools/acp/acp.c:11:
/USR/INCLUDE/FEATURES.H:323:26: Fatal error: bits/predefs.h: no file or directory
Compile interrupts.
Make: * * [OUT/HOST/LINUX-X86/OBJ/STATIC_LIBRARIES/LIBHOST_INTERMEDIATES/COPYFILE.O] Error 1
Make: * * is waiting for unfinished tasks ....
Make: * * [OUT/HOST/LINUX-X86/OBJ/EXECUTABLES/ACP_INTERMEDIATES/ACP.O] Error 1
< command line >:0:0: Warning: "_fortify_source" redefined [enabled by default]
<built-in>:0:0: Note: This is the previously defined location
In file included from/usr/include/c++/4.6/x86_64-linux-gnu/32/bits/os_defines.h:40:0,
from/usr/include/c++/4.6/x86_64-linux-gnu/32/bits/c++config.h:392,
FROM/USR/INCLUDE/C++/4.6/STRING:40,
From Build/libs/host/include/host/pseudolocalize.h:4,
From Build/libs/host/pseudolocalize.cpp:1:
/USR/INCLUDE/FEATURES.H:323:26: Fatal error: bits/predefs.h: no file or directory
Compile interrupts.
Make: * * [OUT/HOST/LINUX-X86/OBJ/STATIC_LIBRARIES/LIBHOST_INTERMEDIATES/PSEUDOLOCALIZE.O] Error 1
Note: Some of the input files use or overwrite outdated APIs.
Note: To learn more, recompile with-xlint:deprecation.
Note: Some input files use an unchecked or unsafe operation.
Note: To learn more, recompile with-xlint:unchecked.
Workaround: sudo apt-get install libc6-dev-i386
Http://www.blogjava.net/ZircoN/archive/2011/11/13/363452.html
Error 2:
Frameworks/base/libs/utils/refbase.cpp: in member function ' void Android::refbase::weakref_type::trackme (bool, BOOL) ':
FRAMEWORKS/BASE/LIBS/UTILS/REFBASE.CPP:483:67: Error: ' const Android::refbase::weakref_impl ' as ' void Android::RefBase ' :: Weakref_impl::trackme (BOOL, bool) ' ' This ' argument is discarded when the type is qualified [-fpermissive]
Make: * * [OUT/HOST/LINUX-X86/OBJ/STATIC_LIBRARIES/LIBUTILS_INTERMEDIATES/REFBASE.O] Error 1
Make: * * is waiting for unfinished tasks ....
Frameworks/base/libs/utils/resourcetypes.cpp: in member function ' void android::restable::p rint (BOOL) const ':
FRAMEWORKS/BASE/LIBS/UTILS/RESOURCETYPES.CPP:4369:84: Warning: Converting an integer to a different size pointer [-wint-to-pointer-cast]
FRAMEWORKS/BASE/LIBS/UTILS/RESOURCETYPES.CPP:4375:43: Warning: Converting an integer to a different size pointer [-wint-to-pointer-cast]
Refer to the solution on the Internet:
$ gedit Frameworks/base/libs/utils/android.mk
Put the following line
Local_cflags + =-dlibutils_native=1 $ (tool_cflags)
Change into
Local_cflags + =-dlibutils_native=1 $ (tool_cflags) –fpermissive
Http://www.blogjava.net/ZircoN/archive/2011/11/13/363452.html
The problem has not been solved, but a new error has arisen:
Host C + +: Libutils <= frameworks/base/libs/utils/asset.cpp
G++:–fpermissive: No file or directory
Note: Some of the input files use or overwrite outdated APIs.
Note: To learn more, recompile with-xlint:deprecation.
Note: Some input files use an unchecked or unsafe operation.
Note: To learn more, recompile with-xlint:unchecked.
Make: * * [OUT/HOST/LINUX-X86/OBJ/STATIC_LIBRARIES/LIBUTILS_INTERMEDIATES/ASSET.O] Error 1
Make: * * * Deleting file "OUT/HOST/LINUX-X86/OBJ/STATIC_LIBRARIES/LIBUTILS_INTERMEDIATES/ASSET.O"
Make: * * is waiting for unfinished tasks ....
This error is mainly due to the GCC version being too high: The Final Solution is:
(11.10 of GCC versions are too high
http://hi.baidu.com/designhouse/blog/item/fec5cdbf8d6a231618d81fc1.html)
The GCC version of Ubuntu 11.10 is 4.6.1, the version is too high, error compiling Android, to change the GCC version to 4.4.3.
The GCC-V command allows you to discover the GCC library under the/usr/lib/gcc/i686-linux-gnu directory, which has various versions of the GCC libraries currently supported by the system. There are no 4.4 directories in this directory before GCC 4.4 is installed, and after installing GCC 4.4 The directory will be 4.4 more, and there are various corresponding library files in the 4.4 directory.
The best way to install GCC 4.4 under the Ubuntu 32bit system is to use only the following two commands, no additional commands are required, or compile-time errors may occur.
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
After loading in the/usr/bin directory
$ ls-l gcc*
lrwxrwxrwx 1 root root 7 2011-10-29 09:11 gcc--gcc-4.6
-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4
-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6
To find that GCC is linked to gcc-4.6, you need to change it to link to gcc-4.4:
sudo mv gcc Gcc.bak
sudo ln-s gcc-4.4 gcc
$ls-L g++*
Sudo-s
MV g++-4.4 g++
g++-V
Error 3:
g++: g++: Selected Multilib ' + ' not installed
Selected Multilib ' not installed
Make: * * [OUT/HOST/LINUX-X86/OBJ/EXECUTABLES/AIDL_INTERMEDIATES/AIDL] Error 1
Make: * * is waiting for unfinished tasks ....
Make: * * [out/host/linux-x86/obj/lib/libesr_portable.so] Error 1
Workaround:
Input: sudo apt-get install Gcc-multilib
New issues after sudo apt-get install G++-multilib:
g++: g++: Host Sharedlib:libfst (out/host/linux-x86/obj/lib/libfst.so)
g++: Selected Multilib ' not installedselected multilib ' + ' not installed
Selected Multilib ' not installed
Make: * * [OUT/HOST/LINUX-X86/OBJ/EXECUTABLES/AIDL_INTERMEDIATES/AIDL] Error 1
Make: * * is waiting for unfinished tasks ....
Make: * * [out/host/linux-x86/obj/lib/libesr_portable.so] Error 1
Make: * * [out/host/linux-x86/obj/lib/libfst.so] Error 1
Workaround
sudo apt-get install Libc6-dev ia32-libs lib32ncurses5-dev x11proto-core-dev libx11-dev Lib32readline-gplv2-dev Lib32z-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils
sudo apt-get install G++-4.4-multilib
Error 4:
Could not load ' clearsilver-jni '
Java.library.path = Out/host/linux-x86/lib
Could not load ' clearsilver-jni '
Java.library.path = Out/host/linux-x86/lib
Make: * * [Out/target/common/docs/api-stubs-timestamp] Error 45
Make: * * is waiting for unfinished tasks ....
Make: * * [Out/target/common/docs/doc-comment-check-timestamp] Error 45
Workaround:
This is because Clearsilver uses 64-bit compilation when it detects the use of Java JDK 6 at compile time. To avoid this error, you need to modify the following four files:
* EXTERNAL/CLEARSILVER/CGI/ANDROID.MK
* EXTERNAL/CLEARSILVER/JAVA-JNI/ANDROID.MK
* EXTERNAL/CLEARSILVER/UTIL/ANDROID.MK
* EXTERNAL/CLEARSILVER/CS/ANDROID.MK
Note the following statements in the four makefile:
# This forces a 64-bit build for JAVA6
# Comment by Easwy
# Local_cflags + =-m64
# Local_ldflags + =-m64
Then execute make clean in the External/clearsilver directory, then go back to the project root and continue with make.
When the compilation is complete, the resulting image file is placed in the Out/target/product/generic directory.
Gedit/root/.bashrc
Export Path=/root/android/mydroid/out/host/linux-x86/bin: $PATH
Export Android_product_out=/root/android/mydroid/out/target/product/generic
Export Android_swt=/root/android/mydroid/out/host/linux-x86/framework
Run under the out/target/product/generic/directory under the source directory
Emulator-image system.img-data userdata.img-ramdisk ramdisk.img command
Error 5:
Emulator
Nand:could not write file system.img, file exists
"Go" ubuntu11.10 64bit environment Android compilation error