最近使用android原生开发apicloud自定义模块,走了很多弯路,甚至犯一些低级的错误,这些都是对apicloud不了解造成的,唉,就不多废话了,直接进入正题。如有不对的地方欢迎指正

工具

开发工具 android studio 3.1.4

遇到的一些问题

  1. 使用android studio开发首先要搭建好开发环境,开发环境是你在开发模块的时候测试用的。跟你最后打包的模块基本没啥关系,开发环境可以看官网的文档或是视频都可以。这是第一步。
  2. 在添加模块的时候需要注意一点,添加时最低api选择9,要不然云编译会报错。
  3. 添加模块后,模块在build的时候可能会报错,上传这个模块下添加的远程包就可以了。
  4. 在最后打包的时候,json文件格式要对,最好不要新建text文件然后来改后缀名(可以使用别的工具新建,如:HBuild或其它),这些可能都会报错(模块未绑定)。
  5. 最后上传后,如果是用android studio 开发的 不能自定义loader,需要云编译,并选择升级环境测试,这样模块才会绑定成功。
  6. 打包最好使用eclipse的方式,AS3.1.4之后按照官方的并卵用。
  7. 一个项目的各个模块的包是共享的,如果一个模块包含了另一个模块的jar或其它相同的文件,编译就会报错、所以要把另一个模块的相同的文件去掉。
  8. 在打包过程中,需要把原来打包好的文件删除,然后在打包(因为在原文件中删除的文件打包的时候不会被删除,打出来的包还包含之前删除的文件),否则可能编译不通过。
  9. 由于包是共享的,所以也可以单独把所用到的资源另外打包成一个模块来依赖使用(例如:两个模块都需要用到相同的jar,而两个模块都需要解耦,那么这个就很有用了)。
  10. 在同时用到service和receiver的时候,需要service能够访问receiver,需要设置它们在同一个进程里,如service 设置为android:process=“:push”,receiver也需要设置相同的进程android:process=“:push”。
  11. 在生成jar的时候不知道为什么,在jar包里面会自动创建example目录并且生成BuidConfig.calss文件,这时候如果自己的包在example打包编译loader的时候可能会报错,解决办法是把自己的包移出example目录下。

android studio3.1.4 生成jar包的方法

1、在本模块下配置build.gradle文件

task makeJar(type: Copy){delete 'build/libs/lcmqttservice.jar'from('build/intermediates/packaged-classes/release/') into('build/libs/')include('classes.jar')rename('classes.jar','lcmqttservice.jar')}makeJar.dependsOn(build)

其中lcmqttservice可以自己定义,这个配置写在android {}下或外面都是可以的。
配置好后 Sync Now,然后到Gradle—>other—>makeJar(点击执行生成jar包,如果上面没有配置对 这里是不会有该个目录的),最后生成的jar包在build/libs目录下.

2、直接使用AS提供的

在Gradle—>build—>assembleRelease(点击直接运行)或者、Gradle—>other—>bundleRelease也可以,执行成功后在build/intermediates/packaged-classes/release/classes.jar

如下图:

或者

APICloud 自定义模块开发的一些坑相关推荐

  1. [推荐]OpenERP开发笔记(5) -- 自定义模块开发之一

    http://www.jeffzhang.cn/OpenERP-DEV-Notes-Custom-Module-Development1/ OpenERP开发笔记(5) -- 自定义模块开发之一 发表 ...

  2. Apicloud自定义模块

    各种坑,折腾了两天才有点头绪.我用的是Android Studio编辑器,官网是Eclipse的视频.文档也比较蛋疼. 自定义模块的目录结构要按照下面来处理 其中res_模块名,存放res和Andro ...

  3. 自定义模块_Nginx自定义模块开发

    https://www.zhihu.com/video/1048730832663040000 环境:Ubuntu14.04 x86_64 Nginx:Nginx-1.13.10 编译安装Nginx ...

  4. springboot导入项目依赖报错_最详细的 Spring Boot 多模块开发与排坑指南

    来源于公众未读代码 , 作者达西呀 创建项目 创建一个 SpringBoot 项目非常的简单,简单到这里根本不用再提.你可以在使用 IDEA 新建项目时直接选择 Spring Initlalize 创 ...

  5. 最详细的 Spring Boot 多模块开发与排坑指南

    来自:未读代码 创建项目 创建一个 SpringBoot 项目非常的简单,简单到这里根本不用再提.你可以在使用 IDEA 新建项目时直接选择 Spring Initlalize 创建一个 Spring ...

  6. spring的sanpshot报错_最详细的 Spring Boot 多模块开发与排坑指南

    创建项目 创建一个 SpringBoot 项目非常的简单,简单到这里根本不用再提.你可以在使用 IDEA 新建项目时直接选择 Spring Initlalize 创建一个 Spring Boot 项目 ...

  7. Spring Boot 多模块开发与排坑指南

    创建项目 创建一个 SpringBoot 项目非常的简单,简单到这里根本不用再提.你可以在使用 IDEA 新建项目时直接选择 Spring Initlalize 创建一个 Spring Boot 项目 ...

  8. Android开发之ApiCloud模块开发的注意事项

    经过本人多次模块制作打包上传基本总结模块开发的以下坑: 一.模块开发SDK最小版本必须为9,不然就算你SDK模块开发完毕正常运行你在后台云编译也无法通过会报错,提示 minSdkVersion9小于你 ...

  9. Android开发之ApiCloud模块开发步骤

    看图操作,简单明了: 好了apicloud模块开发完成,你可以打包arr文件压缩zip后上传到自定义模块然后别人用js就可以引用你开发的这个模块里面的内容了 打包arr文件压缩zip步骤如下图: 上传 ...

最新文章

  1. 干燥剂变身“配重剂”,究竟有多少商家在休闲零食市场浑水摸鱼?
  2. java 以太坊 智能合约_web3j教程:java使用web3j开发以太坊智能合约交易
  3. ADO.NET高级应用
  4. 批量修改文本文件编码GB18030为UTF-8
  5. 最大子数列和的问题求解
  6. 游戏开发之使用类封装双链表数据结构及双链表迭代器初版(C++基础)
  7. Linux iptables防火墙详解(二)——iptables基本配置
  8. 期末速通主成分分析(PCA)
  9. 【BZOJ1580】【USACO2009Hol】杀手游戏 计算几何
  10. 涅普2021训练营-MIsc(部分)
  11. 六月,授你以鱼,再授你以渔
  12. Linux查询磁盘空间命令
  13. busybox+交叉编译器源码制作根文件系统
  14. iOS开发:分辨率像素你知多少
  15. Centos7静默安装Oracle12c
  16. Android Instant App调研报告
  17. EF_85mm_1.2L_II_USM拆机电路板靓图
  18. Lake Shore—OptiMag 超导磁体系统 — OM 系列
  19. 【Filecoin源码仓库全解析】第二章:如何创建账户钱包并获取FIL Mock代币
  20. 996公司太累?那国企到底面试些什么干货,详细答案)

热门文章

  1. Python--模块和包
  2. actin/phobos后缀勒索病毒处理 百分百解密[cleverhorse@protonmail.
  3. 按位运算符与逻辑运算符的区别
  4. 环形队列、 条带环形队列 Striped-RingBuffer (史上最全)
  5. [转]Unity3D新手教学,让你十二小时,从入门到掌握!(一)
  6. 时间复杂度分析:递归算法
  7. 去除滚动条 去除滚动条样式 css修改滚动条样式
  8. Python图像识别-Opencv07 异或运算,图像加密
  9. Java线程状态详解
  10. JavaScript - 四舍五入