Topwo博客
首页
博客
项目
Android打包流程Gradle Plugin 主要 Task 分析
Android
2021-11-25
## Android 打包流程 官方流程图:  ### 1.编译器将您的源代码转换成 DEX(Dalvik Executable) 文件(其中包括 Android 设备上运行的字节码),将所有其他内容转换成已编译资源。 ### 2.APK 打包器将 DEX 文件和已编译资源合并成单个 APK。 不过,必须先签署 APK,才能将应用安装并部署到 Android 设备上。 ### 3.APK 打包器使用调试或发布密钥库签署您的 APK:
阅读原文>>
如何将自定义task在gradle系统task运行前后执行
Android
2021-11-25
在使用gradle构建android应用的过程中,build tools提供的标准gradle task有时没法满足自己的要求(比如上传、自动构建),或者有些问题需要一些自定义task才可以解决(比如使用自定义task动态修改一些文件),这个时候就需要自定义task并结合标准task一起在构建版本的过程中达到自己的目的,那么如何让自己写的task能放在指定标准task后运行呢?(或者说hack) 以我最近解决的问题为例: 因为公司的产品使用了百川的jar包和so文件,但在使用build tools2.2.0的过程中,发现要打包的so文件被构建系统修改了(官方bug,询问无果,暂无解),导致了阿里云推送无法正常工作,于是我编写了一个task,在即将打包时,把正常的so文件替换掉损坏的so文件。 实现如下: ```Groovy //开始--》移动正常的so文件到打包目录中 task moveLibToTrip1(type: Copy) {
阅读原文>>
从Gradle生命周期到自定义Task挂接到Build构建流程全解
Android
2021-11-24
我们知道Gradle构建工具非常的灵活,它提供了一系列的Api让我们有能力去修改或定制项目的构建过程,在项目的编译过程中,插入我们自己的 Task 并执行相关的操作,如:多渠道打包,ASM代码织入和资源的检测等。 要想实现这些功能,首先就需要明白Gradle的构建流程,知道Gradle在每个阶段都做了什么,加上自己需要在哪个阶段做什么事件,就可以通过Gradle提供的Api,插入我们想要执行的代码。因此理解Gradle的生命周期和Hook点,有助于我们梳理、扩展项目的构建流程。 Gradle的构建过程有着固定的生命周期,理解Gradle的生命周期和Hook点,有助于帮你梳理、扩展项目的构建流程。 ## 一、Gradle 构建生命周期 Gradle的构建过程有着固定的生命周期,分别是: 1. 初始化阶段
阅读原文>>
Gradle计算文件md5和Sha1
Android
2021-11-23
``` import java.security.MessageDigest; apply plugin: 'com.android.library' // 计算文件SHA-1 def calcFileSha1(File file) { MessageDigest md = MessageDigest.getInstance("SHA-1"); file.eachByte 4096, {bytes, size ->
阅读原文>>
Gradle中常用的路径环境变量
Android
2021-11-18
## rootDir > The root directory of this project. The root directory is the project directory of the root project. ## projectDir > The directory containing the project build file. ## buildDir > The build directory of this project. The build directory is the directory which all artifacts are generated into. The default value for the build directory is projectDir/build 对于Gradle而言,每个project下,都一定会有一个build.gradle,以下是在每个build.gradle中打印的值。
阅读原文>>
yum无法使用
其他
2021-11-17
`yum -y install xxx`报错: ``` Loaded plugins: fastestmirror Determining fastest mirrors There are no enabled repos. Run "yum repolist all" to see the repos you have. To enable Red Hat Subscription Management repositories: subscription-manager repos --enable <repo> To enable custom repositories: yum-config-manager --enable <repo>
阅读原文>>
Nginx安装与使用
其他
2021-11-14
## 前言 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。 ## 1.Nginx安装 Nginx需要依赖下面3个包: 1. openssl 库,ssl 功能需要。 2. zlib 库,gzip 模块需要。 3. pcre 库,rewrite 模块需要。 依赖包安装顺序依次为:openssl、zlib、pcre,然后安装Nginx包。
阅读原文>>
Markdown的转义字符
其他
2021-11-12
| 字符 | 转义 | 字符 | 转义 | 字符 | 转义 | | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | |�|�;||;||;| ||;||;||;| ||;||;||;| |	|	;| |
;||;| ||;| |
;||;| ||;||;||;| ||;||;||;| ||;||;||;|
阅读原文>>
com.android.tools.build:gradle升级注意事项
Android
2021-11-12
## 1. com.android.tools.build:gradle:4.0.0 对应gradle-6.1.1-bin.zip。 ## 2. android.mk中 LOCAL_MODULE := cocos2djs_share,改为LOCAL_MODULE := cocos2djs。 ## 3. app/build.gradle中android节点下添加: ``` //指定jdk版本 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8
阅读原文>>
解决升级gradle-5.1.1后apt注解解释器不执行的问题
Android
2021-11-12
如题所示,在gradle-4.10.1时编写的注解库,由于要使用kotlin混编,所以必须升级gradle,当升级到在gradle-5.6.4后,突然发现apt的注解器一个也不执行了。   经过一番挣扎和疑惑,最终确定解决方案:  > 就是auto-service不仅要implementation,还需要annotationProcessor ``` implementation 'com.google.auto.service:auto-service:1.0-rc6'
阅读原文>>
首页
上一页
20
下一页
尾页
文章推荐
Android打包流程Gradle Plugin 主要 Task 分析
2021-11-25
如何将自定义task在gradle系统task运行前后执行
2021-11-25
从Gradle生命周期到自定义Task挂接到Build构建流程全解
2021-11-24
Gradle计算文件md5和Sha1
2021-11-23
Gradle中常用的路径环境变量
2021-11-18