Gradle 与 Android 构建入门
前言 {#前言} ======== 无论是否意识到 Gradle 的存在,每位 Android 程序员都会直接或间接的与 Gradle 打交道。每当通过 Android Studio 新建一个工程时,AS 都会自动创建一个通用的目录结构,然后就可以进行开发,在 app 的 `build.gradle` 中添加一些依赖,点击右上角的 Sync Now,编写代码,点击绿色小箭头 ...
前言 {#前言} ======== 无论是否意识到 Gradle 的存在,每位 Android 程序员都会直接或间接的与 Gradle 打交道。每当通过 Android Studio 新建一个工程时,AS 都会自动创建一个通用的目录结构,然后就可以进行开发,在 app 的 `build.gradle` 中添加一些依赖,点击右上角的 Sync Now,编写代码,点击绿色小箭头 ...
前言 {#前言} ======== Android NDK以前默认使用Android.mk与Application.mk进行构建,但是在Android Studio2.2之后推荐使用CMake进行编译。 CMake是跨平台编译工具,全称为cross platform make,内建c、c++、java自动相依性分析功能。NDK通过[工具链](https://cmake.o...
子模块1:gmath静态库CMakeLists.txt {#子模块1-gmath静态库CMakeLists-txt} ========================================================== |----------------------------------------------------------------------...
前言 {#前言} ======== 本文主要讲解,在Android使用NDK所必须的构建工具 --- CMake。 > 注意:本文是面向Android开发者编写的Cmake基础教程,完全不适用于非Android开发者阅读! CMake 概述 {#CMake-概述} ==================== CMake 简介 {#CMake-简介} ---------...
最近在使用NDK编译JNA接口时报错: |---------------------------------------------|--------------------------------------------------------------------------------------------------------------------------...
CMake简介 {#CMake简介} ================== CMake是跨平台的构建工具,可以用简单的语句来描述所有平台的安装(编译过程)。能够输出各种各样的makefile或project文件。 CMake不直接构建出最终的软件,而是产生其他工具的脚本(如makefile的),然后再依据这个工具的构建方式使用。 AndroidStudio利用CMak...
引言 {#引言} ======== 这个问题是Android Studio和SDK升级后出现的,在编译版本的时候报错。 解决办法 {#解决办法} ============ 两种解决办法: 1. 在targetSdkVersion 上面一行加注释: |-----------|---------------------------------------------...
前言 {#前言} ======== Android项目在Android Studio中编译调试时,报错`android.support.annotation`包找不到。 原因分析 {#原因分析} ============ 1. 新版Android Studio(3.4以后)管理android.support.xxx 相关包改为AndroidX 2. 第三方插件中有的还引用...
引言 {#引言} ======== Android编译报错:`Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes` 具体报错信息 {#具体报错信息} ================ |-------------------------------...
问题描述 {#问题描述} ============ Android项目编译时报错,提示如下信息: `Build was configured to prefer settings repositories over project repositories but repository 'Google' was added by build file ...