编译运行自定义系统应用

在android studio中新建了一个HelloWorld的应用程序,想要把它变为系统级别的应用。现在记录一下转换过程,以及遇到的一些坑。

第一步:在android源码目录/packages/app下面建立HelloWorld文件夹,把/main/*下面的所有文件夹或文件:java,res,libs和AndroidManifest.xml复制粘贴到packages/apps/HelloWorld目录下。把java文件夹的名字改为src,千万不能忘记,不然运行时候会出现找不到类的异常。
第二步:在目录下新建Android.mk文件。.mk文件是android系统中非常重要的编译配置文件。具体语法以及作用如下
 

mk文件的作用


.mk文件的常见属性配置及其作用

第三步:修改在编译过程中会用到的.mk文件,通常是androidsrc/build/target/product/core.mk文件,在PRODUCT_PACKAGES应用列表中追加上HelloWorld应用。
第四步:1、source ./build/envsetup.sh (加载命令列表)
2、lunch      
3、make HelloWorld (编译单独的模块)
4、make snod (重新打包一下system.img文件)
5、emulator(启动模拟器,这样我们就能看到我们添加的app了)
注意有几个坑:
1、layout中所有的text要在string.xml中配置和引用,不然编译时候会出现text内容未定义的异常
2、所有引用的第三方库必须以jar、aar、so的形式放到libs文件夹下,并且在Android.mk文件中加以说明和引用,不然编译时会出现异常。
3、把java文件夹的名字改为src,千万不能忘记,不然运行时候会出现找不到类的异常。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容