gradle

AndroidStudio3.0实现多渠道打包

北战南征 提交于 2020-10-18 03:22:42
多渠道打包概述 什么是多渠道包 渠道包就是要在安装包中添加渠道信息,也就是channel,对应不同的渠道,例如:小米市场、360市场、应用宝市场等 产品在不同的应用市场可能有不同的统计需求,需要为每个应用市场的Android包设定一个可以区分应用市场的标识,这个为Android包设定应用市场标识的过程就是多渠道打包。 为什么要提供多渠道包 国内存在着有众多的应用市场,产品在不同的渠道可能有不同的统计需求,为此Android开发人员需要为每个应用市场发布一个安装包,这里就引出了Android的多渠道打包。 在安装包中添加不同的标识,应用在请求网络的时候携带渠道信息,方便后台做运营统计。 通过配置gradle脚本实现多渠道打包 这种打包方式是使用Android Studio的编译工具gradle配合使用的,其核心原理就是通过脚本修改AndroidManifest.xml中的mate-date内容,执行N次打包签名操作实现多渠道打包的需求。然后就可以在java中通过API获取对应的数据。 多渠道打包实现步骤(友盟为例) 打包配置 按照umeng的要求,manifest文件中需要有(在application下,和activity是并列关系): <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL

[FFmpeg万能音频播放器]android CMake项目准备阶段(一)

大憨熊 提交于 2020-10-17 10:22:39
1.新建c++项目 2.配置NDK路径 这里建议配置NDK版本为:android-ndk-r15c 3.在SNKtool下安装CMake 4.新建Module 并且添加Module (这个module主要用来加载库与写jni) new ->Module FIle ->ProjectStructure 5.在新建的module中写Demo 也就是jni的java通信类 package com.example.myplayer; public class Demo { static { System.loadLibrary("native-lib"); System.loadLibrary("avutil"); System.loadLibrary("swresample"); System.loadLibrary("avcodec"); System.loadLibrary("avformat"); System.loadLibrary("swscale"); System.loadLibrary("postproc"); System.loadLibrary("avfilter"); System.loadLibrary("avdevice"); } public native String stringFromJNI(); public native String

Spring Cloud: 注册中心Consul使用

旧街凉风 提交于 2020-10-17 03:14:25
什么是Consul Consul是HashiCorp公司推出的开源工具,提供了分布式系统的服务注册和发现、配置等功能。与其他分布式服务注册与发现的方案相比,Consul的方案更“一站式”,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案。这些功能每一个都可以根据需要单独使用,也可以一起使用以构建完整的服务网格。 基本术语 代理(Agent):是一直运行在Consul集群中每个节点上的守护进程,通过运行consul agent命令来启动。代理可以以客户端或服务端模式运行。无论是客户端节点,还是服务端节点,都必须运行代理,因此将节点称为客户端或服务器更容易理解。所有代理都可以通过DNS或HTTP接口来检查服务,并保持服务同步。 客户端(Client):客户端是所有RPC转发到服务端的代理。这个客户端是相对无状态的。客户端唯一执行的后台活动是加入LAN gossip池,资源开销很小。 服务端(Server):服务端是具有扩展责任的代理,包括参与 Raft 选举、维护集群状态、响应RPC查询、与其他数据中心交换WAN,以及将查询转发给领导者(Leader)或远程数据中心。考虑到容错和收敛,一般部署 3 ~ 5 个比较合适。 数据中心(Data Center):是一个私有的、低延迟且高带宽的网络环境,由多个客户端和服务端构成。 共识

jenkins svn gradle发版遇到的坑

不打扰是莪最后的温柔 提交于 2020-10-16 18:56:58
背景:三个项目,base项目,server项目,manager项目,server依赖base,manager依赖server 问题1:base项目版本号3.6.5.1,新增了两个类,但是server中打包的时候一直提示找不到新增的两个类 问题排除:查看mvn库中base的包,发现有新增的两个类,然后将服务器上的项目拖到本地构建,发现可以成功,后发现是因为服务器上缓存的问题,gradle发现缓存有base-3.6.5.1.jar,直接应用缓存中的jar包,没有重新下载最新的 问题解决:gradle clean build --refresh-dependencies 构建命令加上参数--refresh-dependencies,强制下载最新的依赖包 问题2:server项目没有推送到远程库 问题排除:查看mvn苦衷是否有server对应版本的包,查看并没有推送 问题解决:gradle clean build --refresh-dependencies publish 项目中gradle引入了插件apply plugin:'maven-publish' 问题3:项目启动失败, 问题解决:日志文件权限不够 问题4:提交代码后重新打包,jar包内容不变 问题解决:打的是release包,release包无法修改内容,第一种方法是修改版本号,第二种方法是打snapshot 来源: