热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

编译安卓2.3错误遇见的错误及解决办法

Error: frameworks/base/include/utils/KeyedVector.h:193:31: note: declarations in dependent base ‘an
Error:



frameworks/base/include/utils/KeyedVector.h:193:31: note: declarations in dependent base ‘android::KeyedVector >’ are not found by unqualified lookup

frameworks/base/include/utils/KeyedVector.h:193:31: note: use ‘this->indexOfKey’ instead

make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/AaptAssets.o] Error 1





Fix:

vi frameworks/base/tools/aapt/Android.mk



Add '-fpermissive' to line 31:

LOCAL_CFLAGS += -Wno-format-y2k -fpermissive





Error:

frameworks/base/include/utils/KeyedVector.h:193:31: error: ‘indexOfKey’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]

frameworks/base/include/utils/KeyedVector.h:193:31: note: declarations in dependent base ‘android::KeyedVector >’ are not found by unqualified lookup

frameworks/base/include/utils/KeyedVector.h:193:31: note: use ‘this->indexOfKey’ instead

make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/AssetManager.o] Error 1



Fix:

vi frameworks/base/libs/utils/Android.mk



Add '-fpermissive' to line 60:

LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive





Question:

/usr/bin/ld: cannot find -lz

collect2: ld returned 1 exit status

make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1



Answer:



sudo apt-get install lib32z1-dev





Error:

external/srec/tools/thirdparty/OpenFst/fst/lib/cache.h:136:11: note: use ‘this->SetState’ instead

make: *** [out/host/linux-x86/obj/EXECUTABLES/grxmlcompile_intermediates/grxmlcompile.o] Error 1



Fix:

cd external/srec

wget "https://github.com/CyanogenMod/android_external_srec/commit/4d7ae7b79eda47e489669fbbe1f91ec501d42fb2.diff"

patch -p1 <4d7ae7b79eda47e489669fbbe1f91ec501d42fb2.diff

rm -f 4d7ae7b79eda47e489669fbbe1f91ec501d42fb2.diff

cd ../..





Question:

/usr/bin/ld: cannot find -lncurses

collect2: ld returned 1 exit status

make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1



Answer:



sudo apt-get install lib32ncurses5-dev







make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libdvm_intermediates/native/dalvik_system_Zygote.



 #include "Dalvik.h"

 #include "native/InternalNativePriv.h"

&#43;#include







一个问题是有一处少了一个头文件&#xff0c;原因是zlib1g-dev有个头文件修改了路径&#xff0c;及zconf.h放到了/usr/include/x86_64-linux-gnu/&#xff0c;所以将其拷贝到/usr/include/下即可了



In file included from system/extras/ext4_utils/output_file.c:30:

/usr/include/zlib.h:34: fatal error: zconf.h: 没有那个文件或目录

compilation terminated.







out/host/linux-x86/obj/EXECUTABLES/mksnapshot_intermediates/src/accessors.o]错误1

在用Ubuntu 12.10 64bit系统编译android 2.3代码时&#xff0c;一直都编译不过去&#xff0c;不知到什么原因&#xff0c;后来发现好象是因为gcc和g&#43;&#43;为4.7与android 2.3 code 不兼容&#xff0c;因此需要为g&#43;&#43; 和 gcc 降级&#xff0c;同时降为4.4.7。 g&#43;&#43; 和 gcc版本必须一致&#xff0c;否则会报错。

sudo apt-get install gcc-4.4

sudo apt-get install g&#43;&#43;-4.4

然后执行一下命令进行版本切换&#xff0c;

切换gcc:

  sudo rm -f /usr/bin/gcc     sudo rm -f /usr/bin/g&#43;&#43;     

  sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc     sudo ln -s /usr/bin/g&#43;&#43;-4.4 /usr/bin/g&#43;&#43; 

  然后使用 gcc -v 检查版本。

切换g&#43;&#43; 步骤一样。

然后继续编译&#xff0c;期间可能还发生g&#43;&#43; selected multilib &#39;32&#39; not installed的错误&#xff0c;需要&#xff1a;

sudo apt-get install g&#43;&#43;-4.4-multilib

然后继续编译





apt-get install gcc-4.4 g&#43;&#43;-4.4 g&#43;&#43;-4.4-multilib

mv g&#43;&#43; g&#43;&#43;.bak

 mv g&#43;&#43; g&#43;&#43;.bak

ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

ln -s /usr/bin/g&#43;&#43;-4.4 /usr/bin/g&#43;&#43;







Can&#39;t locate Switch.pm in &#64;INC (you may need to install the Switch module) (&#64;INC



 contains: external/webkit/WebCore/bindings/scripts /etc/perl /usr/local/lib/per

l/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/p

erl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at external/webkit/Web

Core/dom/make_names.pl line 38.

BEGIN failed--compilation aborted at external/webkit/WebCore/dom/make_names.pl l

ine 38.



sudo apt-get install libswitch-perl

推荐阅读
author-avatar
稻米屋321
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有