- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 NDK实战(五)—— 增量更新(下)—— 合并差分包
Android平台下合并patch差分包一、添加文件将 bzip2 的所有 .c 和 .h 文件以及bspatch.c 复制到Android Studio 的 cpp 目录下(记得修改main方法名,保证只有一个main入口)二、在Cmake.txt中链接所有文件使用file(GLOB c_path src/main/cpp/*.c)可以将所有文件添加为一个 c_path 路径变量...
2019-01-27 09:30:56
405
原创 NDK实战(四)—— 增量更新(上)—— 生成差分包
不同平台下生成patch差分包增量更新算法官网bspatchhttp://www.daemonology.net/bsdiff/bzip2http://www.bzip.org/downloads.html一、增量更新原理在计算机世界,所有的文件都可以用二进制来表示。增量更新通过哈夫曼算法将新旧文件对比,生成一个差分包(经过压缩)。旧的文件通过与差分包解压后进行合并即可得到新的文件。...
2019-01-21 22:30:27
748
原创 NDK实战(三)—— 文件的拆分与合并
一、文件拆分先在Java层声明一个native方法public static native void diff(String path, String patternPath, int fileNum);其对应的调用(Kotlin) private val SDK_CARD_PATH = Environment.getExternalStorageDirectory().absolute...
2019-01-12 15:16:33
366
原创 NDK实战(二)—— JNI原理(下)
JNI原理(下)一、注册JNI方法接着上一篇,进入 JVM_NativeLoad 方法JNIEXPORT jstring JVM_NativeLoad(JNIEnv* env, jstring javaFilename, jobject javaLoader,...
2019-01-06 22:06:36
496
原创 NDK实战(一)—— JNI原理(上)
JNI原理(上)一、编译CPU只能识别0101这样的二进制文件,C/C++需要经过一层编译转成二进制文件。在Windows平台上会转成xxx.obj文件,在Linux平台会转成xxx.o文件。此由过程编译器完成。编译规则:- Eclipse ====> GUN ====> Android.mk- Android Studio ====> LLVM ====> CM...
2018-12-22 17:12:50
574
原创 Android自动化打包(上)—— 利用Ubuntu搭建Jenkins
利用Ubuntu搭建Jenkins环境配置配置Java环境安装Git安装配置Nginx安装Jenkins环境配置配置Java环境使用java -version检测是否安装了Java环境The program 'java' can be found in the following packages: * default-jre * gcj-5-jre-headless * ope...
2018-11-27 15:26:01
530
原创 Android使用CharSequence修改Menu文字样式失败的解决方案
在Style中添加 item name="android:actionMenuTextAppearance">@style/MenuTextStyleitem>即可 我的MenuTextStyle如下 name="MenuTextStyle"> item name="android:textColor">@color/color_5E625Eitem>
2018-01-23 17:26:07
397
原创 JNI:在JNI中调用第三方库时所需的CMakeLists 配置
当.so文件不放置在默认位置(main下的jniLibs文件夹)时,手动配置CMakeLists
2017-08-16 20:00:56
1150
原创 Android中在ActionBar中添加搜索功能
创建一个menu文件,名为search.xml<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item
2017-04-28 11:13:11
3034
1
原创 Android中获取单个联系人的详细信息
许久没有用过通讯,虽然知道原理但是却忘记怎么写了,在此做个记录以备不时之需package com.example.chauncey.searchbar;import android.content.Context;import android.content.Intent;import android.database.Cursor;import android.provider.Contac
2017-04-27 15:24:50
2307
原创 Android中动态设置多继承Style/Theme
在Android中经常会使用继承style,举个例子: 这里设置了两个style <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark
2017-04-19 13:11:05
3300
原创 CollapsingToolbarLayout一些常用属性
layout_scrollFlags:scroll - 设置为可滚动。enterAlways - 当向下滑动时,立即显示View(比如Toolbar)。exitUntilCollapsed - 直至收缩到toobar的高度为止。enterAlwaysCollapsed - 是enterAlways的附加选项,一般跟enterAlways一起使用,它是指,View在往下“出现”的时候,首先是e
2016-10-21 15:42:10
453
转载 【转载】CoordinatorLayout的使用如此简单
原文链接:http://blog.youkuaiyun.com/huachao1001/article/details/51554608 CoordinatorLayout的使用如此简单 <div class="article_manage clearfix"> <
2016-10-21 10:10:57
401
转载 【转载】玩转AppBarLayout,更酷炫的顶部栏
原文链接:[http://blog.youkuaiyun.com/huachao1001/article/details/51558835](http://blog.youkuaiyun.com/huachao1001/article/details/51558835) 我的简书同步发布:玩转AppBarLayout,更酷炫的顶部栏上一篇文章《CoordinateLayout的使用如此简单 》对Co
2016-10-21 10:08:19
413
原创 关于Android Studio测试时找不到设备的问题
之前遇到了这个问题,怕以后忘记所以在这做个记录。目前遇到AS找不到设备的情况有两种。第一种:设备没有开启开发者模式。关于开启开发者模式,现在很多手机都会隐藏掉,这时候只需要打开设备设置→关于手机→连续点击操作系统8次。这时候开发者模式就出现了,一般是在“更多设置”里。进去打开开发者模式,记得把USB调试一起打开。第二种:adb被占用有些电脑,在手机连接上以后,会自动连接手机助手,导致adb被占用,以
2016-10-20 15:18:47
22885
2
原创 Glide的基本使用以及图片拉伸问题。
1.添加依赖dependencies { compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.android.support:support-v4:24.2.1'}2.加载图片 Glide.with(context).load(url).into(imageView);到这里图片就可以显示了,只需两步,简单
2016-10-20 13:59:10
6722
原创 Android启动白屏
Android应用第一次启动时会出现一段时间的白屏,这是由于Instant Run造成的,不过这只存在有debug版本,只要将APP打包成release的就不会了。 不过即使是release也会出现毫秒级别的白屏,这时候可以自定义首页activity的style,进行如下设置 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActi
2016-10-15 17:17:09
478
原创 Error:(1, 0) Plugin with id 'com.android.application' not found的解决方法
报这个错的原因是因为gradle没有找到,只需在gradle中添加 classpath 'com.android.tools.build:gradle:2.2.0' 就是下面酱紫的:buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools
2016-10-14 09:06:13
565
原创 使用Android ButterKnife Zelezny的正确姿势
0.前言 一开始我在使用Android ButterKnife Zelezny这款插件的时候,遇到了很多问题,比如说:明明安装了这个插件想要爽一下的时候,发现右键布局点击Generate时候,Generate ButterKnife Injections死活出不来,后面好不容易搞出来了,却又报空指针,搞得我一度想放弃这款插件。 然而事在人为,通过无数个搜索,我终于找到了问题所在,网上对于An
2016-10-14 09:05:23
1103
原创 Android Studio中如何解决重复依赖导致的app:transformClassesWithJarMergingForDebug
当使用maven导入依赖时,可能会出现不同的依赖包含了同一个jar,在编译期间不会报错。可一旦run app的时候,就会报Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.> com.android.build.api.transform.TransformException: java.ut
2016-10-11 10:59:31
29227
1
原创 使用Bmob时遇到的Android依赖包冲突(Gson、Okhttp)
第一次遇到这个问题是在使用Bmob后端云的时候,同时使用了bmob-sdk和retrofit2。 这是我最开始添加的依赖: compile 'cn.bmob.android:bmob-sdk:3.5.1' compile('com.squareup.retrofit2:retrofit:2.1.0') compile('com.squareup.retrofit2:conve
2016-10-10 17:24:39
13263
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人