自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (4)
  • 收藏
  • 关注

原创 Android 打jar包

第一步:创建module;第二步:编写好java代码;删除无关的res文件;第三步:在gradle中加入代码:task makeJar(type: Copy) { //删除存在的 delete 'build/libs/permissions.jar' //设置拷贝的文件 from('build/intermediates/packaged-classe...

2019-07-19 18:51:21 187

原创 Android react-native 初次接触

最近,公司给了个项目要我修改一下,没想到是react-native混合项目。奋斗了1天半终于改完,说说我遇到的坑。要使用react-native,先要安装配置好环境,这一步骤,我试了4次,才好。1、先下载安装node.js:这里文档众多,就不多说了。2、然后是通过node.js安装npm,react-native命令行工具,3、之后就可以通过命令创建项目了:react-natvie...

2019-05-30 11:15:44 146

原创 友盟使用

一、配置gradle, flavorDimensions "versionCode" productFlavors { huawei {} xiaomi {} oppo {} wandoujia{} yingyongbao {} _360 {} meizu {} ...

2019-03-06 11:11:44 1131

原创 Mob 第三方登录与短信验证

一、配置gradle,build.gralde里,buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' classpa...

2019-03-06 11:05:06 496

原创 Android 仿徽章圆形view

package ja.burhanrashid52.photoeditor.view;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.gra...

2019-02-22 18:47:45 431

原创 Android 最简单圆形图片,带边框

public class XCRoundRectImageView extends ImageView{ public XCRoundRectImageView(Context context) { this(context,null); } public XCRoundRectImageView(Context context, ...

2019-02-14 19:03:55 1403

原创 android 个人错误集合

1、错误: 程序包com.squareup.leakcanary不存在在编译时,没问题,但是打包选择自己创建的buildType时,报的错。解决:我自己创建的buildType 是innerTest,所以要加上innerTestImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.1'2、local cl...

2018-09-18 11:32:02 486

原创 Android jni开发入门

首先先来认识:NDK 和 JNI介绍JNI (Java Native Interface)是一套编程接口,用来实现java代码和其他语言(c、C++或汇编)进行交互。这里需要注意的是JNI是JAVA语言自己的特性,也就是说JNI和Android没有关系。在Windows下面用JAVA做开发也经常会用到JNI,例如:读写系统注册表等。NDK(Native Development Kit)是G...

2018-08-16 11:01:52 215

原创 apk安装失败,该安装包似乎已损坏

一、cmd  adb install "xxx.apk绝对路径" 回车,找到错误码 ,failure后面的便是错误码。二、比对错误码:参考https://www.jianshu.com/p/f69dc25c56f2我的结果:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES:..],INSTALL_PARSE_FAILED_NO_CERTIFIC...

2018-08-15 09:20:33 10913

原创 android aidl 简单使用

 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间。但是android提供了AIDL可以用来进程间数据传递。         AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设...

2018-08-13 15:19:07 230

原创 gradle动态编译

开发中需要根据不同的用户或者场景,采用不同的逻辑/效果,生成不同的包,但是大部分代码是不变的。如果同时维护两个大致相同的项目,工作会既枯燥又毫无用处,还浪费时间。这时候就该用到gradle的动态编译了。最近有个项目app,要求可以切换角色,切换之后,基本上一半的字段名称都要改变,后台接口返回的内容有可能也会不一样,还没想到怎么做....感觉这种动态编译也不能实现,各位大虾有什么好办法么?一...

2018-08-09 15:42:00 1053

原创 gradle 修改配置打不同环境的包

前言,在产品开发中,经常需要发布各个版本,每个版本的服务器地址有不同的服务器地址。比如:与后台联调接口时;开发完成,打包测试时;正式发布生产环境等。可以通过配置gradle来实现。通过 gradle 向strings.xml添加字符串资源:resValue "string", "stringName", "stringValue" 一、配置gradle密钥,可以...

2018-08-09 14:09:33 1845

原创 android 热更新(无框架)

一、前言 最近看了阿里的AndFix热修复框架,但是好像不能支持所有设备,所以,自己手动来实现一遍安卓的热修复,究其是如何实现的。二、原理 Java的虚拟机JVM运行代码时,加载的是.class字节码文件,而Android的Dalvik/ART虚拟机加载的是Dex文件,不过他们的工作机制是一样的,都经过ClassLoader这个类加载器,只不过,Android重新定义了两个类DexCl...

2018-08-08 11:03:49 1529 1

原创 Android 热更新(阿里andfix)

主要有三种途径一、QQ空间超级补丁技术(优先加载补丁内的class文件)超级补丁技术基于DEX分包方案,使用了多DEX加载的原理,大致的过程就是:把BUG方法修复以后,放到一个单独的DEX里,插入到dexElements数组的最前面,让虚拟机去加载修复完后的方法。目前,没有试用过,以后再说。二、阿里andFix优点:bug修复即时性。补丁包采用差量技术,生成的PATCH体积...

2018-07-25 16:39:45 514

原创 LeanCloud 使用详解(推送、存储,实施通信、统计、sns)

第一步:gradle配置项目.gradlerepositories{jcenter()maven {url "http://mvn.leancloud.cn/nexus/content/repositories/releases"}}app.gradlecompile ('cn.leancloud.android:avoscloud-sdk:v3.+')//...

2018-07-20 15:01:04 2257 1

permissions-x.jar

PermissionHelper.requestPermission(this, new RequestPermissionListener() { @Override public void onSuccess() { Toast.makeText(getApplicationContext(),"权限成功获取",Toast.LENGTH_SHORT).show(); } @Override void onFailed(List<String> grantedPermissions) { Toast.makeText(getApplicationContext(),grantedPermissions.size()+"个"+"权限获取失败!",Toast.LENGTH_SHORT).show(); } },new String[]{Manifest.permission.CAMERA,Manifest.permission.READ_PHONE_STATE,Manifest.permission.READ_EXTERNAL_STORAGE});

2019-07-19

permissions.jar

PermissionHelper.requestPermission(this, new RequestPermissionListener() { @Override public void onSuccess() { Toast.makeText(getApplicationContext(),"权限成功获取",Toast.LENGTH_SHORT).show(); } @Override void onFailed(List<Strin

2019-07-19

Android aidl demo

AIDL IPC机制是面向接口的。它是使用代理类在客户端和实现端传递数据。 参考:https://blog.csdn.net/qq_35022307/article/details/81630109

2018-08-16

Android热修复

需要用sdk/build-tools/dx.bat工具转成dex文件。 dx --dex --output=patch.dex 包名/Bugs.class 参考:https://blog.csdn.net/qq_35022307/article/details/81503780

2018-08-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除