安卓编译知乎
用最新的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内核问题,解决方法如下:
执行如下命令:
通过使用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在Ubuntu下编译完整aosp需要多少硬盘空间
6.0以后的AOSP我没编译过,不太了解需要多大空间。
不过5.1.1我倒是编过,你可以参考一下:mac编译aosp的配置需求? - 知乎用户的回答
编译完了,大概占用了60G,6.0可能会更大一些。
像你列举的250G等容量的硬盘,用来编AOSP,容量上是绰绰有余的。其实如果经济上允许,推荐你选择一个SSD,对于编译速度的提升,效果显着。
㈢ 安卓编程,怎么实现类似知乎左侧抽屉菜单的
这个交互是由两个View组成,左侧导航的View在下面,显示内容列表的View在上面,内容列表的View覆盖住了导航View,拖动内容列表的View向右,这时候导航View就显示出来了。实现步骤:1、自定义一个View,它做为显示内容的View。给这个View添加两个手势,pan拖拽,tap点击;2、当拖拽这个View时,让view.center向右移动,这样就能看到内容View向右移动了;3、定义一个抽屉打开停止时的x值为:OPENCENTERX,这个是内容View最终停止的位置4、当内容View越过中间靠右的一个x值时,view自动向右动画移动到右边位置停下;5、当内容View在打开的状态下,点击内容View,利用UIView动画把内容View.center移动回到中间;6、设置内容View的阴影效果。
㈣ android开发用什么ide 知乎
推荐android studio,这是官方自己的开发工具
如果是去公司的话,要看公司项目用什么,虽然稍有不同,不过学习的话还是建议andorid studio
㈤ android ios php 哪个好 知乎
php和ios还有安卓在同级别的情况下,ios的工资目前来看是稍微高点点,ios需要了解学下c语言,安卓则需要学java,你说看了ios觉得很难,那也不建议看安卓,建议你学php,容易上手快,去培训做几个项目基本就可以了,快速找份工作没问题,刚开始工资六七千应该问题(就深圳而言)不大只要学得还可以,JavaScript要精通学好可不容易,学php得时候必学JavaScript。至于前端,你学这三种语言都会学前端,语言是相通的,如果你学了php再去学ios和安卓应该会好些,程序猿不应该只懂一种语言这样在未来不保险。不建议题主边上班自学,这样效果不怎么好,你没有任何经验,一个人捣鼓说实话累,编程最好能找几个人一起做,至少出现bug的时候实在弄不好的时候有人能询问,有时候改bug真的很费时间,说多了都是泪.............
有人说数学和英语不重要这句话真的是超级坑爹,如果题主培训完了找份工作求温饱确实是没问题,但随着时间的推移如果需要往上走,那一定会用到数学,很多编程的思维方式数学中都有提到过,英语可以不一定要好,但题主要往上爬就需要数学了,如果题主高中大学数学都好那学起来会轻松许多,当然英文好的话那知识面可以更广........,像汇编和c还有编译原理,数据结构等等,这些杂七杂八的都要涉猎,这是往高手之路需要学习的,你可以看看大学计算机软件课程的课表。
㈥ 如何给安卓应用编译
把常用的应用程序编译到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包,并删除
㈦ 如何用python开发安卓应用 知乎
可以看一下 SL4A,一个基于Android的脚本平台,支持Python。但复杂应用,用脚本开发会很有难度
㈧ 什么是android开发 知乎
Android 是一种基于 Linux® V2.6 内核的综合操作环境。最初,Android 的部署目标是移动电话领域,包括智能电话和更廉价的翻盖手机。但是, Android 全面的计算服务和丰富的功能支持完全有能力扩展到移动电话市场以外。Android 也可以用于其他的平台和应用程序。
黑莓和 iPhone 都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体。黑莓是企业业务用户的不二选择。但是,作为一种消费设备,它在易用性和 “新奇特性” 方面难以和 iPhone 抗衡。Android 则是一个年轻的、有待开发的平台,它有潜力同时涵盖移动电话的两个不同消费群体,甚至可能缩小工作和娱乐之间的差别
如今,很多基于网络或有网络支持的设备都运行某种 Linux 内核。这是一种可靠的平台:可经济有效地进行部署和提供支持,并且可直接作为面向部署的良好的设计方法。这些设备的 UI 通常是基于 HTML 的,可通过 PC 或 Mac 浏览器查看。但并不是每个设备都需要通过一个常规的计算设备来控制。
Android 简史
Android 平台是 Open Handset Alliance 的成果,Open Handset Alliance 组织由一群共同致力于构建更好的移动电话的公司组成。这个组织由 Google 领导,包括移动运营商、手持设备制造商、零部件制造商、软件解决方案和平台提供商以及市场营销公司。从软件开发的观点看,Android 正处在开源领域的中心位置。
市场上第一款支持 Android 的手机是由 HTC 制造并由 T-Mobile 供应的 G1。这款设备从设想到推出花了大约一年的时间,惟一可用的软件开发工具是一些实行增量改进的 SDK 发行版。随着 G1 发行日的临近,Android 团队发布了 SDK V1.0,用于这个新平台的应用程序也浮出水面。
为了鼓励创新,Google 举办了两届 “Android Developer Challenges”,为优胜的参赛作品提供数百万美金的奖励。G1 问世几个月之后,随后就发布了 Android Market,它使用户可以浏览应用程序,并且可以将应用程序直接下载到他们的手机上。经过大约 18 个月,一个新的移动平台进入公众领域。