导航:首页 > 源码编译 > 在线文档生成系统安卓端源码

在线文档生成系统安卓端源码

发布时间:2022-12-14 12:22:13

㈠ 自己可以编译安卓源码

用最新的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源码的多仓库管理机制.下面,不妨自己动手尝试一下.

    ㈡ android的文件系统怎么生成

    Android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中, ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把 system和 userdata分别加载到 ramdisk文件系统中的system和 userdata目录下。因此,我们可以把ramdisk.img里的所有文件复制出来,system.img和userdata.img分别解压到 ramdisk文件系统中的system和 userdata目录下。
    2、分离Android文件系统出来
    system.img,ramdisk.img,userdata.img映像文件是采用cpio打包、gzip压缩的,可以通过file命令验证:
    file ramdisk.img

    输出:
    ramdisk.img: gzip compressed data, from Unix,
    last modified: Wed Mar 18 17:16:10 2009

    Android源码编译后除了生成system.img,userdata.img之外还生成system和 userdata文件夹,因此不需要解压它们。Android源码编译后还生成root文件夹,其实root下的文件与 ramdisk.img 里的文件是一样的,不过这里还是介绍怎样把 ramdisk.img解压出来:
    将ramdisk.img复制一份到任何其他目录下,将其

    ㈢ 怎么把安卓软件源代码导出来

    apk文件复制到SD卡。
    命令序列如下:

    文件夹到Android的SDK / tools目录

    输入adb的外壳

    进入苏

    输入cd数据

    输入CD的应用程序

    然后,你可以看到所有你安装apk文件。输入相应的apk位CP / SD卡/

    的apk文件,因此它会被复制了一个空格。

    直接进入apk文件扩展名rar格式,你可以看到目录熟悉的结构,

    xml文件后打开是二进制的,不能观看。

    然后他们使用AXMLPrinter2工具android4me。 (你自己网络搜索)

    输入以下命令来解析XML文件出来

    此命令是在命令行java的罐子AXMLPrinter2.jar showtimes_list.xml

    鉴于此showtimes_list.xml 该showtimes_list.xml生成xml文件,输入以下命令:

    Java的罐子AXMLPrinter2.jar showtimes_list.xml> h.xml

    持续到这一点,只看到xml文件的内容,其中工程在java源文件还是看不到,看到classes.dex文件目录结构,我们需要DEX文件转换成jar文件。

    这里使用的另一种工具dex2jar。 (自搜索下载)解压后显示在Windows下

    目录如下:

    在命令行中,输入这个目录:

    在Windows下,输入以下命令: dex2jar.bat C:\ classes.dex

    在C盘运行完成后会多一个classes.dex.dex2jar.jar文件,这就是我们所需要的jar文件。

    使用JD-GUI,的jar文件的java代码的逆向工程。 (请搜索下载)

    它进入Windows,Linux和最大三个版本,这里我下载的Windows版本。
    解压,双击运行exe文件后,选择相应的jar文件的Java文件的文件classes.dex.dex2jar.jar显示反向工程了!
    是否可以解决您的问题?

    ㈣ Android源码开发记录-自定义系统服务和jar包生成

    创建文件 IMyApiService
    文件路径 frameworks/base/core/java/android/os/

    定义了一个计算和的方法。

    在frameworks/base/Android.mk
    LOCAL_SRC_FILES最后加入

    创建文件 MyApiService.java
    文件路径 frameworks/base/core/java/com/android/server/

    实现aidl的接口,计算参数和。

    (1)Context添加服务名
    文件路径 frameworks/base/core/java/android/content/Context.java
    添加

    (2)添加启动服务
    文件路径 frameworks/base/services/java/com/android/server/SystemServer.java
    在startOtherServices方法中添加

    创建 MyApiManager.java文件
    文件路径 frameworks/base/core/java/android/app/

    文件路径 frameworks/base/core/java/android/app/ContextImpl
    添加registerService

    记住make update-api
    编译打包完成后,烧写新的固件。

    jar主要为了在android studio编译环境中MyApiManager报错导致编译不通过问题。
    也可以导入frameworks jar包或使用反射。

    在源码目录packages/app下新建MyJar文件夹
    并新建目录com/myapi/(包名)

    在目录com/myapi/新建文件MyApi.java

    具体Android.mk语法这里不做解释,可以自行查阅

    在MyApi目录下直接运行mm编译命令(记得先source build/envsetup.sh)
    待编译完成后,jar生成目录
    out/target/common/obj/JAVA_LIBRARIES/Myapi_intermediates/javalib.jar
    可更改为其他名称。

    ㈤ 如何使用Android Studio开发/调试Android源码

    开发调试环境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,android-5.0.1_r1源码

    由于AS是基于IntelliJ IDEA开发的,所以本文也适用于IntelliJ IDEA

    一、修改Android Studio(以下简称AS)的内存配置

    因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-Xms和-Xmx的值。文档中使用的是748m,可自行修改。

    二、配置AS的JDK、SDK

    在IDE中添加一个没有classpath的JDK,这样可以确保使用源码里的库文件

    在代码中加断点,然后选择'Run'->''或者直接点击下图所示的图标

    在弹出的选择进程(Choose Process)对话框中,勾选显示所有进程,选择要DEBUG的代码所在的进程,点击OK即可.

    六、其它

    代码中很多地方提示CallrequiresAPILevelx.... 出现这个问题是因为AS将我们的工程当做安卓应用程序工程了,且源码中没有指定minSdkVersion.

    我们只需在源码根目录加一个声明minSdkVersion的AndroidManifest.xml文件即可(分享了一个AndroidManifest.xml)。

    也可以考虑使用build.gradle来解决该问题。

    ㈥ 怎么在ubuntu上编译android源码

    步骤一:
    安装Ubuntu系统。我们既可以通过虚拟机的方式安装Ubuntu,也可以直接在电脑上安装,为了获得更好的Linux操作体验,我建议直接在电脑上面安装Ubuntu,我在自己电脑上安装了win10和Ubunut Server14.04双系统,使用的时候可以根据自己的需要随时切换系统,非常方便。关于如何搭建双系统,网上有很多教程,我就不在此叙述了,但是我想说明的一点是在安装Ununtu的时候,分配给Ubuntu的磁盘空间一定要尽可能大一点,至少60G,我分配了105G,编译完成之后还剩下50多G,也就是说差不多用了近50G的空间,所以安装Ubuntu的时候一定得分配大一点的磁盘空间,不然编译会因为空间不足而中断。
    步骤二:
    搭建好Ubuntu系统之后,我们需要下载一份Android6.0的源码,网上很多文章都介绍了如何通过repo的方式来下载源码,但是通过这种方式下载速度可能并不是很理想,直接下载网络云的Android6.0源码,
    因为Android6.0的源码所占空间非常大,所以上传者把Android源码分成了很多个文件,待全部下载完毕之后,我们可以通过命令把这些分开的文件合并为一个文件。
    步骤三:
    如果我们是在Windows上下载的源码,那么当我们打开Ubuntu之后,要做的第一件事请就是把Windows中的Android源码拷贝到Ubuntu系统下面,我直接利用复制粘贴的方式将源码拷贝到了Ubuntu的Home目录下面,拷贝之后的目录结构Home/android6_r1/各个分开的源码文件。
    步骤四:
    合并这些被分开的源码文件。我们按下键盘上的ctrl + alt + T打开控制台,通过cd命令进入到Home/android6_r1/目录下面,然后执行命令:cat Android6_r1_* > M.tgz,不用多久,在Home/android6_r1/目录下面就会生成一个新的文件——M.tgz,M.tgz就是合并之后的压缩文件。
    步骤五:
    解压步骤四生成的压缩文件。同样是在Home/android6_r1/目录下面,我们在控制台执行命令:tar zxvf M.tgz,开始解压。解压的过程大概需要20分钟左右的时间,请耐心等待。解压好了之后,在Home/android6_r1/会生成一个mydroid的文件夹,这个文件夹就是Android源码的根文件夹了,里面有abi、devices、hardware、packages、sdk、art等文件夹和文件。
    步骤六:
    安装编译源码所需要的软件。在控制台中我们通过cd..命令退回到Unbuntu用户的根目录下,然后依次执行以下命令:
    sudo apt-get update
    sudo apt-get install openjdk-7-jdk
    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    以上命令每一条都必须分开单独执行,目的是为了获取1.7版本的jdk并设置环境变量。当我们安装完Ubuntu之后可能会自带一个jdk,但是如果用自带的jdk编译Android源码很可能会提示jdk版本不符合要求的错误,因此我们需要重新下载1.7版本的jdk,我用openjdk-7-jdk编译未出现任何问题。
    接下来继续执行以下命令,同样每一行都是分开单独执行的:
    sudo apt-get install git gnupg flex bison gperf build-essential
    sudo apt-get install zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev
    sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386
    sudo apt-get install libgl1-mesa-dev g++-multilib mingw32 tofrodos
    sudo apt-get install python-markdown libxml2-utils xsltproc zlib1g-dev:i386
    sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
    以上命令主要是安装编译源码时需要用到的各种软件,如果没有安装这些软件,编译的过程中会提示缺少必要的软件而无法继续编译,因此,在正式编译源码之前,一定要先安装这些软件。
    步骤七:
    开始编译。在控制台中通过cd命令进入到Home/android6_r1/mydroid/目录下,然后执行命令:source build/envsetup.sh,导入编译Android源码所需的环境变量和其它参数。
    步骤八:
    在控制台中执行命令:lunch,运行命令之后会提示我们选择编译目标。这里我选择的的默认目标,即aosp_arm_eng。
    步骤九:
    在控制台中执行命令:make -j8,开始编译。注意,make -j8命令中的数字8和我们电脑的CPU核心数以及线程数有关系,一般这个数字的数值最大不能超过CPU线程数的2倍,例如我电脑的处理器是i5 6200U,为双核四线程,因此编译Android源码的时候,我可以设置的最大工作线程数量为4 * 2 = 8。在执行make命令的时候我们应该根据自己的CPU参数设置合理的工作线程数值。
    以上步骤执行完之后,就是一段非常漫长的等待了,我从中午十二点多开始编译,一直到晚上九点多编译完成,整个编译过程耗时九个多小时,幸好我的运气还不错,编译过程中没有出现任何错误,只是中途意外中断了一次,但是Android源码是可以接着上次中断的位置继续编译的,已经编译的部分不会重复编译,因此并未对我造成大的影响。同志们,我想说的是,编译的过程中一定要有耐心哟!
    整个源码编译完成之后,如果提示如下信息,那么Congratulations, you are successful!!!

    安卓怎么使用修改过的源码编译程序

    1、Android的文件系统结构是怎样的,我们安装的程序放在那里?
    编译Android源码之后,在out/target/proct/generic一些文件:
    ramdisk.img、system.img、userdata.img、 system、 data、root
    其中, system.img是由 system打包压缩得到的, userdata.img是由 data打包压缩得到的。

    ramdisk.img是模拟器的文件系统,把ramdisk.img解压出来可知道,ramdisk.img里的文件跟root文件夹的文件基本一样。模拟器装载ramdisk.img并解压到内存,接着分别把system.img和userdata.img挂载到 ramdisk下的system和data目录。我们编译出来的应用程序就是放在system/app下的。用户安装的程序则是放在data/app下。

    2、Android SDK和android源码能为我们提供什么工具?
    AndroidSDK提供有很多工具,如adb,ddms,emulator,aapt等,并提供kernel-qemu、ramdisk.img、system.img、userdata.img。因此,只要有android SDK,我们就可以在模拟器上把android跑起来。
    Android源码可以编译出android SDK、adb等工具、android文件系统,以及ADT插件,也就是说,我们可以从android源码编译出所有android相关的东西。

    3、 把Android源 码”make”之后会生成许多工具和android文件系统(system.img等),我们又可以使用“makesdk”来生成android SDK,android
    SDK也包括有工具和android文件系统(system.img等),而原来安装的时候我们也安装了androidSDK,那么我们在开发时应该使用那些工具和android文件系统呢?

    ㈧ 如何生成安卓源码的compile_command.json

    1、cmake工程生成compile_commands.json文件比较简单,定义CMAKE_EXPORT_COMPILE_COMMANDS即可。
    2、用makefile来编,没有现成的选项生成compile_commands.json文件。可以使用ctags,gtags等,但跳转不是很准确。可以通过Bear来生成,而且不需要改动代码。具体Bear的安装按照官方文档来。安装之后,执行以下命令即可生成:compile_commands.json文件能够有效提高一些工具(比如说ccls1,vscode2)的代码跳转、补全等功能。

    ㈨ 安卓操作系统源代码

    修改系统文件的源代码。。。LZ你想太多了,源代码都是封装起来的,看不到的。不用编译器进行反汇编是无法看到的。

    ㈩ 如何用Android 源码生成APK签名文件

    我们很多应用需要用到系统签名,可以通过生成系统签名文件,在生成apk时使用这个签名,然后可以安装到机器中,不需要放在源码里编译,重新刷系统。

    先附上 50和 20机器人通用的debugkey(图已经省略)

    在Linux环境中,以Android源码目录为根目录。

    其中的platform.pk8是制作系统签名需要的文件。

    1、在这个目录下,执行

    生成临时文件platform.pem

    2、接着执行以下命令,将在目录下生成platform.p12文件,它本质上应该就是一个数字证书

    3、然后再执行以下命令出现以下信息,表示成功生成platform.jks

    这个名字可以改成debug.keystore. 它的后缀本身是没有关系,eclipse和AS都识别 platform.jks

    4、然后在打包 apk 的时候选择platform.jks文件,就可以直接用adb命令安装apk到机器中了。

    xxxx表示需要安装的apk路径
    5、签名的 Key store password和Key password都是android

    阅读全文

    与在线文档生成系统安卓端源码相关的资料

    热点内容
    温州直播系统源码 浏览:110
    程序员在上海买房 浏览:382
    生活解压游戏机 浏览:907
    季羡林pdf 浏览:716
    php支付宝接口下载 浏览:814
    ipad怎么把app资源库关了 浏览:301
    量柱比前一天多源码 浏览:416
    电子书app怎么上传 浏览:66
    国家反诈中心app注册怎么开启 浏览:804
    全波差分傅里叶算法窗长 浏览:41
    程序员如何讲自己做过的项目 浏览:7
    程序员要看的书颈椎 浏览:946
    php文章cms 浏览:553
    CSS权威指南第三版PDF 浏览:496
    android怎么搭建框架 浏览:184
    正宗溯源码大燕条一克一般多少钱 浏览:917
    电脑感染exe文件夹 浏览:916
    wpsppt怎么转pdf格式 浏览:88
    腾讯文档在线编辑怎么添加密码 浏览:880
    本地不能访问服务器地址 浏览:865