Android编译

来源:互联网 发布:安卓收银软件 编辑:程序博客网 时间:2024/04/18 16:32

1.找不到gnu/stubs-64.h

    host C: libclearsilver-jni <= external/clearsilver/java-jni/j_neo_util.c
In file included from /usr/include/features.h:378,
from /usr/include/string.h:26,
from external/clearsilver/java-jni/j_neo_util.c:1:
/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: No such file or directory
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libclearsilver-jni_intermediates/j_neo_util.o] Error 1

看jdk版本 java -version ,确保是jdk1.5,而jdk1.6要求64位平台
参考详细说明

2.使用gcc-4.3和g++-4.3

3.添加环境变量

      export JAVA_HOME=/usr/lib/jvm/java-5-sun  

      export PATH=$PATH:$JAVA_HOME/bin  

      export CLASSPATH=$JAVA_HOME/lib

      export ANDROID_JAVA_HOME=$JAVA_HOME  

      export PATH=$PATH:~/mydroid/out/host/linux-x86/bin  

      export ANDROID_PRODUCT_OUT=~/mydroid/out/target/product/generic

 

      export PATH=$PATH::~/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin   (arm-eabi-objdump)

4.编译android sdk 时:不要直接make sdk

    $cd ~/mydroid

    $. build/envsetup.sh

    $make PRODUCT-sdk-sdk

    windows版sdk:

    $make -j4 PRODUCT-sdk-win_sdk

     参考development/build/tools/windows_sdk.mk

5.编译ADT       

    $export ECLIPSE_HOME=~/tuhuolong/eclipse_ganymede_jee

    $cd ~/mydroid

    $. build/envsetup.sh

    $development/tools/eclipse/scripts/build_server.sh ~/tuhuolong/ADT

(Honeycomb)$sdk/eclipse/scripts/build_server.sh ~/tuhuolong/ADT 

       参考马永强博客(1)Android

                             (2)SDK,ADT   

 

        编译ADT的时候会删除已编译的sdk和一些库文件,需要重新mm Android根目录

6.编译SDK和ADT时

      会先删除一些已经编译的库文件。若中途出错,则无法恢复,需要再次进根目录编译Android

      编完SDK/ADT后,需要重新编译mm Android根目录

7.编译ADT时

    java.lang.IllegalStateException: Unable to acquire application service
eclipse_ganymede_jee的设置有问题

8.make update-api

    make update-api   
如果你在Android源码中添加了自定义的包、类、方法或者你修改了Android源码中标识为@hide的方法、类,你需要这些内容对
Application可见并且需要编译进SDK的Document中的话,这个命令是必须的(其实还有另外一种手工修改的方式替代这个命令的,呵呵)

9.make snod

    make snod
产生一个新的系统映像system.img

原创粉丝点击