自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android 配置NCNN环境

NCNN简介ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架。ncnn 从设计之初深刻考虑手机端的部署和使用。无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架。基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP,将 AI 带到你的指尖。ncnn 目前已在腾讯多款应用中使用,如 QQ,Qzone,微信,天天P图等。Android环境配置以编译运行官方SqueeZenet Demo为例,使用NCNN 所需要的AndroidStu

2021-10-25 00:03:27 1595 2

原创 AndroidStudio SonarLint和SonarQube的使用

环境:搭建 windows 本地环境简介SonarQube是一种自动代码审查工具,用于检测代码中的错误、漏洞和代码Bug。它可以与您现有的工作流程集成,以支持跨项目分支和拉取请求的持续代码检查。环境要求运行 SonarQube 的唯一先决条件是在你的机器上安装 Java 11(Oracle JRE 11 或 OpenJDK 11)且配置了环境变量。如果未安装Java 11 ,SonarQube(Version:9.1)服务启动失败;下载SonarQubeDownload | Son.

2021-10-16 18:05:27 5960 9

原创 AndroidStudio SonarLint安装及使用

SonarLint简介SonarLint 是一个免费的 IDE 扩展,可在您编写代码时查找和修复错误、漏洞和代码异味!就像拼写检查器一样,SonarLint 会动态突出问题并提供快速修复或明确的补救指导,以帮助您在代码提交之前清理代码。凭借对多种流行和经典语言的支持,SonarLint 可帮助所有经验和技能水平的开发人员编写高效、安全的代码。SonarLint 与大多数 JetBrains IDE 集成,包括 IntelliJ IDEA、CLion、WebStorm、PHPStorm、PyCharm

2021-10-14 20:31:18 2842

原创 XShell连接Vmware

环境Windows10 xshell7(我用的免费的社区版) Vmware(已安装Ubuntu)说明:默认已经安装了Xshell 和Vmware已经安装了Linux虚拟机,并且已经配置基本信息比如:用户;具体步骤1,Vmware安装好Linux虚拟机(Centos或者Ubuntu其他都可以)2,Vmware右键虚拟机名称,选择设置,进入设置后如下图,选择网络适配器,一般暗转虚拟机的时候默认是NAT模式,如果设置了其他模式,改为NAT模式即可;3,VMware中执行ifconfig

2021-09-28 20:10:21 364

原创 Windows字符编码集大全

在使用Windows系统的电脑办公,经常会遇到乱码问题,原因一般都是字符集不一致导致;查看字符集命令行中执行chcp设置字符集chcp 代码页国内常用字符集编码一般是936(GBK)和65001(UTF-8) 字符集编码(代码页) 名称 中文名称 37 IBM037 IBM EBCDIC(美国 - 加拿大) 437 IBM43

2021-09-27 19:14:29 4331

原创 创建签名文件jks 乱码

乱码问题生成签名文件的时出现乱码:JKS ��Կ��ʹ��ר�ø�ʽ������ʹ�� "keytool -importkeystore -srckeystore ??.jks -destkeystore **.jks -deststoretype pkcs12" Ǩ�Ƶ���ҵ��׼��ʽ PKCS12��;正确提示:Warning:JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore C:\Users\xxxx\Desktop\

2021-07-25 23:26:55 2468

原创 ArrayAdapter使用自定义布局

关键代码ArrayAdapter cuisine = new ArrayAdapter(getActivity(), R.layout.listview_cook_cuisine,R.id.tv_cuisine_item, Arrays.asList(getResources().getStringArray(R.array.cook_cuisine_type)));listview.setAdapter(cuisine);layout布局xmlns:android="http://sche

2021-07-18 18:22:25 817 2

原创 如何判断APP在不同Android设备中加载的资源文件是那个限定符文件夹下的

以下以图片资源为例,因为一般涉及到图片适配,所以出现图片显示异常,可以查看图片是加载的那个资源文件夹下的来判断是什么问题;前提是这张图片是放在项目中;public void click(View view) { String name = (String) getText(R.drawable.ui1); String name2 = getResources().getString(R.drawable.ui1); Log.d(TAG, " name:" + name + "

2021-07-04 14:25:58 1567 1

原创 Android Java代码调用Python代码

一,通过CLE实现CLE官网http://www.srplab.com/cn/files/products.html下载1,打开官网下载Android平台对应的download和android.python.x.x.x版本,这两个都要下载;2,download下的文件提供了不同API平台使用的.so库(例如:armeabi下的libstar_java.so,libstar_python.so,libstarcore.so,libstarpy.so,也就是出libpython3.9..

2021-06-27 17:34:46 6966 14

原创 Android 用字符串资源名称获取int型资源id的几种方式

前言有时候我们需要根据资源文件名来获取整型的资源id,比如我有资源名为ui1~ui13的10张图片,想通过图片名称动态加载某张资源图片,这时就需要把图片名称转换成图片资源的id加载图片,具体可以看代码更清晰;点击一下切换下一张图片private int n = 2;public void click(View view) throws IllegalAccessException {if (n > 13) {n = 1;}String imgName = "ui" +

2021-06-11 20:45:50 2230 4

原创 自定义BaseAdapter如何重写getItem和getItemId

在自定义BaseAdapter的时候经常忽略getItem()和getItemId()两个方法,最近在使用Spinner实现下拉框的时候配和BaseAdapter实现自定义布局;但是按常规方法不重写getItem()和getItemId(),也就是默认的写法导致出现了一些问题;所以这里研究了一下BaseAdapter的源码;这两个方法的getItem() 获取与数据集中指定位置关联的数据项getItemId() 获取与列表中指定位置关联的行ID一般自定义BaseAdapter(对BaseAd

2021-06-05 17:33:19 1037

原创 Android Spinner实现下拉框几种方式及配合BaseAdapter实现自定义布局

前言本案例以一个Activity中显示XML布局中引入的Spinner控件为基础;一,常规使用这里的常规使用在Xml布局文件中为Spanner提供静态数据;引入Spinner控件的Activity布局文件如下xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"andr

2021-06-01 00:34:15 4106 12

原创 XShell连接Vmware

环境Windows10 xshell7(我用的免费的社区版) Vmware(已安装Ubuntu)说明:默认已经暗转了Xshell 和Vmware已经安装了Linux虚拟机,并且已经配置基本信息比如:用户;1,Vmware安装号Linux虚拟机(Centos或者Ubuntu其他都可以)2,Vmware右键虚拟机名称,选择设置,进入设置后如下图,选择网络适配器,一般暗转虚拟机的时候默认是NAT模式,如果设置了其他模式,改为NAT模式即可;3,VMware中执行ifconfig查看Vmwa

2021-05-29 00:03:11 3503 2

原创 ninja: build stopped: subcommand failed. build/core/ninja.mk:158: recipe for target ninja_wrapper

前言编译Android源码的时候报的错误信息,具体信息如下:[ 0% 6/24270] Ensure Jack server is installed and startedFAILED: /bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.8.ALPHA.jar 2>&

2021-05-16 22:08:19 2652

原创 Shell及Shell解释器

Shellshell 这里说的是所有shell命令统称,例如:grep ,ps ,cd,which ,locate,ll等等,由于计算机无法识别这些shell命令或者说字符,如果要计算器执行这些命令或者说字符,那么就需要shell解释器解释执行这些字符;shell解释器就是解释shell命令的执行程序,比如常见的shell解释器有:sh ,bash,dash,rbash,tcsh;环境以下命令的运行环境是Ubuntu 16.04 ,xshell 7查询当前用户的shell解释器,执行

2021-05-15 21:59:02 650 2

原创 监听App安装、卸载的系统广播

关于监听Android中Apk的卸载安装的广播主要分两种来讲,主要分为Android8.0之前的和Android8.0之后的版本,主要是还是因为Android8.0性特性引起的;第一种:Android 8.0之前的老系统版本,直接注册静态广播接受者即可实现;新建广播接受者PackageInstalledReceiver:public class PackageInstalledReceiver extends BroadcastReceiver { private static

2021-05-14 20:22:59 4408 15

原创 net share xxx /del 发生系统错误 5

net share xxx /del 发生系统错误 5前言net share Downloads /delete //关闭Downloads共享net share //查看本台电脑共享文件及文件夹;解决办法解决办法:以管理员的方式运行cmd命令行不知道怎么以管理员身份运行cmd请往下看:方法一:1,cmd存放路径在C:\Windows\System32\ ,进入此目录找到cmd,如果找不到在右上角搜索栏输入cmd回车即可;2,右键cmd “以管理员身份运行”

2021-05-11 20:13:05 1431

原创 如何查看Android可执行的Linux命令

前言有时候通过adb shell进入Linux,去执行一些命令Linux的命令时,有些无法执行,被Android系统阉割掉了这些命令,所以遇到这种无法运行或者找不到情况,需要查看一下这台Android设备都有哪些命令可用或者说可执行;不同的Android设备可用的命令不一定相同;正文具体怎么查找呢?具体操作步骤如下:1,adb shell 进入Linux内核,这样就可以执行Linux部分命令;2,执行cd system/bin,进入system/bin目录,因为Android系统二进

2021-05-09 20:51:18 619

原创 AndroidStudio 导入老项目报错的多种原因及解决办法

说明以下导入老项目以AndroidStudio4.1.1为例具体错误及原因1,如果老项目中使用kotlin,升级到最新版本后如果kotlin插件(项目的build.gradle)版本和老项目中的插件版本不一致会导致错误;错误:A problem occurred evaluating project ':app'.> Failed to apply plugin [id 'kotlin-android']> Current version of Gradle Gradle

2021-05-07 23:19:31 10807 8

原创 jadx - 更强大的逆向工具

简介相比之前使用过的反编译工具,功能更强大,使用也更简单,可以不用执行命令,直接拖拽就可以得到反编译后的Java原码,而且是可视化;还可以导出gradle项目;包括去混淆剂也是可以;还有就是菜单栏居然是中文的,你可敢想像;相对于dex2jar 和 jd-gui组合;应用方向主要应用于Android相关领域的反编译,当然Java领域也可以用,毕竟jadx反编译的源文件都是字节码文件;环境jadx支持Windows Linux Mac系统,本文以Windows系统为例;格式jadx能

2021-04-29 21:15:14 5417

原创 AndroidStudio release版本的APP也能打印日志和调试

在AndroidManifest.xml清单文件中Application标签下配置android:debuggable="true"属性;结果不管你打debug包还是release包,系统都会默认是debug模式,在AndroidStudio的控制台就可以输出日志,并且可以调试,有些反编译调试别人的APP(比如微信)也是增加或者修改android:debuggable="true"属性值,然后动就可以动态调试;注意:即使在AndroidManifest.xml中android:debuggable="t

2021-04-28 19:15:21 3589

原创 查看 adb 可执行命令

8.3.1 adb shell am start +包名/.Activity (要启动的Activity) 启动一个 Activity (-s先停止目标应用,再启动 -w 等待应用完成启动 -a 启动默认浏览器打开一个网页例:adb shell am start -a android.intent.action.VIEW -d http://testerhome.com)1.adb install +包名 adb安装apk (覆盖安装是使用 -r 选项)

2021-04-22 11:06:05 6250

原创 DataBinding — Jetpack套件之一

简介DataBinding 是实现视图和数据双向绑定的工具,是Jectpack套件中的一个库;使用DataBinding可以省略重复的代码,例如findViewById()、setText()、setOnClickListener()等等;启用DataBinding如果在项目中要使用DataBinding,需要在module下的build.gradle中配置android { // ... dataBinding { enabled = true }

2021-04-17 22:35:12 245 2

原创 Apache HTTP Server 下载,安装,配置,启动手把手教你

一,Apache HTTP Server 简介Apache HTTP Server Project致力于为包括UNIX和Windows在内的现代操作系统开发和维护开源HTTP服务器。该项目的目标是提供一个安全,高效且可扩展的服务器,该服务器提供与当前HTTP标准同步的HTTP服务。二,环境本文所使用的系统是windows系统win10;三,下载官方下载地址:http://httpd.apache.org/,目前最新版是:2.4.46进入官网点击如下图Download进入;进入

2021-04-16 08:58:09 21304 6

原创 Java 枚举详细用法及原码解析

Java 枚举详细解读及用法定义枚举是Java 1.5版本引入的新特性,Java 创建枚举类型要使用 enum 关键字,并且所创建的类型都是 java.lang.Enum 类的子类。枚举类是一种特殊类,它和普通类一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口,但枚举类不能继承其他类.注意:既然枚举都是Enum的子类,所以也要看一下Enum有哪些特性;Enum源码:public abstract class Enum> implements Comparable,

2021-04-15 08:32:07 235

原创 jad 反编译工具 字节码生成Java文件

前言今天推荐一个老牌的,易用的,有助学习编译过程的反编译工具Jad;反编译:就是把字节码转换成代码的过程;官网https://varaneckas.com/jad/国内下载:https://gitee.com/mirrors/jad#/mirrors/jad/blob/master/jad158g.win.zip注意:下载时候注意选择和自己系统匹配的jad;本文以win10使用为例;配置环境下载完成的文件是一个压缩文件,解压之后jad.exe :无法直接安装,需要配置环境

2021-04-07 19:31:32 773 4

原创 AndroidStudio 快速替换导包(import)的R文件

前言有时项目需要,需要修改项目包名,这样也会导致R文件包名改变,所以在所有引用R文件包名的地方会报错;所以需要修改之前所有引用R文件的包名;由于R文件在Android中的特殊性,所以大量文件中引用R文件;怎么快速修改呢;快速修改导入的R文件包名例如:MainActivity中import com.ang.cafe.R 修改为 import com.ang.iot.cafe.RAndroidStudio —>Edit —>Find —> Replace in Path 替换既

2021-03-21 12:54:52 2129

转载 Java8 默认方法和静态方法,新特性

一,什么是默认方法和静态方法?Java 8 开始是可以有方法实现的,可以在接口中添加默认方法和静态方法。默认方法用 default 修饰,只能用在接口中,静态方法用 static 修饰,这个我们不陌生了。并且接口中的默认方法、静态方法可以同时有多个。在接口中写实现方法一点也不稀奇,像这样的用法,从 Java 8 到 Java 14 已是遍地开花,到处都可以看到接口默认方法和静态方法的身影。比如我们来看下在 JDK API 中 java.util.Map 关于接口默认方法和静态方法的应用。

2021-03-19 19:52:28 754

原创 QMUI_Android库 和 arch 库官方使用文档

一,QMUI库简介QMUI Android 的设计目的是用于辅助快速搭建一个具备基本设计还原效果的 Android 项目,同时利用自身提供的丰富控件及兼容处理,让开发者能专注于业务需求而无需耗费精力在基础代码的设计上。不管是新项目的创建,或是已有项目的维护,均可使开发效率和项目质量得到大幅度提升。主要功能1,全局 UI 配置只需要修改一份配置表就可以调整 App 的全局样式,包括组件颜色、导航栏、对话框、列表等。一处修改,全局生效。2,丰富的 UI 控件提供丰富常用的 UI.

2021-03-16 19:50:37 2941

原创 TabLayout tab点击事件几种实现方式

一,简介TabLayout是Android的Design库中的控件,常用于导航栏的实现;常用组合一般TabLayout结合ViewPager+Fragment的使用实现滑动的标签(头部导航栏或者标签栏)选择器。这篇不讲具体使用,主要讲如何单独监听每个tab的点击事件;二,单独监听每个tab的点击事件目前亲测的有两种:2.1,单独使用TabLayout,代码中动态设置TabLayout的tab,然后为每个Tab单独设置点击事件;xml布局<?xml version="1.0" en

2021-03-14 18:56:32 5517

原创 如何查看Dart 和 Flutter安装路径

环境:Win 10 +Flutter SDK(已配置环境变量)win + R 进入运行输入CMD回车进入命令行输入:where flutter dart 或者which flutter dart 回车,即可看到,如下图;注意:where 命令获取的路径一般都是在环境变量配置了;...

2021-03-07 11:37:49 7922

原创 Flutter 常用的命令 快速开发

环境window10 AndroidStudio开发环境前提条件:本机已经有了Flutter SDK 且已经配置了环境变量,以下命令一般都是在cmd命令行中执行,特殊情况会说明;注意:有些命令是需要切换到Flutter项目根目录(包含pubspec.yaml文件的目录)下执行,例如:flutter packages upgrade;1,flutter doctor :检查flutter状态,很重要能知道自己环境配置的问题。2,flutter --version : 查看Flut.

2021-03-06 17:33:15 621

原创 Flutter Error: The method ‘inheritFromWidgetOfExactType‘ isn‘t defined for the class ‘BuildContext‘.

异常Androidstudio 编译运行导入别人的Flutter项目时报错,具体异常信息:D:/IDE/Flutter_windows_2.0.0-stable/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_redux-0.5.4/lib/flutter_redux.dart:77:19: Error: The method 'inheritFromWidgetOfExactType' isn't defined for the class

2021-03-05 19:35:17 5545 2

原创 Android 多种限定符

Android限定符Android 项目给res目录中的子目录加上“-限定符”,可以给不同设备提供不同的资源以及布局。屏幕限定符宽高度限定符(Android3.2之后引入)最小宽度限定符 :sw<N>dp例如:sw600dp, sw720dp屏幕可用宽度 :w<N>dp例如:w720p,w1024p屏幕可用高度:h<N>dp例如:h720dp,h1024dp屏幕特性限定符(Android3.2之前引入)这个一般做屏幕适配用.

2021-01-31 18:02:09 2347 4

原创 Attribute meta-data#UMENG_CHANNEL@value at AndroidManifest.xml requires a placeh

报错:Attribute meta-data#UMENG_CHANNEL@value at AndroidManifest.xml requires a placeholder substitution but no value for is provided.Execution failed for task ':module_login:processDebugManifest'.> Manifest merger failed with multiple errors, see lo

2021-01-24 19:33:59 2730 2

原创 gradle依赖implementation,api,compileOnly,compile及依赖管理

新旧依赖对比Android studio 版本更新至3.0时,连带着com.android.tools.build:gradle 插件工具也升级到了3.0.0,在插件3.0.0中使用了最新的Gralde 4.0 里程碑版本作为gradle 的编译版本,该版本gradle编译速度有所加速,更加欣喜的是,完全支持Java8。当然,对于Kotlin的支持,在这个版本也有所体现,Kotlin插件默认是安装的。依赖关键字也有所改变: Android Studio 3.X Andro

2021-01-19 20:52:24 8590 2

原创 github.io 无法访问 ip为127.0.0.1

原因:本机hosts文件中设置的ip拦截了github.io的访问;访问网址时先搜索hosts文件,如果有网址对应的ip则不需要dns域名解析;解决办法1,站长工具(https://ip.tool.chinaz.com/github.io)上查找github.io域名的ip,把获取的ip在hosts文件中添加对应关系;例如:185.199.111.153 binance-docs.github.io52.74.223.119 github.com192.30.253....

2021-01-09 19:30:32 4033 2

原创 git升级命令

说明本次说的升级是git自身的升级,且是Windows下的git;本地版本:2.28.0当前最新版:2.30.0升级1,打开git bash 输入git update-git-for-windows查看本地git版本号执行命令git --version 或者 git version查看最新版本:官网https://gitforwindows.org/2,到官网下载最新版,覆盖安装即可同一个命令在不同的git版本里写法不一样...

2021-01-05 18:15:34 9136

原创 刷机救砖

刷机手机:P8 青春版 双4G ALE-UL00写在前面刷机需谨慎,小心变砖,不同厂家不同型号的手机刷机千差万别,有些厂家的手机就是同一个款手机还有很多型号,不同型号刷机也有可能不一样,一旦刷错就要变砖;不过变砖也是可以恢复不懂得只能求助某宝救砖;刷机要根据自己的情况和后果再决定是否刷机吧;其他刷机的固件或者说rom(刷机包,太多别名不一一列举了)一般都是别人改过的系统,内含各种捆绑的APP,这些都是系统应用删不掉的,除非手机刷入的是root版系统;解锁刷机第一步往往是解锁手机,也就

2021-01-04 20:29:13 3228

原创 Android 集成Xposed框架

前言Xposed(框架)Xposed框架(Xposed Framework)是一套开源的、在Android高权限模式下运行的系统框架服务,可以在不修改APK文件的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块或插件。XopsedInstall是管理和安装Xposed框架及Xposed模块或者插件的应用工具(apk);注意:要区分Xposed和XposedInstall的概念;Xposed及XposedInstallhttps://github.com

2020-12-25 20:58:49 4185 2

lombok.zip(2020.3)

AndroidStudio2020.3 或者Idea2020.3以上版本使用lombok 插件

2021-10-21

IPackage.jar

系统提供的安装卸载接口;不过默认是隐藏的;Androidstudio中无法使用;所以需要我们在使用的时候提供和系统一样的api接口,依赖到项目中,这样在使用的时候就不报错了;

2019-12-08

AndroidStudio AIDL进程间通信及Binder连接池的实现

使用Android studio 实现两个app通过AIDL 和Binder连接池的进程间通信

2019-04-14

重新编译Google串口开源库生成的.so动态库

在Android.mk文件中加入LOCAL_LDFLAGS += -fPIC,重新编译的.so动态库

2018-11-01

空空如也

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

TA关注的人

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