一、Ubuntu编译Android4.4.4

1.平台:realtek RTD2984(Android4.4.4)

  第一次安装了ubuntu14.04.5,官网下载的iso,官网下的jar,编译android4.x需要安装jdk6,更高的版本会有问题,baidu到很多搭建环境的步骤,这个不多说,在win7下使用EasyBCD引导安装的ubuntu,1TB硬盘果断装了双系统,事实证明没删掉win7是个多么明智的决定,在jdk方面,android4.4比4.0要多配置一个javap,其他都一样

 update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.6.0_43/bin/java"
update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.6.0_43/bin/javac"
update-alternatives --install "/usr/bin/javadoc" "javadoc" "/usr/lib/jvm/jdk1.6.0_43/bin/javadoc"
update-alternatives --install "/usr/lib/mozilla/plugins/libjavaplugin.so" "mozilla-javaplugin.so" "/usr/lib/jvm/jdk1.6.0_43/jre/lib/amd64/libnpjp2.so"
update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.6.0_43/bin/javaws"
update-alternatives --install "/usr/bin/javap" "javap" "/usr/lib/jvm/jdk1.6.0_43/bin/javap"
update-alternatives --install "/usr/bin/jar" "jar" "/usr/lib/jvm/jdk1.6.0_43/bin/jar" # Choose the java you installed as default
update-alternatives --config java
update-alternatives --config javac
update-alternatives --config javadoc
update-alternatives --config mozilla-javaplugin.so
update-alternatives --config javaws
update-alternatives --config javap
update-alternatives --config jar

  接下来就是安装库文件了,库文件不能少,不然会报错缺少xxx中断编译,这个比较好处理,缺啥apt-get啥,但是还是在事先就全部安装好,这编译一次4.4也不容易,好几个小时呢

sudo apt-get install git git-core gnupg flex bison gperf build-essential
sudo apt-get install zip curl libc6-dev x11proto-core-dev tofrodos sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 sudo apt-get install python-markdown libxml2-utils xsltproc zlib1g-dev:i386 sudo apt-get install lib32z1 dos2unix gcc g++ g++-multilib gcc-multilib sudo apt-get install lib32ncurses5 lib32ncurses5-dev libncurses5-dev libncursesw5-dev lib32ncursesw5-dev

  注:mingw32 libgl1-mesa-glx-lts-quantal:i386 libgl1-mesa-dev-lts-quantal 这三个包我在安装的时候无法定位,不影响使用

  并且,gcc与g++请再次安装自己需要的版本

  例如gcc4.7(编译Android4.4)

sudo apt-get install gcc-4.7 g++-4.7 g++-4.7-multilib gcc-4.7-multilib

  若出现无法定位的错误,如在Ubuntu16.04.02上安装gcc-4.4.7(编译Android4.0.3),添加源,然后再次安装gcc版本即可

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update

  但是!!由于我是编译公司已有的源码,并不是原生系统源码,报错了,第一次是有个文件没有自动生成!!一个REVISION的变量undefined,于是找到报错的文件一个一个defined,但是!!!师父的电脑能编译通过,自动生成的ver.h文件里面包含了REVISION变量的定义,这就有意思了,于是跑到到师父电脑上一查jdk,ubuntu,gcc,g++等版本,jdk有小版本的不同,但这个应该不是关键,ubuntu都是14.04的,gcc/g++都是4.8.4,也就是ubuntu14.04自带的编译器,然后还有交叉编译器,这个在源码中包含了arm-linux-gcc,版本肯定是一样的,后来碰到有大神说是gcc的版本太高了,可问题是师父的gcc也是4.8啊为什么就不报错!!!心塞塞。。。改完了这个undefined error,编译继续,然后碰到了更多的undefined。。。

  比如plural-exp.h文件中的# define PLURAL_PARSE __gettextparse报conflicting types错误

 In file included from ../../../binutils-gdb/intl/plural.y:::
../../../binutils-gdb/intl/plural-exp.h::: error: conflicting types for
'libintl_gettextparse'
# define PLURAL_PARSE libintl_gettextparse
^
../../../binutils-gdb/intl/plural.y::: note: in expansion of macro
'PLURAL_PARSE'
# define __gettextparse PLURAL_PARSE
^
plural.c::: note: in expansion of macro '__gettextparse'
int __gettextparse (void);
^
../../../binutils-gdb/intl/plural-exp.h::: note: previous declaration
of 'libintl_gettextparse' was here
# define PLURAL_PARSE libintl_gettextparse
^
../../../binutils-gdb/intl/plural-exp.h::: note: in expansion of macro
'PLURAL_PARSE'
extern int PLURAL_PARSE PARAMS ((void *arg));
^
../../../binutils-gdb/intl/plural-exp.h::: error: conflicting types for
'libintl_gettextparse'
# define PLURAL_PARSE libintl_gettextparse
^
../../../binutils-gdb/intl/plural.y::: note: in expansion of macro
'PLURAL_PARSE'
# define __gettextparse PLURAL_PARSE
^
plural.c::: note: in expansion of macro '__gettextparse'
#define yyparse __gettextparse
^
plural.c::: note: in expansion of macro 'yyparse'
yyparse (void)
^
../../../binutils-gdb/intl/plural-exp.h::: note: previous declaration
of 'libintl_gettextparse' was here
# define PLURAL_PARSE libintl_gettextparse
^
../../../binutils-gdb/intl/plural-exp.h::: note: in expansion of macro
'PLURAL_PARSE'
extern int PLURAL_PARSE PARAMS ((void *arg));
^
plural.c: In function 'libintl_gettextparse':
plural.c::: error: too few arguments to function '__gettextlex'
yychar = yylex (&yylval);
^
plural.c::: note: declared here
#define yylex __gettextlex
^
../../../binutils-gdb/intl/plural.y::: note: in expansion of macro
'yylex'
static int yylex PARAMS ((YYSTYPE *lval, const char **pexp));
^
../../../binutils-gdb/intl/plural.y::: error: 'arg' undeclared (first
use in this function)
((struct parse_args *) arg)->res = $;
^

  对没错,就是下面这个链接的错误!!!

http://stackoverflow.com/questions/33562051/conflicting-types-for-libintl-gettextparse

  网上碰到这个错误的还真不多,可能是我运气真的太好,网上的解决方法是bison版本过低,升级到3.0就好了,屁啊。我的bison版本就是3.0.2,师父的环境也是3.0.2,自己找了好久不了了之。。。

  于是,我默默的格式化了ubuntu系统的所在磁盘,这一删不得了,因为ubuntu与windows双系统是ubuntu在进行开机引导的,所以很正常的我开不了机了23333,没关系,我还可以进U盘的PE系统,咳咳,那个由于我是四五年前的时候给U盘做的启动盘了,又很正常的PE系统检测不到公司配的新电脑的硬盘!!这我一下子蒙圈了,网上一搜,原来是U盘PE系统太老了,还好!!我自己电脑还在旁边,于是又下个laomaotao啥的搞个最新的PE,终于能检测到硬盘啦,那然后是用U盘直接装Ubuntu呢还是继续win7引导,想想就我这运气还是继续靠win7吧,用分区工具重写了grub,这样又能正常引导开机啦

  以前在学校的时候自己有个arm9的开发版,编过android4.0的系统,编译环境还是ubuntu12.04,于是这次上官网下了个ubuntu12.04.5,烧写完毕,重启,哎呀我去又出大事了!!ubuntu开不了机了。报了个错网上一搜,说是Thinkpad的bios的设置,不兼容的问题,具体错误不太记得了,但是!我还是坚持着又烧写了一次ubuntu12.04.2,注意这次是2!!!然后神奇的是居然进到桌面了,难道是自己在配置ubuntu12.04.5的时候出了岔子??哎不管了,2与5又有多大的差别呢,又不是14.04,用了会14.04还是觉得14.04好看很多啊!!!(谁让我是个看颜值的程序猿呢

  这次用ubuntu12.04.2应该没啥问题了吧,源码download下来,环境轻车熟路的搭建好,开始编译!恩,REVISION undefined依然遇到,改过继续,这次碰到更奇葩的error了!!baidu/google都没几个人碰到的啊

  compile_et: Couldn*t find compile_et*s template files

  搜过来搜过去就只有这哥们的帖子( http://tieba.baidu.com/p/3199034286按照回帖的做了,这库文件早就是最新的了,所以没用,没办法,只有看Makefile文件了,没有找到compile_et 的模板文件,是报错的prof_err.et还是啥??于是用命令compile_et prof_err.et 这个没报错啊,于是又编译一次,还是错了,看Makefile文件,哦!原来是compile_et --buildtree prof_err.et 这个命令,那确实,会报错,卡了好久,有次莫名其妙的vi了一下compile_et这个工具,工具???md,原来是shell脚本啊,只读的shell脚本啊,又是自动生成的shell脚本啊!没有后缀的compile_et我tm还以为是像windows里的exe工具一样呢,真是玩windows玩入魔了,这该死的定式思维,然后一个大写的绝对路径在里面躺着啊!!这路径还是师父的路径啊!!!这个文件就压根没有自动生成啊!!!这把我坑的我也不多说什么了,改掉!!!!编译终于通过了!!测试一下,没错!终于跑起来了!!开心啊,然后开开心心的回家了,第二天......

  吃完早餐,开心的打开电脑,然后,1分钟过去了..5分钟过去了...10分钟过去了......ubuntu卡在了用户登录之前!!!ubuntu死掉了!!!我去!!!为什么!!!搞了个把小时没用,各种方法试过,没用!!决定重装ubuntu,师父一脸惊呆的问我,你又准备重装啊?我:......(泪  (这个问题是由于在64位系统上安装了32位的库,而12.04安装32位兼容包有问题。(补充:在Ubuntu14.04和16.04上貌似不会)

  然后心里还是默默的挂念着ubuntu14.04,然后又装了14.04,真是做死,豪无疑问又碰到了# define PLURAL_PARSE __gettextparse报conflicting types的错误,装的太多次都忘记14.04是这个错误了2333,真是为自己捉急!!无奈,为了节省时间只好装回12.04.2...把上次碰到的错误都解决掉,这次成功进入了系统!!!

--------------------------------20161028------update-----------

  Ubuntu16.04.1编译这个项目的时候也碰到这个问题plural-exp.h:94:23: error: conflicting types for 'libintl_gettextparse'

-------------------------------20161031-------update-------------

  终于把上述问题(plural.c编译错误)解决啦!!!开心ing....

  果然是bison版本的问题,ubuntu14.04.5执行apt-get install bison得到版本是3.0.2;ubuntu16.04.1执行apt-get install bison得到版本是3.0.4

  然而bison3.0才会报这个错误!!!!!!因为今天找师父要了plural.c这个文件(注意在他电脑上编译是可以通过的,而且这个文件是自动生成的,然后第一句就是这么写着。

 /* A Bison parser, made by GNU Bison 2.7.12-4996.  */

 /* Bison implementation for Yacc-like parsers in C

       Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.

  bison版本是2.7.1啊啊啊啊啊啊!!!于是我把自己bison版本降到了2.7.1,然后!!!然后!!!成功了!!接着就烧写,开机,启动,进入桌面,完美!!

  bison版本变更请移步:http://www.cnblogs.com/pngcui/p/6014896.html

-------------------------------end -----------------------------------

总结:经过这么长时间的折腾,以后在也不想再在环境这个问题上搞来搞去了。。。烦人!!系统的文件自己不知道的决不再乱动,万一就开不了机了。。。

这里附上一键搭建Android4.4编译环境的脚本,解压之后使用脚本

sudo ./auto_install

请务必使用root权限执行,因为压缩包里包含jdk1.6.0_43.bin文件,执行脚本会自动mv到/usr/lib/jvm/下,这里需要root权限才能执行

  传送门:http://download.csdn.net/detail/u012062785/9891147

***************************我是分割线********************************************

2.平台:Mstar648(Android4.4.4)

--------------------------------------------------20161220 update -----------------------------------

  1.后来在编译msd6a648的时候报了如下错误

bash: ./bin/arm-none-linux-gnueabi-gcc: No such file or directory

  查环境变量的时候发现该路径存在,且该文件也存在!

  使用命令arm-none-linux-gnueabi-gcc -v 就会报如上错误,经baidu后发现是32位库兼容性问题

  可安装如下软件解决问题

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0

  2.编译kernel make menuconfig时,报如下错误

./mpatch_gen.sh
ConfigName=mpatch.config HeaderName=mpatch_macro.h KconfigName=mpatch_Kconfig DocPath=mstar2/mpatch/doc/
Process mpatch Done...
./gen_cl.sh
fatal: Not a git repository (or any of the parent directories): .git
HOSTLD scripts/kconfig/mconf
/usr/bin/ld: cannot find -lncursesw
collect2: error: ld returned 1 exit status
make[1]: *** [scripts/kconfig/mconf] Error 1
make: *** [menuconfig] Error 2

  使用ln -s创建链接指向x86_64-linux-gnu/libcursesw.so 无用!!!

  可是64位ubuntu已安装了libncurses5-dev,libncursesw5-dev,lib32ncurses5-dev,突然一想,是不是还有lib32ncursesw5-dev需要安装阿?!!!!!遂安装之

sudo apt-get install lib32ncursesw5-dev

  我去,居然成了!,遂记录之,继而感叹真tm坑爹。

----------------------------------------------20170208----------------------------------------------------------

  编译Android报错

including ./vendor/mstar/supernova/projects/Android.mk ...
Export includes file: external/bluetooth/bluedroid/hci/Android.mk -- out/target/product/generic/obj/SHARED_LIBRARIES/libbt-hci_intermediates/export_includes
Export includes file: external/bluetooth/bluedroid/utils/Android.mk -- out/target/product/generic/obj/SHARED_LIBRARIES/libbt-utils_intermediates/export_includes
Export includes file: external/bluetooth/bluedroid/gki/Android.mk -- out/target/product/generic/obj/STATIC_LIBRARIES/libbt-brcm_gki_intermediates/export_includes
Export includes file: external/bluetooth/bluedroid/bta/Android.mk -- out/target/product/generic/obj/STATIC_LIBRARIES/libbt-brcm_bta_intermediates/export_includes
Export includes file: external/bluetooth/bluedroid/stack/Android.mk -- out/target/product/generic/obj/STATIC_LIBRARIES/libbt-brcm_stack_intermediates/export_includes
Import includes file: out/target/product/generic/obj/SHARED_LIBRARIES/bluetooth.default_intermediates/import_includes
target thumb C++: bluetooth.default <= external/bluetooth/bluedroid/main/../btif/src/btif_config_util.cpp
target thumb C: bluetooth.default <= external/bluetooth/bluedroid/main/../btif/src/bluetooth.c
external/bluetooth/bluedroid/main/../btif/src/bluetooth.c:415:1: error: missing initializer [-Werror=missing-field-initializers]
external/bluetooth/bluedroid/main/../btif/src/bluetooth.c:415:1: error: (near initialization for 'bluetoothInterface.enter_headless_mode') [-Werror=missing-field-initializers]
cc1: all warnings being treated as errors
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/bluetooth.default_intermediates/../btif/src/bluetooth.o] 错误 1

  最后找到原因的我眼泪掉下来....

  居然是因为在编译android的之前没有lunch!!!我的天,还是要细心细心

二、Ubuntu16.04.1编译Android5.0.1

1.平台:Mstar828(Android5.0.1)

  Android5.x以上需要使用openjdk7,没有tar,只有deb,只有各种依赖,宝宝心里苦啊。。。折腾一上午决定从ubuntu12.04.4升级到16.04.1,这次又会碰到什么奇葩问题呢?让我们敬请期待吧,咳咳,Android5.0的编译与Android4.4的编译环境只有jdk不一样,其他是一样的,gcc采用4.7即可。

  openjdk7安装方法(由于16.04去掉了openjdk的源,所以加上即可)

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk--jdk

---------------------------------------------20160928----------------------------------------第一个error

  Uboot编译

 /bin/sh: : Syntax error: Missing '))'
Makefile:: recipe for target 'out/chunk_header.bin' failed

  解决:sudo dpkg-reconfigure dash 选择no
  原因:http://www.minroad.com/?p=543

-------------------------------------------20160928----------------------------------------第二个

  Android 编译:

 /home/pngcui/MSD6A828/l--/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.-4.6/bin/../lib/gcc/x86_64-linux/4.6/../../../../x86_64-linux/bin/ld: error: out/host/linux-x86/obj32/STATIC_LIBRARIES/libcompiler_rt_intermediates/libcompiler_rt.a(eprintf.o): unsupported reloc  against global symbol stderr
external/compiler-rt/lib/builtins/eprintf.c:: error: unsupported reloc
collect2: ld returned exit status
build/core/host_shared_library_internal.mk:: recipe for target 'out/host/linux-x86/obj32/lib/libcompiler_rt.so' failed
make: *** [out/host/linux-x86/obj32/lib/libcompiler_rt.so] Error
make: *** 正在等待未完成的任务....
host C++: dalvikvm_32 <= art/dalvikvm/dalvikvm.cc #### make failed to build some targets (:: (hh:mm:ss)) ####

  解决:
  1.art/build/Android.common_build.mk中把true改为false

# Host.
ART_HOST_CLANG := false
ifneq ($(WITHOUT_HOST_CLANG),false)    #ture--->false
# By default, host builds use clang for better warnings.
ART_HOST_CLANG := ture
endif

  2.执行命令,更改链接指向

ln -sf /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.-4.6/x86_64-linux/bin/ld

  原因:http://forum.xda-developers.com/chef-central/android/guide-how-to-setup-ubuntu-16-04-lts-t3363669/page2    的15楼  && 19楼

----------------------------------------------20160929------------------------------------

  Android编译:

 host C++: dex2oat <= art/dex2oat/dex2oat.cc
In file included from art/runtime/atomic.h::,
from art/runtime/base/mutex.h:,
from art/runtime/utils.h:,
from art/runtime/base/histogram.h:,
from art/runtime/base/timing_logger.h:,
from art/dex2oat/dex2oat.cc::
external/libcxx/include/atomic::: error: #error <atomic> is not implemented
In file included from art/runtime/base/mutex.h::,
from art/runtime/utils.h:,
from art/runtime/base/histogram.h:,
from art/runtime/base/timing_logger.h:,
from art/dex2oat/dex2oat.cc::
art/runtime/atomic.h: In static member function 'static void art::QuasiAtomic::ThreadFenceAcquire()':
art/runtime/atomic.h::: error: 'atomic_thread_fence' is not a member of 'std'
art/runtime/atomic.h::: error: 'memory_order_acquire' is not a member of 'std'
art/runtime/atomic.h: In static member function 'static void art::QuasiAtomic::ThreadFenceRelease()':
art/runtime/atomic.h::: error: 'atomic_thread_fence' is not a member of 'std'
...
...
cc1plus: all warnings being treated as errors build/core/binary.mk:: recipe for target 'out/host/linux-x86/obj32/EXECUTABLES/dex2oat_intermediates/dex2oat.o' failed
make: *** [out/host/linux-x86/obj32/EXECUTABLES/dex2oat_intermediates/dex2oat.o] Error #### make failed to build some targets (: (mm:ss)) ####

  这个问题只怪自己曾经在搭4.4的环境的时候掉进了太多的坑,真是一点也不想动gcc等东西,所以虽然看到官方推荐使用GCC4.7.2,但依旧没有改(ubuntu16.04默认gcc5.4),在网上搜cc1plus: all warnings being treated as errors这个错误,给出的解决方案是注释掉Makefile文件中的-Werror指令,意思是不把warning当error这又害的我整了好几个小时去改Makefile文件中的-Werror指令,最后还是安装了gcc4.7,但是还是报错,后来就把所有的Makefile文件中的-Werror都注释掉了,坑爹啊!实际情况并不是这样子的啊!!

  解决:更新gcc/g++版本为4.7.4,编译成功。(若已经使用高版本gcc编译了一次,请重新download一份源码编译)
  原因:gcc版本过高,可能对C++的支持不好

  Android5.0编译我用的单线程花了我8个半小时。。。。。。。。以后还是用多线程编比较好,虽然并不稳定

 #### make completed successfully (:: (hh:mm:ss)) ####

---------------------------------------------------20160930-------------------------------

  kernel  编译

 pngcui@Sky-pngcui:~/MSD6A828/l--/vendor/mstar/kernel/3.10.$ make
HOSTCC scripts/basic/fixdep
/usr/bin/ld: 当搜索用于 /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc.a 时跳过不兼容的 -lgcc
/usr/bin/ld: 找不到 -lgcc
/usr/bin/ld: 当搜索用于 /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so 时跳过不兼容的 -lgcc_s
/usr/bin/ld: 找不到 -lgcc_s
collect2: 错误: ld 返回
scripts/Makefile.host:: recipe for target 'scripts/basic/fixdep' failed
make[]: *** [scripts/basic/fixdep] Error
/home/pngcui/MSD6A828/l--/vendor/mstar/kernel/3.10./Makefile:: recipe for target 'scripts_basic' failed
make[]: *** [scripts_basic] Error
make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/kernel.release'。 停止。 #### make failed to build some targets ( seconds) ####

  解决:缺少gcc32位库,执行以下命令

sudo apt-get install g++-4.7-multilib

  搞定!

 #### make completed successfully (: (mm:ss)) ####

-------------------------------------------20171014---update-------------------------------------

三、Ubuntu16.04.2编译Android5.1.1

1.平台:全志A64(Android5.1.1)

  编译Android:

    在解决 collect2: ld returned 1 exit status错误后,继续报如下错误

 Writing output...
Preparing output jar [/home/pngcui/AW-A64/Android5./a64_android5./android/out/target/common/obj/APPS/TeleService_intermediates/proguard.classes.jar]
Copying resources from program jar [/home/pngcui/AW-A64/Android5./a64_android5./android/out/target/common/obj/APPS/TeleService_intermediates/classes.jar]
注: packages/apps/BasicSmsReceiver/tests/src/com/android/basicsmsreceiver/DialogSmsDisplayTests.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
target Java: CellBroadcastReceiverTests (out/target/common/obj/APPS/CellBroadcastReceiverTests_intermediates/classes)
Preparing output jar [/home/pngcui/AW-A64/Android5./a64_android5./android/out/target/common/obj/APPS/TelephonyProvider_intermediates/proguard.classes.jar]
Copying resources from program jar [/home/pngcui/AW-A64/Android5./a64_android5./android/out/target/common/obj/APPS/TelephonyProvider_intermediates/classes.jar]
Checking API: checkpublicapi-last
Checking API: checkpublicapi-current
Checking API: checksystemapi-last
Checking API: checksystemapi-current
out/target/common/obj/PACKAGING/public_api.txt:: error : Added public field android.Manifest.permission.BACKUP
out/target/common/obj/PACKAGING/public_api.txt:: error : Added public field android.Manifest.permission.INVOKE_CARRIER_SETUP
out/target/common/obj/PACKAGING/public_api.txt:: error : Added public field android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE
out/target/common/obj/PACKAGING/public_api.txt:: error : Added public field android.Manifest.permission.RECEIVE_EMERGENCY_BROADCAST ******************************
You have tried to change the API from what has been previously approved. To make these errors go away, you have two choices:
) You can add "@hide" javadoc comments to the methods, etc. listed in the
errors above. ) You can update current.txt by executing the following command:
make update-api To submit the revised current.txt to the main Android repository,
you will need approval.
****************************** make: *** [out/target/common/obj/PACKAGING/checkpublicapi-current-timestamp] 错误
make: *** 正在等待未完成的任务.... #### make failed to build some targets (:: (hh:mm:ss)) ####

  那么根据提示,执行命令即可,然后再继续make进行编译

make update-api

Android编译环境折腾记的更多相关文章

  1. windows下cocos2dx3.0开发环境及Android编译环境搭建

    cocos2dx更新到了3.x版本号,自己一直没有换,如今开发组要求统一换版本号,我就把搭建好开发环境的过程记录下来. 一.Windowns下开发环境搭建 1.  所需工具         1)coc ...

  2. Android编译环境(1) - 编译Native C的模块

    Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk. Android.mk文件本身是比 ...

  3. Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决

    Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决 分类: android应用开发2013-08-21 09:20 4222人阅读 评论(3) 收藏 举报 li ...

  4. android编译环境安装

    Android 编译环境安装 安装 Java 6 安装 Java 6 安装依赖包 (Ubuntu 12.04) $ sudo apt-get install git gnupg flex bison ...

  5. Android编译环境配置

    Android编译环境配置 网上关于Android编译环境配置的整理资料有不少,经整理亲测后,希望能给需要的亲们提供帮助. 主要分为四步: 1.安装JDK(Java Standard Edition ...

  6. Docker容器搭建android编译环境

    Docker容器搭建android编译环境 目录 1 部署容器 1.1 手动部署 1.1.1 配置docker 1.1.2 启动容器 1.1.3 配置环境 1.2 Dockerfile 2 镜像管理 ...

  7. Ubuntu配置Android编译环境

    1.Ubuntu安装 VMware安装ubuntu之后,安装Vmware tools: 1.安装完ubuntu后,VMware Workstation菜单:虚拟机-->安装 Vmware Too ...

  8. 创建一个简单的配置android编译环境的脚本

    由于有多个Android项目,每个项目配置编译环境时选项都不同,所以尝试写一个sh脚本来完成这个功能.     首先进入bin文件夹,新建一个文件enbuild $ cd ~/bin $ touch ...

  9. Ubuntu:Android编译环境设置和编译

    1. 设置 Android 4.4 编译环境 1.删除 Java 7 sudo apt-get remove openjdk-7-jdk sudo apt-get remove openjdk-7-j ...

随机推荐

  1. jQuery入门教程

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .网站上有对应每一 ...

  2. 在Visual Studio 中开发自定义脚手架 Scaffolder

    1.官方简单教程 http://blogs.msdn.com/b/webdev/archive/2014/04/03/creating-a-custom-scaffolder-for-visual-s ...

  3. Qt qml listview 列表视图控件(下拉刷新、上拉分页、滚动轴)

    Qt qml listview下拉刷新和上拉分页主要根据contentY来判断.但要加上顶部下拉指示器.滚动条,并封装成可简单调用的组件,着实花了我不少精力:) [先看效果]    [功能] 下拉刷新 ...

  4. 基于php开发的RESTful ApiDoc文档

    apiDoc基于rest的web API文档生成器,可以根据代码注释生成web api文档,自动生成静态的html网页文档,不仅支持项目版本号,还支持API版本号. 使用apiDoc不需要自己麻烦的调 ...

  5. No module named caffe

    1.直接打开终端,输入python,enter,输入import caffe,enter,不出错 2.直接打开终端,输入sudo su切换到root下,或者是直接 sudo python,enter, ...

  6. sqllite 默认当前日期写法

    create table IF NOT EXISTS realpoint(_id integer primary key autoincrement,rountId varchar(50),lng d ...

  7. JS调用JCEF方法

    坐下写这篇文章的时候,内心还是有一点点小激动的,折腾了一个多星期,踩了一个又一个的坑,终于找到一条可以走通的路,内心的喜悦相信经历过的人都会明白~~~~~今儿个老百姓啊,真呀个真高兴啊,哈哈,好了,废 ...

  8. cpu主频信息

    yangkunvanpersie ( yangkunvanpersie@163.com ) 通过"有道云笔记"邀请您查看以下笔记 修改CPU频率.note   打开笔记 kerne ...

  9. Java 网络编程学习总结

    新手一枚,Java学习中,把自己学习网络编程的知识总结一下,梳理下知识,方便日后查阅,高手莫进. 本文的主要内容: [1]    网络编程认识                [2]  TCP/IP编程 ...

  10. 对json数据的遍历

    json格式变化多样,可嵌套好几层,这里只记录了一些遍历方法,具体数据格式具体分析~ "data1": { "key1": [ {"name" ...