android系统源代码单独编译应用程序
通过前面的文章,Android系统源代码编译成功后,我们开始植入第一个应用程序到系统中去。
首先进入到系统源代码目录,在packages/experimental
目录下
新建项目AndyCode,目录结构如下:
MainActivity.java
源代码
package com.byhook.andy;import android.app.Activity;
import android.os.Bundle;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}
}
activity_main.xml
内容如下:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.byhook.andy.MainActivity"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:padding="25dp"android:text="@string/app_hello"android:gravity="center"/></FrameLayout>
strings.xml
内容如下:
<resources><string name="app_name">AndyCode</string><string name="app_hello">Hello World!</string>
</resources>
AndroidManifest.xml
文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.byhook.andy" >android:versionCode="1"android:versionName="1.0.0"<applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:supportsRtl="true" ><activity android:name=".MainActivity" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
最后一个Android.mk
文件内容如下:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := AndyCode
include $(BUILD_PACKAGE)
开始单独编译应用程序:
source build/envsetup.sh
mmm packages/experimental/AndyCode
编译成功之后,重新打包android系统镜像文件system.img
make snod
启动模拟器
emulator &
可以看到我们的应用程序已经打包进去了
打开应用程序
小结:
之前看过《Android源代码情景分析》这本书,但是遗憾并没有将其记录沉淀下来,最近决定重新温习一下,希望能有新的认识和积累,不过原书的源代码还比较老,强烈建议读者使用新的源代码,实例操作。
纸上得来终觉浅,绝知此事要躬行!
android系统源代码单独编译应用程序相关推荐
- Android系统源代码情景分析:基础知识
老罗(罗升阳)发表在的InfoQ上的好文,最新在学习Android,转载一下,方便学习. 老罗的CSDN blog链接:http://blog.csdn.net/Luoshengyang/ 原文链接: ...
- 《Android系统源代码情景分析》一书勘误
在大家的支持和鼓励下,<Android系统源代码情景分析>一书得以出版了,老罗在此首先谢过大家了.本书的内容来源于博客的文章,经过大半年的整理之后,形成了初稿.在正式出版之前,又经过了三次 ...
- Android系统源代码下载
引用:http://www.cnblogs.com/mandroid/archive/2011/06/06/2073473.html 一.概述 众所周知,Android移动操作系统是Google花费了 ...
- Android 笔记 android 7.0 单独编译framwork不生效的解决
android 7.0 单独编译framwork不生效 以前android 5.0系统单独编译时,只需要将out/target/product/sim6737t_66_m_n/system/frame ...
- 老罗的《Android系统源代码情景分析》翻了10遍还看不懂?因为你用错了
最近老朽又把罗升阳老师的<Android系统源代码情景分析>拿出来啃了一番. 为什么要加个"又"呢?因为从老罗的第一版开始到迄今为止尚未更新的第三版为止,每年有学习冲动 ...
- 02 A33 Android系统源码编译
下载源码包,解包后进入Android-SDK/tools目录. 1 先安装dtc-master和fakeroot工具. dtc-master安装方法: 解包后,在源码目录下: make &&a ...
- Android菜鸟的成长笔记(5)——Android系统源代码你下载了吗?
在上一篇中我们用Android系统源代码分析了我们前面写的代码,有的朋友可能就会问怎么才能下载到Google官方的源代码呢?下面我们通过Git管理工具来对Android系统源代码进行下载.另外为了方便 ...
- 获取并编译linux源码,android获取源代码、编译、命令
---my--- 正确的编译android sdk: cd myandroid . ./build/envsetup.sh lunch sdk-eng make sdk //或者: make PROD ...
- 第二讲:Android系统构架分析和应用程序目录结构分析
2019独角兽企业重金招聘Python工程师标准>>> 本讲内容: Android系统构架简介 Android应用程序结构分析 点这里下载:Android学习指南第二讲源代码 一.A ...
- android 网络调试 源代码,一个步骤教你调试Android系统源代码
有时候我们为了搞懂Android系统组件的运行原理,需要查看系统的源代码,但是如果我们不仅能看源码,要是还能调试,岂不是更好更方便. 所以,我们就说下如何调试系统源代码.其实很简单的了. 1.确认自己 ...
最新文章
- 芬兰开放“线上AI速成班”课程,全球网民均可免费观看
- 【codeforces 242E】XOR on Segment
- 卷积神经网络的“封神之路
- python3.5怎么安装pip-在python3.5中使用pip
- 公司前台打印机的连接方法(超级简单)
- python函数默认参数作用域
- PostgreSQL mysql 兼容性之 - 字符编码转换 CONVERT
- php mysql防卡_php mysql防止sql注入详解
- React引入,运行
- stretchlim函数
- Python 数据结构 树
- 一次性通过CISSP考试之旅
- STM32CubeIDE HAL库微秒us的延时Delay实现
- 教你如何写出高效整洁的 css 代码——css优化(转载)
- 安卓双摄像头录像_USB双摄像头app下载-USB双摄像头 安卓版v9.9.1-PC6安卓网
- 在现有oracle服务器上新建一个oracle实例
- 【论文阅读】Structured Pruning Learns Compact and Accurate Models
- 关于MOS管栅极和栅介质(氧化物)的材料选择
- MATLAB实验8:数据处理与多项式计算
- 【Premiere】入门自学 1