源码 linux下编译_android源码下编译apk

背景图来源:click

写在前面

在做android系统开发时,会涉及到底层 system,framework框架以及package相关,如烧镜像版本 大小核,ota升级,provision,settings等内容,完成这些模块功能的时候,少不了源码编译相关的知识

本次会利用空余时间,介绍android源码编译相关内容;其实关注过我知乎或者专栏的人,可以看到在上篇结构化数据probuff使用ota升级4篇内容中就已经涉及到android源码相关的知识点了,如下:

1.结构化数据protobuff的使用。
2.(很重要-小团子也值得一看)如何用android:sharedUserId属性生成带有系统权限的apk?。

版权声明CopyRight:

本内容作者:sunst,转载或引用请标明出处 ,违者追究法律责任!!!

关于android源码编译相关的知识,会分为以下内容介绍,本篇android源代码下编译apk。

258bc68add1f0fcb9b6b75efb466f899.png
图1-android源码篇相关内容-思维导图
1.android 8.1.0 AOSP源码下载。
2.android soong build系统目录结构解析。
3.android源码编译(mac或者Linux系统)。
4.编写Android.mk文件(mk文件编写规则)。
5.android源码下编译apk。
6.android源码下编译项目生成带系统权限的apk。

下面是源代码下编译apk的步骤

1.进入android源码目录下的build下执行:

source envsetup.sh

然后后继续在该路径下执行

lunch

具体可以参考上篇android源码编译 (暂未完成,

2.编写完成工程,编译出签名后的APK文件

3.编写Android.mk文件,放入工程目录下

LOCAL_PATH : = $(call my-dir)  
include $(CLEAR_VARS)  
# Module name should match apk name to be installed  
LOCAL_MODULE := LiFangFang//x  
LOCAL_MODULE_TAGS := optional  
# LOCAL_SRC_FILES := $(call all-java-files-under, src)  
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk//x  
LOCAL_MODULE_CLASS := APPS//x
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)  
# LOCAL_PACKAGE_NAME := LiFangFang  
LOCAL_CERTIFICATE := platform  
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)//x
#LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_APPS)//x  
#LOCAL_PRIVILEGED_MODULE := true//x  
# include $(BUILD_PACKAGE)  
include $(BUILD_PREBUILT)  
# Use the folloing include to make our test apk.  
include $(call all-makefiles-under,$(LOCAL_PATH))

说明:

编译后会生成一个Lifangfang.apk文件,mk文件中带x注释的内容第一种形式的mk文件,把带x删除后是另一种形式的mk文件。

4.编译

拷贝apk至packages/apps/下

~$ cp -rf LiFangFang.apk ~/android/packages/apps/LiFangFang/LiFangFang.apk
进入目录 ~/...../LiFangFang$ mm

编译成功:会在目录下生成lifangfang.apk,具体

out/target/product/product_name/system/app/LiFangFang.apk

5.运行

安装在机子上运行之。 adb install xxx/LiFangFang.apk


以上便是android源代码下编译apk的全部内容,内容很少,但还算详细。

请尊重劳动成果,注意文中版权声明,以上未完成部份,可以点击关注我知乎留意(这里求一波关注,你们的关注是我前进的东西),Android专栏不定时更新,也可以同时关注人工智能专栏,本内容作者sunst,有问题请沟通qyddai@gmail.com

作者:sunst 2019-08-11 11:32
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值