阳光沙滩-课程笔记 阳光沙滩-课程笔记
首页 (opens new window)
VIP (opens new window)
  • 课程笔记

    • 《Android项目喜马拉雅FM》
    • 《Android项目领券联盟》
    • 《AndroidStudio技巧》
    • 《Android自定义控件》
    • 《Android开发基础》
    • 《Android约束布局》
    • 《AOSP安卓开源项目》
    • 《RecyclerView》
  • 《领券联盟Nuxt.js》
  • 《博客系统后台管理系统vue.js》
  • 《博客系统门户Nuxt.js》
  • 《博客系统前后端分离后台》
  • 《博客系统部署》
  • 《摸鱼君后台》
  • 《OTA升级管理系统》
  • 阳光沙滩API (opens new window)
  • 领券联盟API (opens new window)
  • 博客系统API (opens new window)
首页 (opens new window)
VIP (opens new window)
  • 课程笔记

    • 《Android项目喜马拉雅FM》
    • 《Android项目领券联盟》
    • 《AndroidStudio技巧》
    • 《Android自定义控件》
    • 《Android开发基础》
    • 《Android约束布局》
    • 《AOSP安卓开源项目》
    • 《RecyclerView》
  • 《领券联盟Nuxt.js》
  • 《博客系统后台管理系统vue.js》
  • 《博客系统门户Nuxt.js》
  • 《博客系统前后端分离后台》
  • 《博客系统部署》
  • 《摸鱼君后台》
  • 《OTA升级管理系统》
  • 阳光沙滩API (opens new window)
  • 领券联盟API (opens new window)
  • 博客系统API (opens new window)
  • Android开发基础

  • Android项目-喜马拉雅FM

  • Android项目-领券联盟

  • AndroidStudio使用技巧

  • Android-Jetpack

  • ConstraintLayout

  • RecyclerView

  • 自定义控件系列

  • AOSP

    • AOSP课程计划
    • AOSP团队开发模式
    • Android格式化sd卡
    • AOSP-android必备基础知识 Linux Shell
    • AOSP日记,修改分辨率,修改dpi,全屏禁止下拉拖出状态栏
    • Android系统编译说明(AOSP)
    • Android系统编译-AOSP-创建自己公司的产品
    • AOSP-Android系统定制下载系统源码
    • AOSP-Android系统源码目录结构
    • 常见的变量说明
    • 编译Android系统的步骤
    • 安装Samba
    • AOSP-Repo代码管理
    • Android.mk
    • 编译可执行so库和可执行程序
    • AOSP-Androidmk里:=与+=的区别是啥?
      • 实验部分
    • 创建属于自己的产品
    • iphone12
  • ADB

  • 安卓
  • AOSP
TrillGates
2021-12-19
目录

AOSP-Androidmk里:=与+=的区别是啥?

# AOSP-Android.mk里:=与+=的区别是啥?

:=与+=这两个常见于Android.mk文件中

比如说:

LOCAL_STATIC_JAVA_LIBRARIES := android-support-v13
LOCAL_STATIC_JAVA_LIBRARIES += android-ex-camera2-portability
LOCAL_STATIC_JAVA_LIBRARIES += xmp_toolkit
LOCAL_STATIC_JAVA_LIBRARIES += glide
LOCAL_STATIC_JAVA_LIBRARIES += guava
LOCAL_STATIC_JAVA_LIBRARIES += jsr305
1
2
3
4
5
6

可以看到有:=与+=

同样,我们也看到有

LOCAL_STATIC_JAVA_LIBRARIES := \
    android-support-v4 \
    android-support-v7-recyclerview \
    android-support-v7-palette \
    android-support-dynamic-animation
1
2
3
4
5

我们还看到有

LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 android-support-v7-recyclerview android-support-v7-palette
1

其实这三种写法作用是一样的。

前面我们看到

LOCAL_STATIC_JAVA_LIBRARIES := android-support-v13
LOCAL_STATIC_JAVA_LIBRARIES += android-ex-camera2-portability
LOCAL_STATIC_JAVA_LIBRARIES += xmp_toolkit
LOCAL_STATIC_JAVA_LIBRARIES += glide
LOCAL_STATIC_JAVA_LIBRARIES += guava
LOCAL_STATIC_JAVA_LIBRARIES += jsr305
1
2
3
4
5
6

其实可以写成

LOCAL_STATIC_JAVA_LIBRARIES := \
	android-support-v13	\
	android-ex-camera2-portability	\
	xmp_toolkit	\
	glide \
	guava \
	jsr305
1
2
3
4
5
6
7

以上这个是写成多行,换行连接用斜杠,这个做过linux开发的同学都知道的

也可以写成

LOCAL_STATIC_JAVA_LIBRARIES := android-support-v13	android-ex-camera2-portability	xmp_toolkit	glide guava jsr305
1

以上这个就是写成了行了,空格分开

但是,如果这样写可以吗:

LOCAL_STATIC_JAVA_LIBRARIES += android-support-v13
LOCAL_STATIC_JAVA_LIBRARIES := android-ex-camera2-portability
LOCAL_STATIC_JAVA_LIBRARIES += xmp_toolkit
LOCAL_STATIC_JAVA_LIBRARIES += glide
LOCAL_STATIC_JAVA_LIBRARIES += guava
LOCAL_STATIC_JAVA_LIBRARIES += jsr305
1
2
3
4
5
6

如果这样写,android-support-v13就没了

我们可以log输出一下给大家看。

# 实验部分

我们验证一下 :=与+=的区别

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
#首次赋值
CUSTOM_PARAM := 10
#再次给值
CUSTOM_PARAM := 20
#猜猜这里输出啥?20,而不是10
#warning 输出是不是终止往下的,error会
$(warning $(CUSTOM_PARAM))
#再次设置值
CUSTOM_PARAM := 30
CUSTOM_PARAM += 40
#这里输出啥?3040
$(warning $(CUSTOM_PARAM))
CUSTOM_PARAM += 50
#这里输出啥?304050
$(warning $(CUSTOM_PARAM))
#这里是error,终止往下编译了
$(error "test...")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

图片描述

编辑 (opens new window)
编译可执行so库和可执行程序
创建属于自己的产品

← 编译可执行so库和可执行程序 创建属于自己的产品→

Theme by Vdoing | Copyright © 2022-2022 sunofbeach.net
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式