问一下,怎么给自己的手机重新编译python一个新的android系统

安卓系统(android)怎样才能成功编译安装‘make’命令_百度知道
安卓系统(android)怎样才能成功编译安装‘make’命令
u0_a99@hct82_wet_jb5:/ $ su
u0_a99@hct82_wet_jb5:/ # cd make-4.0
u0_a99@hct82_wet_jb5:/make-4.0 # ./configure
提示:sh: ./configure: No such file or directory
u0_a99@hct82_wet_jb5:/make-4.0 # sh configure
提示:ls: Unknown option '-i'. ...
我有更好的答案
您好,关于编译Android源码的问题,我之前也纠结了很久。。
首先要保证下载的源码正确性,然后是系统,最后检查系统相关工具是否安装成功。 具体步骤可以参考如下文章,按照上面一步步操作,包含了很多问题,希望能够帮到你~~参考资料:
采纳率:82%
make命令不是编译源码吗,安卓系统只是简易的基于linux系统平台,没有这个命令的。
您好,关于编译Android源码的问题,我之前也纠结了很久。。
首先要保证下载的源码正确性,然后是系统,最后检查系统相关工具是否安装成功。 具体步骤可以参考如下文章,按照上面一步步操作,包含了很多问题,希望能够帮到你~~
盏童话古勾进取心妊
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源码的问题,我之前也纠结了很久。。
首先要保证下载的源码正确性,然后是系统,最后检查系统相关工具是否安装成功。 具体步骤可以参考如下文章,按照上面一步步操作,包含了很多问题,希望能够帮到你~~参考资料:
其他3条回答
为您推荐:
其他类似问题
安卓系统的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Android系统
在电子工程世界为您找到如下关于“Android系统”的新闻
根据国外媒体的消息,华硕最近在海外市场发布了一款叫做ZenFone Live L1的手机产品,这款产品并不是什么高端机型,配置非常入门,不过他却是一台支持Android Go的手机。Android Go是谷歌针对发展中国家和新兴手机市场推出的简化版Android系统,目的是让这些地区的用户可以用相对较低的配置更稳定的运行Android操作系统。也算是针对智能手机普及做的工作...
制造行业高度IT化。去年销售的智能手机中85.1%使用的是android系统,14.8%使用的是ios系统,使用其它系统的比例不到0.1%。除了苹果的自成一派,所有智能手机厂商在操作交互上都难以形成实质性的差异化。(当然,马上要发布“革命性操作系统”的锤子手机例外。)  芯片方面,所有的Android阵营都在Qualcomm和MTK两家高低搭配的厂商中按需选择。三星和华为进行着有限...
机型,而国行版本则会运行Flyme系统。爆料还称,这款机型其实早在2月份的时候就已经有消息了。Android Go是一种精简版的Android系统,可以运行在运存1GB以及更小内存的手机上,这些手机主要面向低端市场,价格普遍在人民币百元以及刚过千元档位上。根据IT之家此前的报道,这款产品已经在研发当中,预计将在未来一段时间就将问世,但具体发布时间还是未知数。...
  据南华早报消息,有知情人士透露,华为从2012年开始,就一直在构建自己的操作系统,不仅包括智能手机,还涉及平板电脑和个人电脑。下面就随手机便携小编一起来了解一下相关内容吧。  从4月16日美国商务部禁止中兴通讯未来7年内使用美国任何产品和服务后,中兴被外界担忧可能失去继续使用谷歌Android系统的权限,这也引发了国内手机厂商的集团危机:中国是否需要研发自己的智能手机操作系统...
与应用系统服务方案开发的上海翊视皓瞳(Top Smart)长期以来正致力于发展AR/MR/XR的系列应用技术,并已累积了深刻的经验与know-how,在今年MWC世界通信大会上推出了全球首款Android系统&J-Reality& MR智能眼镜参考设计方案,并荣获MWC2018 &Best Connected Consumer Device&quot...
2018年下半年将有更多的机种上市。  苹果是首家引入指纹技术作为主要生物识别功能的公司;2013年苹果在iPhone上推出Touch ID。 随后,Android系统于2015年正式从系统端原生地支持指纹识别。 这些因素造成了指纹识别应用在过去几年有了急剧增长。同時,也由于指纹识别的便利性和直观的使用方式,广受消费者喜爱。2017年智能手机总出货量中,约有60%以上的比重采用...
2018年下半年将有更多的机种上市。  苹果是首家引入指纹技术作为主要生物识别功能的公司;2013年苹果在iPhone上推出Touch ID。 随后,Android系统于2015年正式从系统端原生地支持指纹识别。 这些因素造成了指纹识别应用在过去几年有了急剧增长。同時,也由于指纹识别的便利性和直观的使用方式,广受消费者喜爱。2017年智能手机总出货量中,约有60%以上的比重采用...
也能够有顺畅的使用体验。据官方介绍,这款系统能够给手机的性能表现提升15%,应用的占据空间也会减少50%,甚至还有些专属的应用如YouTube Go、Google Maps Go、Gmail Go 等。以Samsung平时的作风,并不会推出搭载最新Android系统的入门级手机,然而这一次却大有不同。 根据跑分库中所获得的规格信息,这部型号为SM-J260G的智能手机将会配备...
4月25日消息,魅族全球营销负责人Ard Boudeling在国外社交媒体推特上宣布,魅族正在与谷歌合作推出旗下首款Android Go智能手机。Android Go是谷歌在2017年I/O全球开发者大会上推出的专为入门手机设计的Android系统,相当于简化版的Android O系统,可以在1GB甚至更小运存的手机上运行。  Android Go系统主要由三部分组成:轻量级...
作为主要生物识别功能的公司;2013年苹果在iPhone上推出Touch ID。 随后,Android系统于2015年正式从系统端原生地支持指纹识别。 这些因素造成了指纹识别应用在过去几年有了急剧增长。同時,也由于指纹识别的便利性和直观的使用方式,广受消费者喜爱。2017年智能手机总出货量中,约有60%以上的比重采用了指纹识别技术。因为使用者偏好更好的视觉体验,智能手机品牌推动...
Android系统资料下载
在DemoJavaScriptInterface中定义: 例如该实例中
的clickOnAndroid。详细见代码。
51、简单的订机票系统源码
用调用webservice获取xml,将获得xml再解析出来
52、获取Android系统程序信息
如题,详细见代码。
53、加载网页进度条
标题栏显示网页标题并且滚动,并且用进度条显示网页的加载进度(重新自定义标题栏。详细...
Android系统概述,Android系统的开发综述,Android的Linux内核与驱动程序,Android的底层库和程序,Android的JAVA虚拟机
和JAVA环境,Android的GUI系统,Android的Audio系统,Android的Video 输入输出系统,Android的多媒体系统,Android的电话
部分,Android的连接部分,Android的传感器系统...
Android的系统构架 /2
1.1.2 Android的初始化流程 /5
1.1.3 各个层次之间的相互关系 /8
1.1.4 Android系统开发(移植)和应用开发 /11
1.2 获取和编译Android的源码 /13
1.2.1 环境配置 /13
1.2.2 获取Android源码 /14
1.2.3 编译Android的源码及其工具包 /16...
《android技术内幕:系统卷》
第1章 准备工作 /1
1.1 深入认识android /2
1.1.1 android的系统构架 /2
1.1.2 android的初始化流程 /5
1.1.3 各个层次之间的相互关系 /8
1.1.4 android系统开发(移植)和应用开发 /11
1.2 获取和编译android的源码 /13...
Android技术内幕--系统卷完整版(高清扫描含书签)
第1章 准备工作 /1
1.1 深入认识Android /2
1.1.1 Android的系统构架 /2
1.1.2 Android的初始化流程 /5
1.1.3 各个层次之间的相互关系 /8
1.1.4 Android系统开发(移植)和应用开发 /11
1.2 获取和编译...
黑白名单拦截、电话录音.rar
Android系统源码获取及编译.zip
android项目实例 商业项目源代码.rar
Gmail备份手机短信【源码】.zip
http 演示Demo.zip
OA精灵2011_Android版.rar
PopWindow.rar
Preference_Demo.rar
TestListView02.rar...
;android 2.2在cortex-a8系统的移植与开发,系统讲述android体系结构、开发环境与编译,android bsp的移植与开发(包含bootloader、内核移植、hal实现等),以及android应用程序开发指导。
   本书可作为工程技术人员学习最新的cortex-a8高端嵌入式系统软硬件开发技术的入门教材,掌握wince 6.0以及android系统在高端应用处理器系统上的实战演练...
剖析:基于0.12内核.pdf
http://www.eoeandroid.com/thread--1.html Android系统级深入开发—移植与调试--385页64M
http://www.eoeandroid.com/thread--1.html Linux-内核设计的艺术-42M-高清完整版-201107
  在基于Android系统的导航出现之前,智能导航系统更多是基于WinCE系统。但是,WinCE的软件开发需要缴纳一定的授权费用,这使得WinCE系统的可扩展性受到了极大限制,在Android应用的驱动下,如今的导航仪不仅能够提供基础的导航服务,还能通过Wi-Fi或3G与移动互联网的连接来实现更多的在线功能,无论是在线视频、在线音乐,还是浏览新闻、玩微博都可以轻松的实现...
ifest.xml文件简介 
  3.2 应用程序的内部通信 
   3.2.1 Handler类简介 
   3.2.2 使用Handler进行内部通信 
  3.3 应用程序组件之间的通信 
   3.3.1 Intent类简介 
   3.3.2 IntentFilter类简介 
   3.3.3 示例1:与Android系统组件通信 
   3.3.4 示例...
Android系统相关帖子
赶在I/O开发者大会前,谷歌也是发布了新的Android系统,而这是一款针对家电和其他设备设计的独立系统。
这款全新的Android系统被冠以Android Things的名称,最大的亮点是,Google Assistant虚拟助手的加入,这样以来搭载这个新系统的设备,你就能更好的语音操控了。
其实在Android Things之前,谷歌已经面向汽车、智能手表和电视机发布了类似的系统,这样...
武汉中证通合肥分公司看据南华早报消息,有知情人士透露,华为从2012年开始,就一直在构建自己的操作系统,不仅包括智能手机,还涉及平板电脑和个人电脑。
从4月16日美国商务部禁止中兴通讯未来7年内使用美国任何产品和服务后,中兴被外界担忧可能失去继续使用谷歌Android系统的权限,这也引发了国内手机厂商的集团危机:中国是否需要研发自己的智能手机操作系统作为备份?
根据Gartner数据...
STM32F103C8T6主控芯片与云之间通讯。
2 移动终端设计
& &&&移动终端的设计要取决于数据类型和指令的执行方式。在对需求分析之后,移动端采用当前广泛流行的开放的Android系统进行移动控制终端的设计,配合机智云的开放数据库,使该终端具有良好的扩展性。然后设计出各个功能的模块的界面,包括图标、电灯的开关功能、反馈的设备状态数据的显示方式...
的效率,降低开发者接入的成本;
4、负责帮助客户和开发者在设备端上的智慧城市应用实现;
5、负责协助和支持IoT合作伙伴解决方案移植后的系统功能及稳定性问题。
职位要求:
1、本科以上学历,电子、计算机、通信相关专业;
2、精通嵌入式操作系统,熟练掌握线程模型/进程调度/内存管理/文件系统,至少精通freeRTOS或Threadx一种RTOS系统,有Linux/Android系统...
4、基于IOS/Android系统的手机和PDA软件开发,控制我们研发的电路板,可以应用地方广泛,各行各业都可以应用。
5、基于WINDOWS XP/7软件开发,按需求和功能定制。 公司团队拥有超强的技术能力;根据难度大小;只要提出您的要求是合理可行的;我们就保证在15-30天(一般15天内)出样品;
总之:我们公司一直致力于服务客户;忠于客户;做到精益求精。& &——“真诚合作,欢迎...
:个人身份识别系统。
3、基于人体红外感应技术:灯光感应系统。
4、基于IOS/Android系统的手机和PDA软件开发,控制我们研发的电路板,可以应用地方广泛,各行各业都可以应用。
5、基于WINDOWS XP/7软件开发,按需求和功能定制。 公司团队拥有超强的技术能力;根据难度大小;只要提出您的要求是合理可行的;我们就保证在15-30天(一般15天内)出样品;
总之:我们公司...
VS-RK3288W 和VS-RK3399 的Android系统永不休眠如何修改?
基于Android 7.1系统,系统永不休眠问题:
1、永不休眠
\frameworks\base\services\core\java\com\android\server\power\PowerManagerService.java
判读getScreenOffTimeoutLocked...
共享VS-RD-RK3288 Android平台说明:Android系统编译整套源码包对PC机硬件要求很高,不建议采用虚拟机编译,强烈建议直接安装Linux操作系统,充分发挥PC机的性能。我们这里以ubuntu14.04 64位系统机器为例讲解,如果您是新手,建议与我们版本保持一致。
具体操作如以下文件所示:
此内容由EEWORLD论坛网友videostrong原创,如需转载或用...
√√MY-IMX6-EK140P√√MY-IMX6-EK200√√√MY-IMX6-EK314√√√MY-IMX6-EK336√√评估板型号
(Evaluation board)Android系统版本支持 (Supported Android versions...
; 这个目标听起来相当夸张,按照Counterpoint统计,去年黑莓手机第四季度全球17万部,而按照400美元以上就算高端手机的宽泛标准的话,去年估计有3.2亿部被卖出,而黑莓手机想要完成这个目标,至少要出售1000万部,每季度至少300万部,这非常困难。
& & 现在的黑莓手机已经全部转投到Android系统上了,因为RIM已经接连对外发出公告,将在明年年底前全面停止...
Android系统视频
Microchip Android系统配件开发平台...
你可能感兴趣的标签
热门资源推荐如何将自己的项目编译到Android系统中,成为应用程序 - 女剑客 - 博客园
随笔 - 29, 文章 - 0, 评论 - 0, 引用 - 0
1、下载Android系统的源码包(不同手机用的不一样,根据自己的情况合理下载,这不做介绍)
2、解压下载下来的源码包(若是.tar.gz文件,解压方式如下)
& & tar -xzvf 文件名
3、在解压包的alps/packages/apps下面新建一个文件夹 ***(项目名),将自己的项目的里面的main文件下的数据复制出来放在新建的文件夹下,并将java文件名改为src,最重要的一点是新建一个Android.mk文件,这个文件必须要有,可参照apps/下面的项目里面的.mk编写,最简单的编写是如下:
LOCAL_PATH:= $(call my-dir) & &//Android.mk文件和项目文件在同一个文件里可以这样写
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := 项目名
include $(BUILD_PACKAGE)
4、编译整个工程
./oneCmdMake &系统项目名 &userdebug & & & //这里可以是userdebug、eng、user
5、单一模块编译
./moduleMake userdebug mmm packages/apps/项目名 & & &//注意,这里的编译选项必须一致,不然后面很麻烦
如果编译成功就可以开始刷机了,编译不成功就看error是怎么提示的,如果刷机后,手机上面没有你的项目,就执行 &./moduleMake userdebug snod
再次刷机,一般这样就可以了
整个工程编译成功后以后就不需要在整体编译了,整体编译是一个特别耗时的操作,一般是一个小时左右,但是单一模块编译是很快的,如果以后还需要将自己的项目预置到这个系统中(已经整体编译成功的),只需直接单一模块编译,并用snod进行打包就可以了,这是我认为比较节省时间的方法,另一种方法是将自己的项目名配置到系统配置文件device.mk里面,仿照***PACKAGES+=项目名,再整体编译一次,就不需要打包了。
模块编译(快速将修改过后的项目push到手机上)
&&&&&&&&&&&&&& source build/envsetup.sh&&& # source是用来运行shell脚本的,envsetup.sh里面有mm mmm mmmb等一系列可用的命令,但只有运行了该脚本,里面的命令才能使用&&&&&&&&&&&&&& lunch +平台名&&&&&&&&&&&& & & && #加载平台,这可名字可以在out/target/下面看,例如:正确的情况下是没有generic文件夹的
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&& mmm -B& 项目名&&&&& #编译修改过后的项目,-B 可有可无,这里的项目名要对应所在的路径,编译模块的所有文件,需要-B选项,不加-B 则只编译发生改变的文件
&&&&&&&&&&&&&& adb root&&&&&&&&&&&&&&&&&& #获得手机的root权限
&&&&&&&&&&&&&& adb remount&&&&&&&&&&& #挂载手机
&&&&&&&&&&&&&& adb push& 该项目生成的 .apk 和 .odex文件的位置 &&&&&&&&&&& 对应手机里面的位置&&&&&&&&&&& #把修改并编译后生成的push 到手机中
&&&&&&&&&&&&&& adb shell reboot&&&&&&&&&&&& #重启手机
&对于不能remount的手机,就不能push,可以mmm单一编译后打包make -j16 snod(直接使用),再刷机,选中system下载到手机,可以省很多的时间
阿里最近更新代码后, root 后无法remount需要使用的要做以下处理:adb root 之后,进到adb shell 里。执行命令 echo "enable 0;" & /proc/alog 然后就可以了。
注:当不确定自己是否push成功的情况下,可以到手机的目录下面去看对应文件的修改时间,如
ls -l Utk.apk& 结果会显示文件的修改时间和权限,权限是666时,才正确,时间为你push的时间
m:编译所有的模块&mm:编译当前目录下的模块,当前目录下要有Android.mk文件&mmm:编译指定路径下的模块,指定路径下要有Android.mk文件
eng:工程版本
user:最终用户版本
userdebug:调试测试版本
tests:测试版本
一般而言,tests和userdebug两个版本是不能交付给最终用户的。
犯过的错误及最后的修改:
1、整体编译的时候用的是userdebug,单一模块用的是eng,编译的时候没有注意到,后面改成一样的了能生成oat文件了。
2、自己的游戏项目里面继承是AppCompatActivity,不能被识别,可能是因为包或版本的原因,最后统一改成了Activity.
3、用./moduleMake userdebug mmmb 改成了./moduleMake userdebug snod编译单一模块并打包就成功了
4、注释尽量不出现中文,布局里面的text内容最好写在string.xml中,再去调用
5、./birdCopy 6118SOP_V17_AY_HD_MV1616 userdebug &&&& ./mk_aliphone.sh bird_6737m_35g_m0 userdebug adb new YUNOS_CARRIER_CUSTOM=CMCC_DEEP_COOP
这是对于阿里平台的编译,new是每次整体编译都会清掉原来编译过的数据,如果为了编译时间短,可以不要new改成remake
提高代码的编译速度可参照如何通过自学成为一名 Android 应用开发工程师? - 知乎<strong class="NumberBoard-itemValue" title="被浏览<strong class="NumberBoard-itemValue" title="8,872分享邀请回答google.com
1.4 找工作
1.4.1 策略
当你不断的学习和做项目总结经验,总结遇到的坑和解决方案后,这个时候我们要从草根发展走向专业之路了,所以我们需要一份工作。
面试的时候,大公司对于应届生的要求主要还是集中在基础,所以对于数据结构+算法以及计算机基础知识是非常重要的。
1.4.2 资料
这个时候我的学习资料主要是:
不过很遗憾的是,后面2本看得比较少了,操作系统更是无法看懂,于是乎只能更多的去刷一些题目。
1.4.3 面试策略
内推+面试经验
内推最好的就是联系上你心仪公司或者产品的直接负责人、面试官或者开发者,比如你可以联系我,QQ空间和腾讯微云(我会直接面试你)都在招聘(强行做个广告)。社交平台是联系他们最好的渠道了,我那个时候就是通过微博找到了百度云的移动端负责人,然后获取了面试的机会(那个时候我们还在做一个百度通讯录的产品)。
面试的策略比较简单,就是先去一些自己不太愿意去的公司,多积累面试经验,把那些不会的都去搜索答案,然后弄懂弄会,然后再去面试自己心仪的公司和产品。
1.4.4 系统学习
进了公司之后你会发现,以前你写的都不是商业化软件,只是实现了功能,完全没法去保证质量和设计。所以工作后有很好的机会去学习商业软件的开发,在这个过程中也是要多依靠自己不断的学习提升,这就是我们的下一个话题了----中级工程师之路update:日
2、中级之路
中级开发者更多还是能够比较好的完成一个大型商业软件的核心功能模块,或者中小型商业软件的整体架构。
2.2 技能树
很多人想要知道技能树,比如通用的:
计算机网络、数据库、存储,数据结构、软件架构和设计、编码语言以及平台特性等技术点。
还有很多很多的技能树,而这些其实都依赖于你的项目经验和项目特性,为了点亮这些技能树,我们抽象出来更抽象层级的技能树。
2.2.1 解题思路为什么解题思路很重要
很多人不解的是,为什么很多大公司总喜欢问一些算法题,而忽略自己的项目本身。其实很多时候当你的项目经历不够或者还不够深的时候,面试官了解不了你得解题思路,不知道你遇到其他复杂问题的时候是否有好的方式去解决。
实践出真知,我来考一个问题,这个是我们实际开发中就能遇到的,比如我们设计了一套数据通知机制,存储结构是链表,这个链表的排序方式是ModifyTime,现在有通知过来要更新一个数据,这个更新的数据ModifyTime也已经变化了,怎么能更高性能的去更新这个数据呢?(这个问题还可以深入下去,除开ModifyTime排序外还可以依赖更多排序规则,这样你的数据结构又是如何),这个策略的优化足够的让我们在大量数据的时候量级的优化性能。 如何提升解题思路
(一)基础扎实
首先我们要有比较扎实的基础技术能力,这个题目我们要的是扎实数据结构和算法能力,如果我们要做上传下载速度模块,那我们就会需要很强的计算机网络和存储这块的基础知识了,这些基础是我们解题思路的保证。
(二)学习很重要
这个学习是学习前人的,学习别人的,其实做很多事情都是有套路的,多去看源码和优秀的一些组件,多跟组内大牛交流,了解别人怎么做的,往往能让我们思路更加的开阔,从而让我们也有更加多的解题思路。
软件架构和设计
知道解题是第一步,思路有了,但是如何才能让我们的代码更加方便维护和扩展呢?
现在的大部分童鞋都是基于面向对象的开发方式了,大家知道为什么你的项目开发不用面向过程的写法呢?(虽然很多时候我们还是面向过程的开发)面向过程 VS
以前我们总是吐槽,产品经理没事就改需求,互联网产品的开发更多的时候是面向变化的,而面向过程的开发是需要明确需求的情况下开发的,否则一旦需求变化你的流程可能就全不对了,整体都需要重写。这也是为什么,我们很多时候用面向对象的语言基于面向过程的开发,在需求变动后是那么的难以维护,所以只有吐槽产品经理。如何提升
很多人对没有设计经验的同学推荐设计模式的书籍,这些我是不推荐的,那些设计模式是我们在建房子基础上的装饰,最关键我们要解决的问题是:如何从现实世界映射到对象世界
如何通过对象世界去描述现实世界的方法如何验证对象世界的行为是否正确反映了现实世界的方法。这里我推荐几本书:
有了这个基础之后,你可以看看设计模式,更为重要的是多看优秀组件或者系统源码,这些源码的设计和对设计模式的应用是非常多的,能帮助你在良好的建模之后还产生更多优雅的代码。
2.2.3 经验 (一)经验的作用
好的工程师有丰富的开发经验,一个业务在你做之前他就知道瓶颈在哪里,需要注意哪些地方?
举个例子:关于错误码的设计,一个业务模块错误码的设计是否可以随意设计呢,只要和后台不重复即可?
那么问题来了,我们现在要针对一些错误进行重试,那么遇到错误码后我们怎么区分应该重试还是不重试呢?如果写死几个错误码,那以后扩展了怎么办,后台下发如果不及时或者错误码越来越多了怎么办?
这个时候老司机会告诉你,老司机会告诉你HTTP的错误码设计很好,因为他是依赖数字段:
(二) 如何拥有丰富的经验
项目经验+总结+重复造轮子
项目经验丰富你自然而然懂得就多,踩过的坑就越多,多总结你才能记忆更深刻,更加能够系统性的去归纳这些经验,重复早轮子你才能知道没做过你总会错过那么多的坑。
多看优秀的源码,有可能的话重复造一遍也挺好的。
2.3 开阔的视野
很多国内技术项目怎么来的呢,因为国外有优秀的解决方案了,比如当年FB解决了2.3的LinearAlloc的问题,国内的解决方案开始爆棚了。比如FB的Buck构建,国内多少技术团队基于此做了构建优化(也得到了晋升)。这里我就不多说了,有能力的同学多做做创新吧。
这个问题值得大家收藏下
2.4 培养他人和带领技术团队的能力
这个领域我暂时就不展开了。接下来就是高级之路的分享了
3、高级之路
未完待续PS:知乎排版怎么都给丢了,大家将就着看吧。。。35342 条评论分享收藏感谢收起Amazon.com上面的Android学习资料,找到一本排名第一的,叫做Android Programming:The Big Nerd Ranch Guide,跟着一起学,由于学的有点急躁,大概花了一个月多,感觉效果是有,但是不是很好,然后在知乎上看到有人推荐TeamTreeHouse,试用了一下,感觉很好,于是注册了会员,开始学习,这个阶段的学习持续了两个月,感觉效果很明显,而且视频的里面,都把资料讲的浅显易懂,看了以后,兴趣大增,很建议选择这个作为入门的学习资源第三阶段:深入学习其实学完第二阶段,我就已经开始慢慢的投简历了,但是都没有任何回应,于是有开始了新的阶段的学习,这个时候,我选择了Udacity,里面的一个Android的学习课程,虽然说也是基础的 课程,但是讲的比TeamTreeHouse的深入许多,而且更加的贴近实际工作情况,不过讲的没有前者详细,所以在学习过程中,需要自己翻阅资料,整个过程也是持续了一个月多,我现在的这份工作,就是在这课程学完不久后找到了后记:其实通过自学,想达到用人单位的要求,其实是相当困难的,我学了快八个月了,投出去的简历,也几乎是渺无音讯,期间的打击是肯定有的,不过还好坚持了下来,我的建议是,如果选择了这条路,就一定要有足够的毅力,并且能够在简历、面试被拒绝后,心无旁骛的继续学习,直到达到目的为止,而且这个阶段没有一个固定的时间,如果不是我现在的主管看中我的一些其他品质(不是我的Android开发实力),我也不会被录用,可能还要继续的学习几个月,所以自学这条路只属于肯坚持下来的人,祝好!后后记;现在在新的公司上班,由于我也只是刚入职不久,也有许多没有上手了,做起来也没有之前想象的简单,毕竟是工作了,也容不得疏忽,于是压力也大了起来,不过毕竟现在做的是自己喜欢的工作,感觉之前的付出,值得,我希望后续想自学的人,一起努力吧。***********************update:现在上班已经有快两个月了,做个更新吧刚找到工作那家公司,是一家创业公司,我进去的时候,公司正在转型,Android开发的工作很少,我就去基本都是在看别人现成的代码,呆了一个月之后,公司突然辞退了两个Android开发的,包括我,理由是公司决定转型做平台,暂时不做Android客户端,下午四点通知,六点就走人,当时确实有点彷徨,也有点担心。回到家马不停蹄的投简历,把自己的工作经历写成了半年(实际只有一个月),四天后获得了一个面试,是一家做Android定制的,在面试的时候,我夸大了自己的开发实力,由于我渴望通过工作来增加阅历,于是进来了。新的工作开始后,让我庆幸的是,之前吹的牛皮,基本上在努力后,也基本实现了,公司需要完成的项目,也都可以按时完成,现在的进度差不多是一周的时间,就可以初步开发出一款电商类的APP,由于公司自有我一个Android开发的,不知道这种进步算什么水平。总之,很庆幸的是,很多知识都可以通过自学掌握,那些不会实现的功能,也可以通过摸索而实现,也让我信心更坚定了点,真的非常感谢前人在网上发布的博客内容,给予我的帮助真是太大了,同时我也开始自己写博客了,把工作中有价值的问题和解决方法记录下来,希望对别人有些许帮助。打算这一两天申请转正,心里还是有点忐忑啊,太盼望这一天了!!!*********************update: 这次更新的主要理由是公司终于同意我的转正了,只是工资没有预想的多,只涨了八百,现在已经基本上手了,碰到的问题很多也是都可以独立解决,而且还能抽出空余的时间,学点新的东西,这次的转正对我本人来说,意义非凡,至少证明了,我这么久的努力还是值得的,而且现在可以靠着这份手艺挣到钱,而且这份工作是我确实喜欢的。接来下我计划会是继续的加强自身的开发实力,多阅读 牛人的博客和代码,真的收货非常大,而且知道的多了,也比较清楚自己的接来下要努力的方向,所以我会朝着这些方向去努力,不过会没以前那么拼命了,之前只顾着转职,陪家人老婆的时间少了许多,现在稍微稳定点了,我想慢慢的补回来,不知学习不会放下的争取在三个月左右,再涨一次工资吧,在这里立下证据,待日后核验。******************************updata:最近的工作由于比较大的变动,于是在这里记录下首先,公司说的涨薪的八百,实际到了第二个发工资的时候,发现其实只涨了四百,期间说了各种理由,总之是这是一家不靠谱的公司,不靠谱的老板工作方面,我自己独立完成了一款APP的开发,从零开始,一直开发到上线推广,中间也碰到了种种的问题,在努力下也都一一解决了,这个是我在这家公司最大的收货,第一个项目结束后,开始试着投简历,无意中找到了一家新的公司新的公司经历了三轮面试,第一轮是人事的,我把我的工作经验说成了八个月(实际四个月),然后是项目总监,最后是老板,整个面试过程很顺利,由于公司没有安卓的开发人员,所以我那些技术上的吹嘘也都一一瞒过去了,最终被录用了,新的公司,待遇比之前的高了一千,上班时间也改成了五天7.5小时,老板跟公司的环境跟上家比,都好了许多,工作也基本上可以胜任,好歹也是有点真本事,不是完全的吹嘘,最后,总结下对个人比较有帮助的部分:1、写博客:写博客不仅可以激励自己学习新的东西,而且以后碰到类似的问题,直接从博客中copy代码,简单省事;2、把代码中重复的模块写成一个工具类,下次调用直接简单的一行代码就可以实现了,比如emptyView, viewPageIndicator。3、从github上照搬代码的时候,记得读懂里面的代码,真的帮助很大,那些大神的代码真的写的太好了,每次读完都很有收获。4、工作中碰到不懂的,切勿马上搜索答案,先查看官方api接口,寻找思路,最后再用搜索引擎暂时就这些了,其实我还只能是入门级别的,能有更深入一级的体会的时候,再来记录下。。***************************update:刚好现在有空,继续更新下吧目前的这家公司各方面感觉都还可以,虽然目前是我一个人独立负责Android的开发,基本上是上手的,在技术上是没有碰到什么解决不了的问题,碰到很多不懂的内容,在Google搜索后,基本都找到答案了,或者寻找相关的源码去了解下,也都可以一一的解决,这几个月,可以感觉到自己在技术上又有了不错的提升,现总结如下,希望有所参考;1、尽早从Eclipse迁移到Android studio。虽然去年就开始接触studio了,当也是懵懵懂懂,今年随着1.0正式版本的发布,心里就痒痒的,想迁到studio上面来,由于对Gradle的不熟悉,还有配置等各种原因,一直没有迁移,不过也有陆陆续续的练习使用,在基本熟悉了,就开始迁移目前的工作项目了,迁过来了以后,就再也回不去了,Android studio真的比Eclipse好用太多了,你越熟练使用它,它就越好用,特别是github上面很多项目都是基于Gradle的,集成到studio中很方便,总之,强烈建议迁到studio开发平台上来。2、学习使用Git。公司用的版本工具是SVN,我估计很多公司都是用这个,我试了在studio上面集成SVN,可是试了很多次都失败了,又听说git很先进,狠下心来学习了git,在Udacity上面有个Google开发的Git学习课程,免费的,粗略掌握后,就开始摸索在studio上面使用git,发现studio对git的集成太好了,虽然网上这方面的资料很少,但是基本上摸索了些就学会了,基本所有的git操作都可以在studio上进行,不用使用Git原生的命令,方便异常,另外在配合Bitbucket,简直太好了,用Android studio + Git + Bitbucket,可以天下无敌了啊,哈哈!3、代码方便维护和复用。在实际的开发过程中,发现很多方法都是相同的,特别是网络访问这块,对于相同的方法,尽量写在一个公用的BaseFragment或者BaseActivity中,这样在后期,如果接口有改动的话,不需要每个页面都改动,只要改动通用的方法就可以了,还有在每个页面的代码结构要足够清晰,多谢方法,不要很多代码写成一坨,这样后期不好维护,会看的晕头转向的。4、使用leakcanary。内存控制是我的薄弱环节,刚好最近Square出了这款工具,可以很方便的检测内存泄露,我在我的项目中一试,真的发现了好多问题,也发现了很多容易造成泄露的书写习惯,嫉妒推荐使用。5、使用AppCompatActivity。如果你的项目还在开发的话,不要用FragmentActivity了,用这个新出的,也是官方推荐使用的,可以很好的兼容5.0以上的系统,另外用了也可以让各种系统的控件Style保存一致,各种好处说不尽,用了就知道了6、BugHD,检测崩溃。并不是每次崩溃都可以被你采集到,这个工具可以采集到你开发的APP的所有的崩溃,免费试用的,关键是集成很方便,我一直在用现在基本上算是入行了,想想之前刚开始投简历的时候,发了一百多封简历,接不到一个面试电话的情况,难免有点唏嘘,虽然上手工作暂时没什么问题了,但是想要进一步的深入,还是有许多的路要走,还是继续努力吧下一步的方向应该是放在进一步研究各种api和效果实现上面,最近发现研究官方的源码,收获很大,官方的代码写的真的是太精辟,太有逻辑性了,很好的学习教材。*************************update:最近工作又有一些变动,在这里做个分享吧原有的公司,因为项目的原因,我已经空闲的快一个月了,预期接下来的几个月都没有什么开发需求,根据我这段时间的表现,公司还是希望我一直留下来的,万一有新的项目,就不用再折腾的招人了,不过空闲对于我自己是莫大的时间浪费,于是就试着看看有没有其他合适的机会,总之,挺顺利了,就找了份不错的新工作。好了,下面分享一些最近新的感悟1、 找工作的选择,我之前都是选择创业公司,很大的一部分原因是因为我的工作经验,很难进入一个大的公司,不过创业公司的失败风险真的很大,特别是那些没有天使轮的,真的很容易死亡,当然项目都的死亡,损失最大的应该是老板,不过对于我们做开发的,也因为的开发的产品没有得到市场的考验,你也不知道你开发的APP到底好不好,有没有什么问题,机型的匹配怎样。说了这么多,个人的经验是工作的选择,还是尽量选择一个靠谱的工作,有更大的用户去使用你开发的APP,这样对你的成长才是真的巨大的。2、 做开发的时候,不仅仅是实现功能,还有代码的优化,结构布局,真的很重要,我这几天看了下Picasso的源码,发现自己的代码真的写的太烂的,一看就是质量不够好的,所以尽量多看一些大神写的代码,了解他的布局和思想,然后再拿来改进自己的代码3、 开发中碰到了问题,记得自己先去思考下解决方案,或者网上Google,不要马上就到群里面去问,我最近退出了很多技术交流群,因为有很多自己都没怎么思考的问题,就抛到群里面来,其实我们做开发的,我觉得解决问题的能力比开发的技术还跟重要,等你熟练自己解决问题了,就会发现其实需要去求教别人的地方是很少的最近接触的多了,就越发现自己不懂的也多了,之前说算是入行了,现在想起来,其实还只能算是入门,如果你也是走写代码这条路,就一起猛干吧,阿门。。。。***********************************************update:最近触动比较多,还是继续更新下吧到了新公司,完整了参加完一个项目下来,感觉自己收获最大的不是技术方面的成长,而是态度方面的成长,良好的态度能够规避很多技术的问题的,刚好有时间,粗略写个总结吧;1、确认好产品文档的技术细节:千万千万要跟产品确认好需求,产品的需求文档会包含交互细节,页面逻辑等,但往往会忽略技术的实现细节,或者在实现起来,有很多的细节需要考虑的,但是都是文档说欠缺考虑的,一般的情况下,一份新的需求,我大概要花费一天的时间,去完整的评估实现方案,在评估完成后,发现有出入的,还需要跟产品重新沟通确认,确认好后,千万要记得让产品更新文档,以后测试好依据新的文档测试。2、在实现一个功能之前,先打好草稿:我做项目经常犯的一个错误是急着写代码,逻辑跟着代码一边写一边走,现在回过头去查看原来写的代码,发现结构混乱,方法各种重复,逻辑耦合度高,总之就是烂,最近静下心来,在完善一个功能之前,先用纸跟笔把各种情景考虑清楚,再把各种逻辑交互处理好,并且用流程图之类的方法表达清楚,然后再开始写代码,这样写的代码明显质量高很多,bug也少,由于逻辑结构清晰,后期的维护跟更新都比较简单。3、加强自测:不知道是不是开发的普遍不喜欢测试,我好一阵都是对测试不感兴趣,提不起劲,感觉没有技术含量,直到提交的代码一次次被测试妹子提的bug给淹没,脆弱的心灵深受打击,于是只好痛定思痛,要加强自测,一般自己写的模块,自己是最清楚的,知道哪些地方容易出bug,基本功能测试一遍,再极端条件再测试一轮,基本没有空手而归的,每次都能发现代码中的bug,不知道有没有那种神一般的程序员,有一双上帝之手,写的代码蹭蹭的出来,而且基本不出bug,我这辈子是没可能到达这种境界了,所以只好老老实实的自测吧。4、分支管理:现在应该一般用git了吧,建议是开一个主分支,这个分支打的包也是测试用的包,然后自己再个分支,在上面开发测试,如果有其他的队友,也各自开分支,新的功能开发自测合格后,再合并到主分支,这样比直接在主分支开发,能够规避许多的bug,说起来简单,我也是一开始忽略了,只好看着满满几十页的bug心里发抖。5、小白心态:一直觉得自己是个小白,对于写的功能,某个方法总是抱着怀疑的态度,对于我来说,抱着小白心态,或者菜鸟心态写代码,明显质量好很多,但是进度慢了不少,如果抱着信心满满的心态写代码,速度明显飙升,但是对于我来说,bug反而会变多,所以我一般尽量让自己保持菜鸟的心态写代码(代码深似海,其实真只能算新手,每次看到Android的源码,都深深的感觉自己跟高手的差距达到估计这辈子不知道可否追的上)对于外行入门Android开发的,尽量去大一点的公司,你的成长会比小公司的大很多,我前几份工作都是小公司,目前这个家公司规模还不错,工作了几个月,就能明显的感觉到之前成长的局限性了*************************update:有一阵没有更新了,刚好有空,做些补充吧,可以的话,这个答复希望一直更新下去在新的公司上班一年多了,基本上适应了这边的节奏,还记得刚进来的时候,怕自己的水平太烂(也确实烂),晚上睡觉心里都会忐忑不安,之前每次找到新的工作,当步子迈的太大的话,内心都会这样纠结,不过这样也有一点好处,他会逼着你往前走,因为你以为把自己逼着没有退路了,开发路上,义无反顾,一往直前。你有没有这种困惑:当你开发了一段时间,简单的该会的会了,复杂的不会还是不会,一开始的时候,能够明显的感觉到自己的进步,最近逐渐发现自己慢慢的进步变慢了,然后又突然觉得开始停滞不前了,有一阵,我自己突然有这种想法,发现自己进步越来越慢了,压力小了,生活也安逸起来,人也变得懒惰起来,不像之前的那种拼,那股闯劲,好可怕,感觉自己沦陷了!于是我试着找回最开始的那种拼劲,接着让自己进入快速成长的路上,不停的接受新的知识,逐渐的,又让我找到节奏了,多亏了github,多亏了开源,安卓网上总是有不停的很好的库开发出来供大家使用,我一边使用这些库,一边查看别人的源码,发现里面的奥妙,慢慢的发现里面的许多实现方式,都让我非常的敬佩,你总能发现许多比你自己写的还好的代码,总是发现自己还有很多的不足,让自己一直保持这种饥饿的状态,原来我还有这么多的不懂,还这么的水,慢慢的找回了这种状态,就像是一开始找工作一样我相信人是习惯于安于现状,特别是现状还不错的时候,但是心态上,不能这样想,要让自己处于一种动荡的心态中,我们的选择,只有不停向前,虽然我已经三十了,看着周边一群群的九零后,我希望我的激情不亚于年轻人,一直保持一份年轻的冲劲!1.1K302 条评论分享收藏感谢收起

我要回帖

更多关于 myeclipse重新编译 的文章

 

随机推荐