android查漏补缺(2)四种编译目标

一. android.mk四种编译目标

①,apk

android.mk

复制代码
#设置当前路径
LOCAL_PATH := $(call my-dir)
#清除除LOCAL_PATH外的所有LOCAL_XX变量
include $(CLEAR_VARS)

#设置包名,表示编译的是apk
LOCAL_PACKAGE_NAME := SxxiaoVendor

#指定源文件
LOCAL_SRC_FILES := $(call all-java-files-under, src)

#指定编译生成的目标文件格式,未设置会报:unknown target问题,可选
##PACKAGE(APK),SHARED_LIBRARY(.so),STATIC_LIBRARY(.a),EXECUTABLE(EXE),JAVA_LIBRARY(.jar(android dex)),STATIC_JAVA_LIBRARY(jar)
include $(BUILD_PACKAGE)

#指定全编是依赖的镜像
#ALL_DEFAULT_INSTALLED_MODULES += $(LOCAL_PACKAGE_NAME)

#选择platform(核心进程,进程UID为system)来进行签名,build/target/product/security下有四组默认签名
#还可选testkey(普通apk,默认),shared(该apk需要和home/contacts共享数据),media(该apk是/media/download中的一环)
#如果是PRESIGNED,则表示改应用已被签名,不需要再签名
#LOCAL_CERTIFICATE := platform

#该模块在所有版本下才编译,还可选user,eng,tests
#指定optional/eng,apk被安装到/system/app
#指定tests,apk被安装到/data/app
#LOCAL_MODULE_TAGS := optional

#使用后,会使用sdk的hide的api来编译,如果
#LOCAL_PRIVATE_PLATFORM_APIS := true

②,exe

复制代码
#设置当前路径
LOCAL_PATH := $(call my-dir)
#清除除LOCAL_PATH外的所有LOCAL_XX变量
include $(CLEAR_VARS)

#设置包名,表示编译的是apk
LOCAL_MODULE := SxxiaoVendor

#指定源文件
LOCAL_SRC_FILES := $(call all-c-files-under,src)

#指定编译生成的目标文件格式,未设置会报:unknown target问题,可选
#PACKAGE(APK),SHARED_LIBRARY(.so),STATIC_LIBRARY(.a),EXECUTABLE(EXE),JAVA_LIBRARY(.jar(android dex)),STATIC_JAVA_LIBRARY(jar)
include $(BUILD_EXECUTABLE)

③,so

复制代码
#设置当前路径
LOCAL_PATH := $(call my-dir)
#清除除LOCAL_PATH外的所有LOCAL_XX变量
include $(CLEAR_VARS)

#设置包名,表示编译的是apk
LOCAL_MODULE := SxxiaoVendor

#指定源文件
LOCAL_SRC_FILES := $(call all-c-files-under,src)

#指定编译生成的目标文件格式,未设置会报:unknown target问题,可选
#PACKAGE(APK),SHARED_LIBRARY(.so),STATIC_LIBRARY(.a),EXECUTABLE(EXE),JAVA_LIBRARY(.jar(android dex)),STATIC_JAVA_LIBRARY(jar)
include $(BUILD_SHARED_LIBRARY)

④,jar

复制代码
#设置当前路径
LOCAL_PATH := $(call my-dir)
#清除除LOCAL_PATH外的所有LOCAL_XX变量
include $(CLEAR_VARS)

#设置包名,表示编译的是apk
LOCAL_MODULE := SxxiaoVendor

#指定源文件
LOCAL_SRC_FILES := $(call all-java-files-under,src)

#指定编译生成的目标文件格式,未设置会报:unknown target问题,可选
#PACKAGE(APK),SHARED_LIBRARY(.so),STATIC_LIBRARY(.a),EXECUTABLE(EXE),JAVA_LIBRARY(.jar(android dex)),STATIC_JAVA_LIBRARY(jar)
include $(BUILD_JAVA_LIBRARY)
相关推荐
执明wa14 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
404_coder14 小时前
源码视角下的 Android 开机流程:从 Zygote、SystemServer 到 Launcher
android
二流小码农15 小时前
鸿蒙开发:以登录案例了解代码架构MVVM
android·ios·harmonyos
用户693717500138415 小时前
从代码生产者到 AI 协作者:软件工程师的角色重构
android·前端·后端
GitLqr16 小时前
别在 Flutter 的 main() 里乱锁屏幕方向,小心 iPad 分屏功能被你搞没了
android·flutter·ios
sg_knight16 小时前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db
爱笑鱼16 小时前
Binder(四):ioctl(BINDER_WRITE_READ) 之后,事务怎样到达目标进程?
android
AFinalStone16 小时前
Android 7系统休眠唤醒(二)开机全链路—BootROM到Launcher
android·电源管理·休眠唤醒
Mr YiRan16 小时前
Android NDK开发之统计到未被回收的图片
android