导航:首页 > 源码编译 > 编译安卓

编译安卓

发布时间:2022-02-13 21:08:56

安卓系统(android)怎样才能成功编译安装‘make’命令

tar.gz(bz或bz2等) 一、安装1、打开一个SHELL,即终端2、用cd 命令进入源代码压缩包所在的目录3、根据压缩包类型解压缩文件(*代表压缩包名称) tar -zxvf ****.tar.gztar -jxvf ****.tar.bz(或bz2)4、用CD命令进入解压缩后的目录5、输入编译文件命令:./configure(有的压缩包已经 编译过,这一步可以省去) 6、然后是命令:make 7、再是安装文件命令:make install8、安装完毕如果安装了busybox命令就要这样用: busybox+空格+命令

② android系统如何在windows下编译

目前官网不提供在windows下对android的支持,只提供对linux/mac(类UNIX)的支持,可参考 http://source.android.com/source/download.html

android基于linux 内核,对其相关编译和连接环境有依赖。建议在windows上安装虚拟机,安装linux来编译。

③ 请问怎么编译安卓软件

呵呵,你学过java吧,基本功就有了,安卓软件是用java来写的~不过我觉得安卓软件是不用编译的,因为里面的主程序是格式化的xml文件,在软件成形的过程中只是把一些文件打包起来就行了,你可以试下把安卓软件的后缀名改成zip,就可以看见源程序和文件了~然后呢,你要想做安卓软件的话,先搭建一个安卓的开发环境,用到的东西有Myeclipse这个软件(你应该知道的),然后到网上下载安卓开发的SDK即开发字典~有一本叫安卓开发案例的书,可以看下,另外网上有很多的视频教程~PS:我自己之前只写过一个安卓的HELLO,WORLD!,由于大一事情比较多就没有继续研究了,如果你有问题可以CALL我哦,我们一起学~

④ 自己可以编译安卓源码

用最新的Ubuntu 16.04,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装:

sudo apt-get install git git config –global user.email “[email protected]” git config –global user.name “test”

其中[email protected]为你自己的邮箱.

简要说明

android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.下文也将按照该流程讲述.

源码下载

由于某墙的原因,这里我们采用国内的镜像源进行下载.
目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明.(参考:科大源,清华源)

repo工具下载及安装

通过执行以下命令实现repo工具的下载和安装

mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo

补充说明
这里,我来简单的介绍下repo工具,我们知道AOSP项目由不同的子项目组成,为了方便进行管理,Google采用Git对AOSP项目进行多仓库管理.在聊repo工具之前,我先带你来聊聊多仓库项目:

我们有个非常庞大的项目Pre,该项目由很多个子项目R1,R2,...Rn等组成,为了方便管理和协同开发,我们为每个子项目创立自己的仓库,整个项目的结构如下:


这里写图片描述

执行完该命令后,再使用make命令继续编译.某些情况下,当你执行jack-admin kill-server时可能提示你命令不存在,此时去你去out/host/linux-x86/bin/目录下会发现不存在jack-admin文件.如果我是你,我就会重新repo sync下,然后从头来过.

错误三:使用emulator时,虚拟机停在黑屏界面,点击无任何响应.此时,可能是kerner内核问题,解决方法如下:
执行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通过使用kernel-qemu-armv7内核 解决模拟器等待黑屏问题.而-partition-size 1024 则是解决警告: system partion siez adjusted to match image file (163 MB >66 MB)

    如果你一开始编译的版本是aosp_arm-eng,使用上述命令仍然不能解决等待黑屏问题时,不妨编译aosp_arm64-eng试试.

    结束吧

    到现在为止,你已经了解了整个android编译的流程.除此之外,我也简单的说明android源码的多仓库管理机制.下面,不妨自己动手尝试一下.

    ⑤ 如何将apk源码编译进android系统

    1. 把源码放到packages/apps目录下

    2. 写个mk文件,放到你的app的工程根目录下

    3. 在源码中mmm这个app的路径

    ⑥ 如何编译android sdk

    如果没有真正开发板,又想深入到android
    framework里,或kernel里的话,就只能用android
    的emulator了。
    但是我们下载的android
    SDK没有源代码,我们没办法跟踪修改framework和kernel里的东西。
    所以有了想尝试自己从头生成SDK的想法。
    1.
    首先下载编译android所有source
    code.
    具体步骤这里不再赘述,参考ht
    tp:/
    /source.and
    roid.c
    om/download
    cd
    mydroid
    repo
    init
    -u
    git://android.git.kernel.org/platform/manifest.git
    repo
    sync
    一点小提示:
    有时候google的android服务器老是断,总不能让我们守在电脑旁边一直手工重新repo
    sync吧,这可是需要N个小时才能下载完的啊。
    我们就写个小脚本让电脑自动repo
    sync,直到下载成功为止:
    #!/bin/sh
    count=0
    ret=1
    while
    [
    $ret
    -ne
    0
    ]
    do
    repo
    sync
    ret=$?
    count=$((
    $count
    +
    1))
    echo
    "try
    $count,
    ret:
    $ret"
    done
    echo
    "try
    $count,
    ret:
    $ret"
    把上面的内容复制到一个文件里tryrepo.sh
    然后修改tryrepo.sh的属性,开始自动工作吧。第二点早上应该就大功告成了
    chmod
    a+x
    tryrepo.sh
    ./tryrepo.sh
    2.
    编译android,
    生成SDK
    make
    sdk
    漫长的等待之后,SDK生成了,在目录:mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\platforms\
    在linux下面可以直接运行mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\tools\android
    就可以看到熟悉的android
    emulator启动界面。
    如果想在windows
    XP下使用这个SDK和emulator,
    最简单的方法是:
    (1)自己下载一个最新的windows版本的android
    2.0
    SDK。
    (2)把mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\platforms\下的东西复制到windows版SDK的platforms下。
    (3)
    然后把platforms下android-2.0下tools目录下的几个.exe文件复制到自己编译的SDK目录下的tools目录下。

    ⑦ 有手机的源代码,如何编译安卓4.4的系统

    代码编译…
    恐怕这个不是随随便便在这里几句话就能说明白的…
    首先要下载安卓4.4的内核,
    然后要把厂商的手机源代码编译进去,
    还要自己写脚本,
    很多都是很技术的活。
    lz确定能hold住么?

    ⑧ 如何将源代码编译后的文件编译到android中

    1.将应用程序源码复制进Android源码目录中(提前编译好源码)
    2.使用build/envsteup.sh 配置shell -
    mm TARGET_PRODUCT=proct_name
    或直接./build_android.sh 也能完成编译。
    3.在源码目录:out/target/proct/proctname/obj/APPS/test_cert_intermediates 下有三个文件:package.apk package.apk.unsigned package.apk.unaligned
    将package.apk.unsigned复制出来,单独进行sign.
    4.在Windows下进行sign: jarsigner -verbose -keystore youkey.keystore d:\package.apk.unsigned youkey
    5.zipalign -v 4 d:\package.apk.unsigned d:\package.signed.apk

    ⑨ 如何把应用程序app编译进android系统

    把常用的应用程序编译到img文件中,就成了系统的一部分,用户不必自己安装,当然也卸载不了;
    同时也可以删减系统自带的应用程序,精简系统;
    1.\build\target\proct
    目录下generic.mk文件:
    Java代码
    收藏代码
    PRODUCT_PACKAGES
    :=
    \
    AccountAndSyncSettings
    \
    DeskClock
    \
    AlarmProvider
    \
    Bluetooth
    \
    Calculator
    \
    Calendar
    \
    Camera
    \
    testMid
    \
    CertInstaller
    \
    DrmProvider
    \
    Email
    \
    Gallery3D
    \
    LatinIME
    \
    Launcher2
    \
    Mms
    \
    Music
    \
    我们添加一个testMid
    \
    应用名称。
    2.把testMid包放入
    \packages\apps
    目录下,修改android.mk文件。
    Java代码
    收藏代码
    LOCAL_PATH:=
    $(call
    my-dir)
    include
    $(CLEAR_VARS)
    LOCAL_MODULE_TAGS
    :=
    optional
    LOCAL_SRC_FILES
    :=
    $(call
    all-subdir-java-files)
    LOCAL_PACKAGE_NAME
    :=
    testMid
    LOCAL_CERTIFICATE
    :=
    platform
    include
    $(BUILD_PACKAGE)
    注:LOCAL_PACKAGE_NAME
    :=
    testMid
    (包名必须和generic.mk中添加的相同)
    编译源码,可以看到在
    \out\target\proct\smdkv210\system\app
    目录下生存了testMid.apk了。这时system.img也包含了此应用。
    -------------------------------------------------------------------
    特殊情况:有时,应用需要包含jar包,这时的app导入源码时会出现问题:
    MODULE.TARGET.JAVA_LIBRARIES.libarity
    already
    defined
    by
    ...
    stop
    由于
    LOCAL_STATIC_JAVA_LIBRARIES
    :=
    libarity
    会引发错误信息。
    目前解决方法是:
    \build\core
    目录下修改base_rules.mk
    注释掉错误信息:
    ifdef
    $(mole_id)
    #$(error
    $(LOCAL_PATH):
    $(mole_id)
    already
    defined
    by
    $($(mole_id)))
    endif
    $(mole_id)
    :=
    $(LOCAL_PATH)
    --重新编译,这时可以通过了。
    (2)、删除原厂(Telchips)带源码的应用程序,如DTV_DVBT
    在/device/telechips/m801/device.mk
    注释掉相应语句:
    #
    PRODUCT_PACKAGES
    +=
    \
    #
    SampleDVBTPlayer
    \
    同时,在/out/target/proct/m801/system/app
    找到相应的.APK包,并删除

    ⑩ 如何编译一个精简的Android系统

    本次试验使用的android源码是4.2,编译的架构是mini-mips。

    一、所做的工作
    1、修改build/target/proct/mini.mk,去掉一些不必要的模块(例如Phone、DownloadManager等)
    2、修改SystemServer.java,屏蔽一些service,让系统能够启动起来(例如,Location Manager、Telephony Registry)
    3、修改dalvik/vm/native/dalvik_system_Zygote.cpp,注释掉因为检查不到外部存储而导致dalvik abort的地方 (这是googel的一个bug,在2013年1月份已解决,如果用这以后的代码不用修改此处)
    4、修改WindowManagerService.java,把发送BOOT_TIMEOUT消息的时间改为0(之前为30秒)

    二、系统优化后的效果(验证工作均在mips模拟器上进行)
    1、节省运行内存,下面是全编译与mini编译的内存使用状态的对比
    1)full build
    MemTotal: 499360 kB
    MemFree: 242064 kB
    2)mini build
    MemTotal: 499360 kB
    MemFree: 395192 kB

    2、缩短开机启动时间
    在虚拟机上的启动时间
    1)full build-29秒
    2)mini build-14秒

    3、只启动home程序,其余的应用程序均被移除

    三、保留android的开发环境
    1、adb,ddms,apkinstall等,都能正常工作
    2、在eclipse中编写的android应用程序能够运行在该mini-android之上

    四、开机自动启动指定应用程序
    本次测试使用Gallery.apk应用程序,修改其源码后可以实现随系统的启动而自动启动的功能。

    阅读全文

    与编译安卓相关的资料

    热点内容
    机构抢筹指标公式源码 浏览:266
    linux脚本awk 浏览:558
    程序员怎么跟领导提升 浏览:75
    pdf怎么生成目录 浏览:387
    如何保护自己的服务器 浏览:67
    html5上传图片压缩 浏览:473
    支付宝账单文件如何解压 浏览:859
    查看内核版本命令 浏览:956
    w10加密盘驱动锁死怎么办 浏览:946
    全新云服务器价格对比 浏览:387
    python为什么去除了switch语句 浏览:54
    二进制7到8的算法 浏览:807
    服务器机柜叫什么名字 浏览:347
    vue3源码作者 浏览:830
    app右下角标怎么关 浏览:833
    怎么对一个盘加密码 浏览:672
    练习sql用什么样的服务器 浏览:980
    asp与php对比 浏览:645
    php模除 浏览:254
    android上传图片方式 浏览:886