Android
文章平均质量分 56
try_zp_catch
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Clang编译FFmpeg常见问题
关于ndk编译ffmpeg的教程,基本上都是使用gcc来编译,而ndk从r18b开始就正式移除gcc来,因此很有必要研究下clang编译ffmpeg,在此过程中遇到了不少奇怪的问题。系统:macosffmpeg版本:4.1.3ndk版本:r19c编译器:clang1、命令找不到错误信息: ./build_android.sh: line 18: --enable-shared: command not found./build_android.sh: line 20:转载 2020-12-29 18:51:44 · 2421 阅读 · 0 评论 -
Android 查看Android证书指纹信息
原文地址:查看Android证书指纹信息,感谢大神用途我们在高德、百度等这些第三方SDK的集成和注册时,都会让我们提供包名或者证书指纹(MD5、SHA-1、SHA-256)等信息,这些信息如何获取呢?有多种方法。准备工作安装好JDK。最好配置好环境变量(为啥要配置环境变量我就不解释了,反正大佬们都懂,小白们起码也知道怎么配,都是基本功了),这样用起来更方便。我们主要用的是jdk的bin目录中的keytool工具。动手情况1:证书在手这种情况下,我就是开发者,我有key.转载 2020-05-11 11:10:33 · 2493 阅读 · 0 评论 -
Android SharedPreferences工具类
融合了工具类和枚举,话不多说,直接上代码:public enum SPCode { USERNAME("username","未登录","用户名"), IS_LOGIN("isLogin",false,"是否登陆"); SPCode(String key, String defaultValue, String description) { thi...原创 2019-11-29 17:26:33 · 256 阅读 · 0 评论 -
Android Base64编码表
原创 2018-06-26 10:24:15 · 326 阅读 · 0 评论 -
Android 软键盘的打开和关闭
1、方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2、方...转载 2018-07-26 14:30:08 · 3793 阅读 · 0 评论 -
Android 自定义View画圆环统计图
public class MyView extends View { public MyView(Context context) { super(context); } public MyView(Context context, @Nullable AttributeSet attrs) { super(context, attrs...原创 2018-07-26 18:33:01 · 978 阅读 · 0 评论 -
Android 命令行构建和签署APK
环境1.JDK2.SDK3.Gradle本文主要是不需要通过 AndroidStudio 完整编译打包签名生成apk的过程,可以通过sdk中的apksigner工具完成,也在和使用Gradle来完成。首先使用 keytool 生成一个私钥,keytool 位于 JDK 中的 bin/ 目录中,打开命令行输入:keytool -genkey -v -keystore ruo...转载 2018-08-03 17:57:49 · 167 阅读 · 0 评论 -
验证apk是否签名成功
在Dos命令行模式下,进入存放APK文件的目录,然后使用命令: jarsigner -verify PopStar_Classic.apk如果出现以下信息,就说明签名成功: 原文地址:验证apk是否签名成功...转载 2018-08-03 17:59:20 · 2120 阅读 · 0 评论 -
Android自定义异常处理
android自定义异常日志收集器 为什么要掌握自定义异常日志收集器: android开发中,经常会app闪退,报异常,通常是通过编辑器捕获异常日志, 分析异常日志定位问提,并解决。 如果测试人员或者用户安装app后,出现闪退,需要捕获异常日志,提供给程序员, 分析解决问题。 需要实现的效果:...转载 2018-08-09 15:29:57 · 852 阅读 · 0 评论 -
Android Retrofit 的使用
第一步: 依赖包导入: compile 'com.squareup.retrofit2:retrofit:2.2.0' compile 'com.squareup.okhttp3:okhttp:3.4.1' compile 'com.squareup.retrofit2:converter-gson:2.0.2'网络权限:<uses-permi...转载 2018-08-09 17:23:43 · 201 阅读 · 0 评论 -
Android Volley使用方法
首先把volley.jar导入到项目中,jar包地址:volley的jar包 讲道理这个也是看得慕课网视频,但是讲的我都快睡着了,所以不想写什么步骤了,直接上代码: MyApp.javapublic class MyApp extends Application { public static RequestQueue queues; @Overri...转载 2018-08-10 15:31:53 · 678 阅读 · 0 评论 -
Android 真正的沉浸式模式
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.lay...转载 2018-08-17 11:22:42 · 346 阅读 · 0 评论 -
Android 混淆
代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。为什么要加代码混淆--------------------不想开源应用,为了加大反编译的成本,但是并不能彻底防止反编译开启混淆 通常我们需要找到项目路径下app目录下的build.gradle文件 找到minifyEnabled这个配置...转载 2018-08-28 10:56:42 · 973 阅读 · 0 评论 -
Android NDK开发初级入门
首先,创建一个普普通通的AS项目; 对,就是这样,一个简简单单的Android项目,首先你要保证NDK是已经下载好的了: 然后打开配置: 就弄好啦; 然后我们就开始写代码:创建一个class: 然后在里边写上一个native方法: public class HelloWorld { public st...转载 2018-08-31 10:14:27 · 320 阅读 · 0 评论 -
Android 反编译
首先你要有工具,两个:dex2jar 和 jd-gui 没有也不用慌,我已经准备好了,网上太多版本,我不知道其他的是否更好,但这个是实打实能用的,去下载就好了:Android 反编译工具包其实你下载下来就好了,里边我附上了一个截图,直接就能看得懂,但是为了让我的这篇文章具有实用意义呢,我还是把使用方法说一下:......原创 2018-08-30 12:00:52 · 199 阅读 · 0 评论 -
Android 最简单的调用摄像头
配置是少不了的: <provider android:name="android.support.v4.content.FileProvider" android:authorities="你的包名.provider" android:exported="false" android:grantUriPermissions="true"> ...转载 2018-09-10 19:02:23 · 827 阅读 · 0 评论 -
Android 上传文件Tomcat接收的代码
Android端: compile 'org.xutils:xutils:3.5.0' RequestParams params = new RequestParams(url);params.addBodyParameter("name", "Image_1001.png");params.addBodyParameter("image", file);x.h...转载 2018-09-20 11:50:36 · 497 阅读 · 0 评论 -
Android 三大动画的基本使用
逐帧动画1.最重要:自定义一个drawable->animation.xml<?xml version="1.0" encoding="utf-8"?><!-- 根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画 根标签下,通过item标签对动画中的每一个图片进行声明 and...转载 2018-09-26 17:07:24 · 108 阅读 · 0 评论 -
Android 自定义View之绘图
【Android 自定义View之绘图】 Android 自定义View之绘图 基础图形的绘制 一Paint与Canvas Paint Paint的基本设置函数 setAntiAliastrue 设置是否抗锯齿 2setStyle PaintStyle style 设置填充样式 3setColorColorInt int color 设置画笔颜色 ...转载 2018-09-28 14:07:51 · 372 阅读 · 0 评论 -
Android faceBook KeyHash生成(生成发布密钥散列)
背景今天做facebook事件统计的时候需要创建APP,以前创建APP都是填SHA1(如百度地图),微信支付和微博都是提供工具获取,都很方便。看facebook的文档,也提供了获取的方法:既然给了方法,那就试一下,居然提示openssl不是内部命令:步骤1.去下载OpenSSL工具,如果没翻墙不能下载也可以去这里。2.在C盘根目录下新建一个openssl的文件夹...转载 2018-10-09 10:14:22 · 4894 阅读 · 0 评论 -
Android 软件逆向工程基础概念
一、APK编译打包生成过程第一步:打包资源文件,生成R.java文件【输入】Resource文件(就是工程中res中的文件)、Assets文件(相当于另外一种资源,这种资源Android系统并不像对res中的文件那样优化它)、AndroidManifest.xml文件(包名就是从这里读取的,因为生成R.java文件需要包名)、Android基础类库(Android.jar文件)【输出】...转载 2018-10-16 10:03:08 · 406 阅读 · 0 评论 -
Android 权限请求模板(方便CV)
public class MainActivity extends AppCompatActivity { private static final int PERMISSIONS_CODE = 0x001; private static final String[] NEEDED_PERMISSIONS = new String[]{ Manifes...原创 2018-10-25 11:49:14 · 188 阅读 · 0 评论 -
Android URL中参数的获取、拼接及修改
1、获取参数 Uri uri = Uri.parse(url);String type = uri.getQueryParameter("key"); 2、拼接 Uri.Builder builder = Uri.parse(url).buildUpon();builder.appendQueryParameter("key", value); 3、修...转载 2018-10-30 15:04:20 · 10547 阅读 · 0 评论 -
Android 使用其他样式字体
首先在assets里边新建文件夹名为fonts; 把要使用的字体文件存放在里边; 然后使用代码调用; public class TypefaceUtil { private static Typeface tf; public static Typeface getTypeFace(Context ctx){ if(tf==null){ tf = Typ...原创 2019-01-10 10:31:32 · 397 阅读 · 0 评论 -
Android 查看apk包名
在手机上安装这个apk连接手机,打开cmd窗口,adb shell命令连接adb然后在手机上打开需要查看包名的应用,输入下列的命令:dumpsys window | grep Focus然后就会显示包名出来,还可以通过下面的命令找到apk的安装路径:pm path 包名如:pm path com.tencent....转载 2019-03-01 17:53:53 · 1619 阅读 · 0 评论 -
Android 通过adb获取手机信息
整理如下:1、获取手机系统信息( CPU,厂商名称等)adb shell "cat /system/build.prop | grep "product""2、获取手机系统版本adb shell getprop ro.build.version.release3、获取手机系统api版本adb shell getprop ro.build.version.sdk4、获取...转载 2019-03-05 18:06:50 · 4257 阅读 · 0 评论 -
Android 获取手机信息
private void initData() {TelephonyManager mTm = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE);WifiManager wifiManager = (WifiManager) getActivity().g...转载 2019-03-05 18:29:23 · 2222 阅读 · 0 评论 -
Android 7.0拍照问题
在Application的onCreate中添加: // android 7.0系统解决拍照的问题 StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPolicy(builder.build()); ...转载 2019-04-10 17:01:51 · 258 阅读 · 0 评论 -
Android build.gradle常见配置方式
随着Android Studio的横空出世,以及Google大力推荐,使用Gradle编译Android App的小伙伴越来越多,因此我们有必要稍微了解一些使用Gradle编译Android App的常见配置方式。1、统一配置工程中的compileSdkVersion、buildToolVersion等为什么要做统一的配置呢?如果我们每个module都分别配置, 当我们工程中引入的modul...转载 2019-04-11 16:18:29 · 383 阅读 · 0 评论 -
Android Gradle实现多渠道打包(不同资源文件打不同的包)
在日常开发中,我们或多或少都会碰到多渠道打包的一些问题,有些是同一个版本要上传到不同的平台,有些是要提供给不同的代理商,中间可能需要改动里面的图片或其他的一些资源文件,对于版本比较少的我们可以简单的替换,但是遇到很多版本时,相信再通过手动替换会令人吐血~废话不说,先来看下效果图,下面是根据不同平台需要打包出来的两个apkapk界面展示效果如下(为了方便展示我在produc...转载 2019-04-11 17:35:53 · 2798 阅读 · 0 评论 -
Android Json数据格式化Kotlin的插件,一步到位
在Java开发环境中,我们将json数据格式化成JavaBean,通常使用的是GsonFormat这个插件。在Kotlin开发环境下,也有利器----JsonToKotlinClass.插件安装的两种方法:1.依次点击“File”-->“Settings”-->“Plugins”-->“Browse repositores”,然后...转载 2019-04-15 18:34:30 · 4476 阅读 · 0 评论 -
Android 代码设置控件圆角
int strokeWidth = 5; // 3dp 边框宽度int roundRadius = 15; // 8dp 圆角半径int strokeColor = Color.parseColor("#2E3135");//边框颜色int fillColor = Color.parseColor("#DFDFE0");//内部填充颜色GradientDr...转载 2019-04-19 14:40:28 · 2018 阅读 · 0 评论 -
玩转ADB命令(ADB命令使用大全)
此文章内容整合自网络,欢迎转载。我相信做Android开发的朋友都用过ADB命令,但是也只是限于安装应用push文件和设备重启相关,根深的也不知道了,其实我们完全可以了解多一点,有一些不常用的场景我们至少应该知道它可以做到,比如,我们知道adb install 却不知道adb shell am start。前者是用来安装软件,后者用来打开软件,后者的一个使用场景让我对他重视:公司定制Andro...转载 2019-05-27 11:04:58 · 856 阅读 · 3 评论 -
Android 插件化初识
插件化介绍:插件化技术最初源于免安装运行apk的想法,这个免安装的apk可以理解为插件。支持插件化的app可以在运行时加载和运行插件,这样便可以将app中一些不常用的功能模块做成插件,一方面减小了安装包的大小,另一方面可以实现app功能的动态扩展。想要实现插件化,主要是解决下面三个问题:插件中代码的加载和与主工程的互相调用 插件中资源的加载和与主工程的互相访问 四大组件生命周期的管理...转载 2019-05-31 17:24:44 · 113 阅读 · 0 评论 -
Android布局优化:include 、merge、ViewStub的详细总结
一、include的用法以及注意点在开发Android布局时,我们常将一些通用的视图提取到一个单独的layout文件中,然后使用<include>标签在需要使用的其他layout布局文件中加载进来,比如我们自己App导航栏等。这样,便于对相同视图内容进行统一的控制管理,提高布局重用性。include标签使用注意点:1,<include>标签当中,可以重写所有la...转载 2019-06-19 11:54:47 · 331 阅读 · 0 评论 -
Android GC工作机制详解
一、JVM结构根据《java虚拟机规范》规定,JVM的基本结构一般如下图所示:从左图可知,JVM主要包括四个部分:1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。(右图表示了从java源文件到JVM的整个过程,可配合理解。 关于类的加载机制,可以参考http://blog.youkuaiyun.com/tonytfjing/article/...转载 2019-06-20 11:47:22 · 1034 阅读 · 0 评论 -
Android 切换全屏,取消全屏
/** * 切换全屏,取消全屏 * * @param isChecked */private void switchFullScreen(boolean isChecked) { if (isChecked) { //切换到全屏模式 //添加一个全屏的标记 getWindow().addFlags(WindowManager.La...转载 2019-07-08 16:35:28 · 2079 阅读 · 0 评论 -
Android、java中Math的一些方法
Math.PI返回记录的圆周率Math.E返回记录e的常量Math.abs返回绝对值Math.sin返回正弦函数 Math.asin 反正弦函数Math.cos返回余弦函数 Math.acos 反余弦函数Math.tan返回正切函数 Math.atan 反正切函数 Math.atan2 商的反正切函数Math.toDegrees返回弧度转化为角度 Math.t...转载 2019-07-18 18:45:32 · 144 阅读 · 0 评论 -
Android 获取IP地址
/** * 解析域名获取IP数组 * * @param host * @return */ public String[] parseHostGetIPAddress(String host) { String[] ipAddressArr = null; try { InetAdd...转载 2019-07-23 10:33:53 · 144 阅读 · 0 评论 -
Android 增量更新
原理:增量更新使用的是bsdiff对新老apk包进行区分, 生成一个增量包,然后在手机上使用bspatch对老包进行增量,重新安装;下载资源到本地,在Android工程中添加NDK,并把c文件导入到cpp文件夹中;在项目中配置,并且引入:cutil.cpp#include <jni.h>#include <string>extern "C"...原创 2019-08-07 10:37:29 · 138 阅读 · 0 评论
分享