一.背景 在开发Android应用程序的实现,有时候需要引入第三方so lib库,但第三方so库比较大,例如开源第三方播放组件ffmpeg库, 如果直接打包的apk包里面, 整个应用程序会大很多.经过查阅资料和实验,发现通过远程下载so文件,然后再动态注册so文件时可行的.主要需要解决下载so文件存放位置以及文件读写权限问题. 二.主要思路   1.首先把so放到网络上面,比如测试放到:http://codestudy.sinaapp.com/lib/test.so 2.应用启动时,启动异步线程…
打包这个活儿吧,本来没什么技术含量,千篇一律的更改渠道名称,然后编译,签名即可.但是如果发布渠道比较多的话,这种重复工作让人烦不胜烦.我们的应用发布渠道有30多个,若是手工打包,基本不用做其他的事情了.一个优秀的程序员,要持续的为改进和自动化而努力.今天我们来搞一搞自动化打包,后面陆续给出批量自动打包(自动更改渠道名称) 使用工具:Ant (点我下载) 准备:配置Java环境,配置Ant环境 (限于篇幅,不在赘述) 测试项目描述: 建立三个工程.主工程testAutobuild ,两个lib库,…
基本配置--build.properties 首先编写基本配置build.properties ,主要配置如下: android sdk所在目录 编译项目所使用的项目版本 Jdk所在目录 以及签名时,所需要的密钥文件名称和密码等信息(keystore文件存在在主工程根目录下) 以下标红的信息请注意替换成自己的skd等所在目录. sdk.home= E: \\android_env\\android-sdks-new sdk.platform= android-15 jdk.home= D: \\…
1.JNI函数注册方式 在Android开发中,由于种种原因我们需要调用C/C++代码,在这个时候我们就需要使用jni了, jni在使用时要对定义的函数进行注册,这样java才能通过native关键字定义的方法找到对应的C/C++函数 注册函数的方法有两种: 静态注册和动态注册.由于静态注册已经在上篇博客中介绍过了,这里重点介绍一下动态注册. 动态注册 由于静态注册每次添加新函数后要重新生成头文件,而且函数名又长,操作起来非常麻烦 我们可以用动态注册来避免这些麻烦 jni中提供了Register…
只能动态注册的广播(部分): android.intent.action.SCREEN_ON android.intent.action.SCREEN_OFF android.intent.action.BATTERY_CHANGED android.intent.action.CONFIGURATION_CHANGED android.intent.action.TIME_TICK 原因: 有以下几种说法,提供给大家参考: 1.提高系统效率:这两个事件是android的基本事件,如果大多数程序…
解决android studio引用远程仓库下载慢(JCenter下载慢) 第一种方法 使用开源中国的maven库 阿里云的(速度飞快):http://maven.aliyun.com/nexus/content/groups/public/ 替换项目根目录下build.gradle中的 repositories { jcenter() } 为: repositories { maven{url 'http://maven.aliyun.com/nexus/content/groups/publ…
http://zhidao.baidu.com/question/626166873330652844 一个工程包含另一个工程.相当于一个jar包的引用.但又不是jar包反而像个package 在网上找到了这个方法: 现在已经有了一个Android工程A.我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A. 一个思路是把工程A做成纯Jar包,这样其他的工程就可以直接引用了. 但是,如果在工程A中用了R.java中的引用,则无法打成jar包了.…
https://blog.csdn.net/linglingchenchen/article/details/62236723 解决android studio引用远程仓库下载慢(JCenter下载慢)  ,该文章介绍的方法未做测试 下面是默认同步的过程: 同步成功:…
注意:只能将lib库放在kernel编译到的地方,如下: alps/kernel/ alps/mediatek/custom/common/kernel/ alps/mediatek/custom/$platform/kernel/ alps/mediatek/custom/$proj/kernel/ alps/mediatek/kernel/ alps/mediatek/platform/$platform/kernel/core/ alps/mediatek/platform/$platfo…
文:http://blog.csdn.net/sk719887916/article/details/52473914 作者:Tamic 详细文章请看:[Gradle系列]Gradle发布module库到jcenter, 并构建自己的企业Maven私服 平常在工作中我们常常会引用到第三方开源库,比如butterknife, Gilde, RxJava等等.其中最简单方便快捷的方式就是在gradle中用compile引用,例如 compile 'io.reactivex:rxjava:1.1.3'…