首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter封装阿里push

仓库地址:dalipush 因为阿里的推送对小米和华为的离线推送兼容的比较好,因此,我使用flutter将阿里推送封装了一下,效过图,如下所示,这里是将进程杀死之后,小米设备收到的推送效果。...请在网络通畅的情况下进行相关的初始化调试,如果网络不通,或者App信息配置错误,在onFailed方法中,会有相应的错误码返回,可参考错误处理。...,是一种黑科技,可以在进程杀死的情况下,收到推送消息,所谓的离线推送, /////如果需要,注意读一下下面一节,服务端代码那块,如果不需要,直接注释2行,可以满足app在线收到通知...3、修改build.gradle文件 defaultConfig { // TODO: Specify your own unique Application ID (https://...applicationId,这里要填你在阿里上申请的appid相关的那个包名 二个是manifestPlaceholders,这里也注意填写你自己的阿里云key,secret。

9.5K92
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Gradle多渠道打包(动态设定App名称,应用图标,替换常量,更改包名,变更渠道)

    希望用最简单的大白话来帮助那些像我一样的人。如果有什么错误,请一定指出,以免误导大家、也误导我。 最近有个需求一次要打包9个类型的App,而且常量和String.xml都有变量。...虽然之前也是一直存在变量,但是每次也仅仅只打包一个。这让我每次改变量,打包9个。要是以后每次都打包9次,我得疯了。 根据之前的了解,gradle 应该是可以解决这个问题的。所以就仔细研究了一番。...①定义字段 当我们定义如下字段之后,编译后自动生成文件,在 app/build/source/BuildConfig/dev/com.lyl.dev/BuildConfig 目录, 打开这个文件,我们就能看到我们所定义的字段了...在根目录的 build.gradle 里加上如下代码: allprojects { // 加上这个 tasks.withType(JavaCompile) { //使在一个单独的守护进程编译...在 app 级别下 build.gradle 里 加上 android { dexOptions { incremental true } } 最后放上一个多渠道的项目地址

    1.8K60

    Android Studio导入github项目详解

    然后我们要改几个文件,重点来了: 第一个文件: 根目录下的build.gradle,看看我们新建的项目中 // Top-level...的项目中的build.gradle改成我们的版本 第二个文件: gradle文件夹下的gradle-wrapper.properties文件 下载的项目是...gradle版本是2.4,改成我们本地的 第三个文件:app目录下的build.gradle文件 本地的sdk编译版本是23,buildtools版本是23.0.1...因为AS刚出来没多久,现在大部分人还都再用eclipse,而google到年底就不再支持eclipse的adt了,也有好多小伙伴正在转AS,但是AS上的gradle编译有很多错误,但是没关系,一个一个问题解决就...ok了,其实也没多难,要是大家还遇到别的错误的时候可以给我留言,我每天都会看的,会主动帮助大家解决问题的。

    7K32

    Android组件化入门:一步步搭建组件化架构

    步骤一: 新建config.gradle,统一管理build.gradle中的相关内容 然后在项目目录下新建一个config.gradle文件。 ?...步骤四:新建其他组件Module和解决资源文件冲突 接着按照新建ModuleMain的步骤重复新建其他业务Module,这里我新建了3个Module,业务A:ModuleA与业务B:ModuleB和一个...接下来解决资源文件冲突的问题,进入ModuleMain的build.gradle添加下面这行代码,为资源文件命名规范一个统一开头: resourcePrefix "modulemain_" 添加后起名是没按照规范...按要求修改文件名后提示消失。 ? 步骤五:使用ARouter进行组件间通信 接下来就要处理组件间的通信问题,采用阿里的ARouter。按照文档集成ARouter。...进入设置的目录查看,aar已经打包好了。 ? 接着打开Github创建一个新仓库: ? 按照Github上的命令,将本地打包好的UtilModule上传到Github上: ? ? ?

    83640

    【Android 组件化】使用 Gradle 实现组件化 ( 组件模式与集成模式切换 )

    文章目录 一、模块化 与 组件化 模式控制 二、applicationId 设置 三、使用 sourceSets 配置组件模式下使用的清单文件 四、组件模式 与 集成模式 切换示例 五、完整的 Gradle...配置 1、Project 层级的 build.gradle 2、Project 层级的扩展变量定义 3、主应用的 build.gradle 4、Library 模块的 build.gradle 六、...博客资源 上一篇博客 【Android 组件化】使用 Gradle 实现组件化 ( Gradle 变量定义与使用 ) 中 , 在顶层的 build.gradle 中定义了相关参数变量 ; 在顶层的 build.gradle...定义扩展变量 , 用于标识当前是 模块化模式 还是 组件化模式 , 模块化模式 就是默认的模式 ; // ext 是 extension 扩展的含义 // ext 后的 {} 花括号 , 是闭包 ,...Activity , 因此在 组件模式 下 , 需要指定一个新的 AndroidManifest.xml 清单文件 ; 这里在 main 目录下创建 component 目录 , 组件化 相关文件 ,

    77810

    看不懂的 build.gradle 代码

    build.gradle 这个文件接触这么久了,基本的项目配置也基本很熟悉了,毕竟每次自动创建的 build.gradle 里的代码就那么几项配置,看一下那些英文单词也基本猜到是什么配置。...但是,不知道你们会不会跟我一样,在 github 上 clone 大神的项目后,总会发现他们的 build.gradle 里多了很多平常没看见过的代码,而且还看不懂代码要做什么; 或者是比如当需要进行签名时...本次计划是写个 gradle 系列博客,大概会有3-4篇,第一篇只是简单的针对某个具体的 build.gradle 文件代码进行注释解释以及抛出一些疑问,当然这个 build.gradle 不会是AS自动创建的那么简单的代码...项目 我直接在代码上加注释,参照着注释看代码就行,是不是发现有很多代码平时都没看见过。...,这样做的好处在于当 //你的项目里有多个model时,可以方便修改这些公共的配置,只需要修改一个地方就可以同步了 defaultConfig { applicationId

    1.5K50

    一次代码,建立多次

    a、build types 你已经在你的项目中使用了不同的构建类型。检查您的应用程序的build.gradle文件。...首先你需要一个product flavors在你的项目的build.gradle文件里面。 ?...例如,如果你希望能在同一个设备上安装应用程序的两种版本(免费、付费),或者你想在应用商店发布他们2个,那么你需要做的第一件事情就是来区分他们的包名。为此,你需要使用applicationId属性。...你可能已经看到上面的gradle文件里面的元素了,当你创建一个新的项目时,这里是自动创建的。...总结到目前为止,你所学到的现在可以: 添加productFlavor配置您的gradle这个文件; 覆盖现有的构建属性,如的applicationID 像添加字符串和布尔自定义属性; 安装在一个设备上相同的应用程序的两个不同的构建变体

    56630

    Could not get unknown property ‘versions‘ for object of type com.android.build.gradle.AppExtension

    这个错误的原因就是build.gradle的配置都统一调用自定义的gradle文件 这个我们就要说一下自定义gradle文件了。...我们在项目开发中为了避免项目和引用的多个module使用的 sdk版本不一致,为了统一版本号,我们一般会建一个公用的gradle文件。...在项目主目录下定义一个xxx.gradle的文件  我们这里定义了一个 dependencies.gradle的文件,内容为 ext.change = [ code...build.gradle文件中就可以直接这样定义了 apply plugin: 'com.android.application' android { compileSdkVersion versions.compileSdk...,就是因为这个找不到versions这样的属性,也就是没有定义,可能是我们直接从三方的代码拷贝过来,也可能直接导入了一些三方的module ,但是咱们的主项目里面没有这样定义就会报这样的错误,按照上面的定义一下就可以了

    1K10

    【Android 应用开发】Android 工程修改包名流程 ( 修改 applicationId | 修改 package | 修改 R 资源引用 | 修改 BuildConfig 引用 )

    ; 如果当前工程中源码数量较多 , 几百个或几千个的量级 , 不推荐修改代码中的实际包名 ; 刚移植了一个几千个源码文件的工程 , 记录下流程 ; 一、 Android 工程修改包名流程 ---- Android...工程修改包名流程 : ① 修改 applicationId : 修改 Module 下的 build.gradle 中的 applicationId ; ② 修改 package : 修改 AndroidManifest.xml...---- 在 Module 下的 build.gradle 中 , 修改 applicationId , 该配置在 android / defaultConfig 层级下 ; 将 applicationId...根节点的 package 包名属性 , ( 修改前 ) 将其修改为与 applicationId 相同 , “kim.hsl.package_change2” ; ( 修改后 ) 四、 AndroidManifest.xml..., 如果是一个大型项目 , 会有几百上千的匹配 ) 六、 修改 FileProvider ---- 由于忽略了该步骤 , 导致出错 , 【错误记录】Android 应用安装报错 ( The application

    5K20

    【Android 组件化】使用 Gradle 实现组件化 ( Gradle 变量定义与使用 )

    配置 ; // 将 component.gradle 配置文件中的内容导入到该位置 // 相当于引入头文件 apply from: "component.gradle" apply from 相当于引入头文件..., 将 component.gradle 配置文件中的所有内容 , 原封不动的拷贝到该语句所在位置 ; component.gradle 是开发者自定义的一个配置文件 , 是使用 Groovy 语言编写的...扩展的含义 // ext 后的 {} 花括号 , 是闭包 , ext{ // 定义 android 变量 , 类型是字典 Map 集合 // 其中定义了若干键值对集合 androidConfig..., 相当于调用 Project 对象的 getRootProject() 方法 , 这是 Groovy 提供的语法糖 , 类似于 Kotlin 用法 ; 该方法返回一个 Project 对象 , 该对象代表根目录下的...Gradle 代码 : // ext 是 extension 扩展的含义 // ext 后的 {} 花括号 , 是闭包 , ext{ // 定义 android 变量 , 类型是字典 Map 集合

    1.3K30

    Android-Gradle(二) Gradle相关配置详解

    项目结构中的每个build.gradle文件代表一个project,在这编译脚本文件中可以定义一系列的task;task 本质上又是由一组被顺序执行的Action`对象构成,Action其实是一段代码块...配置阶段会去加载所有参与构建的项目的build.gradle文件,会将每个build.gradle文件实例化为一个Gradle的project对象。...apply from:'×××':叫做应用脚本插件,严格意义来说它属于一个脚本插件,和二进制插件不同的是它使用的是from关键字.后面紧跟的坫一个脚本文件,可以是本地的,也可以是网络存在的,如果是网络上的话要使用...更改源集的Java目录或者资源目录等。...,我上一篇文章有详解过,这里就不说了参考Android -Gradle依赖导入及相关知识

    2.3K10

    使用Gradle管理你的Android Studio工程

    一个build.gradle文件是一个构建脚本,当运行gradle命令的时候会从当前目录查找build.gradle文件来执行构建。下面我们来看下gradle的Hello World。...今天我们不谈这个,我想要的是在我们生成的APK包中已经包含了检测代码覆盖率的代码,这样当我们安装APK后运行进行一些测试的时候,这些检测代码覆盖率的代码就会被执行到,这样最后我们导出一份代码测试覆盖率的文件...emma插装的是class文件,所以我们只能在编译完java文件生成class文件后进行插装,这是我们进行覆盖率代码插装的最好时机。找到了时机,那么具体对应在Gradle脚本上是哪呢?...一般我们这个插装只是在特性情况下,那么我们新增一个特殊的flavor好了,专门做这个使用,这里我姑且叫feature。...overwrite,就是插装后覆盖源文件。

    1K40

    基于运行时组件化模块化的架构实践

    这里对XModulable Sdk不做具体技术分析,对于依赖注入和注解的编译期处理不了解或者感兴趣的可移步我以前写的编译时(Compile time)处理,撸一个简易版的ButterKnife 1....我的封装思路是这样的:加一个XModule(可以把它想象成一个容器)的概念,在common层暴露服务接口的同时暴露XModule(它的具体实现也是有对应的业务模块决定的),每一业务模块都对应一个XModule...最后,在业务模块中编写build.gradle中sourceSets声明单独运行所需要的额外源码文件,比如Application、SplashActivity和Manifest。...模块灵活组合运行 模块的灵活组合,其实也非常简单,只需要更改业务模块配置在项目build.gradle的isStandalone值,然后在app壳的build.gradle中通过业务模块的isStandalone...开发人员在个人的开发分支上进行开发工作 开发人员在个人分支上开发完成后需要push到远端, 开发人员在远端(我们用的是gitlab)创建merge request(Source branch:个人分支

    79820

    【Android 组件化】使用 ARoute 实现组件化 ( 完整组件化项目框架 )

    配置 四、Module 模块的组件化配置 1、创建组件模式下使用的类和清单文件 2、动态切换 集成模式 / 组件模式 3、module1 完整的 build.gradle 配置文件 4、module2...完整的 build.gradle 配置文件 5、module1 独立运行效果 6、module2 独立运行效果 五、博客资源 组件化系列博客 : 【Android 组件化】从模块化到组件化 【Android...module 需要独立运行 , 必须配置一个 applicationId 包名 ; dependencies 用于统一管理各个模块之间的依赖库 , 避免管理分散 ; // ext 是 extension...扩展的含义 // ext 后的 {} 花括号 , 是闭包 , ext{ // 是否是模块化模式 // 集成模式 true ( 默认模式 , 模块化 ) // 组件模式 false...---- Module 模块的配置比较复杂 ; 首先 , Module 模块在组件模式下是可以独立运行的应用 , 必须有一个入口 Activity ; 但是 Module 下的清单文件是这样的 : <

    2.5K20
    领券