导航:首页 > 编程语言 > 安卓软件开源代码

安卓软件开源代码

发布时间:2024-04-27 11:15:36

1. 自己可以编译安卓源码吗

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

    2. 怎样查看 Android APP 源代码

    用压缩软件打开apk文件,解压出根目录中的classes.dex文件

    使用cmd ,dex2jar.bat classes.dex命令将classes.dex转换为jar

    再用jd-gui打开回该jar就可以答查看源码了,如果apk安全性好的话,有些代码是看不到的

    3. 有哪些 Android 的开源界面库

    比较火爆的Android开源库有以下:
    1、volley
    主要有以下模块:

    (1) jsON,图像等的异步下载;
    (2) 网络请求的排序(scheling)
    (3) 网络请求的优先级处理
    (4) 缓存
    (5) 多级别取消请求
    (6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)2、android-async-http
    主要有以下模块:
    (1) 在匿名回调中处理请求结果
    (2) 在UI线程外进行

    (3) 文件断点上传
    (4) 智能重试
    (5) 默认gzip压缩
    (6) 支持解析成Json格式
    (7) 可将Cookies持久化到SharedPreferences 3、Afinal框架
    主要有四大模块:
    (1) 数据库模块:android中的
    ,使用了线程池对sqlite进行操作。
    (2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
    (3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能。
    (4) 图片缓存模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。4、xUtils框架
    主要有四大模块:
    (1) 数据库模块:android中的
    ,一行代码就可以进行增删改查;
    (2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
    (3) 网络模块:支持同步,异步方式的请求;
    (4) 图片缓存模块:加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;5、ThinkAndroid主要有以下模块:(1) MVC模块:实现视图与模型的分离。
    (2) ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。
    (3) 数据库模块:android中的
    ,使用了线程池对sqlite进行操作。
    (4) http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。
    (5) 缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置
    (6) 图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。
    (7) 配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。
    (8) 日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印
    (9) 下载器模块:可以简单的实现
    、后台下载、
    、对下载进行控制、如开始、暂停、删除等等。
    (10) 网络状态检测模块:当网络状态改变时,对其进行检6、LoonAndroid 主要有以下模块:
    (1) 自动注入框架(只需要继承框架内的application既可)
    (2) 图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)
    (3) 网络请求模块(继承了基本上现在所有的

    (4) eventbus(集成一个开源的框架)
    (5) 验证框架(集成开源框架)
    (6) json解析(支持解析成集合或者对象)
    (7) 数据库(不知道是哪位写的 忘记了)
    (8) 多线程断点下载(自动判断是否支持多线程,判断是否是重定向)
    (9) 自动更新模块
    (10) 一系列工具类

    4. 怎样查看 Android APP源代码

    将apk文件拷贝至sdcard上。
    命令顺序如下:

    进入Android sdk文件夹/tools目录下
    输入adb shell
    输入su
    输入cd data
    输入cd app
    这时就可以看到你安装的所有的apk文件。输入cp 空格 对应的apk 空格 /sdcard/
    这样就将apk文件拷贝出来了。
    将apk文件后缀直接变成rar格式,可以看到熟悉的目录结构了,

    其中xml文件打开后都是二进制的,无法查看。
    这时就用到了一个android4me的AXMLPrinter2工具。(请自行网络搜索)
    输入以下命令,将xml文件解析出来
    java -jar AXMLPrinter2.jar showtimes_list.xml
    此命令是在命令行中查看此showtimes_list.xml
    将showtimes_list.xml生成xml文件,则输入以下命令:
    java -jar 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、和max三个版本,这里我下载的是Windows版本的。
    解压之后,双击运行exe文件,选择classes.dex.dex2jar.jar文件,相应的jar文件中的Java文件就被反向工程显示出来了!

    阅读全文

    与安卓软件开源代码相关的资料

    热点内容
    id为什么下载不得app 浏览:658
    打印机扫描的文件路径怎么修改 浏览:876
    编程在哪里做兼职 浏览:804
    为什么总是复制隐藏文件 浏览:203
    稳捷网络 浏览:908
    网页打印保存pdf文件怎么打开 浏览:150
    编译文件路径不能包含空格 浏览:44
    linux打开文件系统检查失败 浏览:624
    用什么网站能接室内翻新的活 浏览:235
    三星手机应用程序许可 浏览:203
    mh版本 浏览:288
    编程猫幼儿园怎么样 浏览:50
    公交app如何安装 浏览:692
    iphone4耳机怎么用 浏览:605
    学习课文的app有哪些 浏览:834
    ios10导出文件到电脑 浏览:9
    数控编程怎么编新程序 浏览:418
    编程题怎么分解 浏览:998
    本科生找工作应该学什么编程语言 浏览:803
    android系统应用升级 浏览:55

    友情链接