首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

AspectJandroid的开发

Android运用AOP的思想开发,可以快速的帮助我们简化横向开发中的重复性工作,简单的说就是把涉及到众多模块的某一类问题进行统一管理比如:性能检测、日志打印手机等。...AspectJ实际是对AOP编程思想的一个实践,当然,除了AspectJ以外,还有很多其它的AOP实现,例如ASMDex、javassist等,但目前最好、最方便的,依然是AspectJ。...//全局变量中配置编译项以及,对应的log输出 variants.all { variant -> if (!.../Android-AOPExample 熟悉了一遍 补充:Android-AOPExample的例子下载下来,gradle版本再2.3.0及其以上的版本编译会出现问题 报错误:No such property...:将plugin.project.android.bootClasspath.join(File.pathSeparator) 替换为 android.bootClasspath.join(File.pathSeparator

1.3K20

OpenCV Android 的应用

OpenCV 介绍 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统。...移动端上使用 OpenCV 可以完成一系列图像处理的工作。 二. OpenCV Android 的配置 我项目中使用的 OpenCV 版本是 4.x。... Android Studio 中创建一个 Library,将官网下载的 OpenCV 导入后,就可以直接调用 OpenCV 中 Java 类的方法。...例子两则 3.1 作为二维码识别的兜底方案 Android 原生开发中,二维码识别有老牌的 zxing 等开源库。为何还要使用 OpenCV 呢?... SDK 中使用 OpenCV 的确会给业务方造成困扰,未来也会考虑如何减少 SDK 的体积,以及把 SDK 做成模块化。

2.1K10

eBPFandroid的使用

对于eBPF可以简单的理解成kernel实现了一个虚拟机机制,将类C代码编译成字节码(后文有详细解释),挂在到内核的钩子,当钩子被触发时,kernel虚拟机的"沙盒"中运行字节码,这样既能方便的实现很多功能...BCCandroid系统也可以运行,但是要对系统进行一定程度的修改,后续可能会写单独的文章进行讲解。对于内核开发者我还比较关注怎么自己来实现监控的功能,下文也将做简单的讲解。 ?...eBPF的名词,来帮忙更好的理解。...1. android系统对eBPF的编译支持 目前android编译系统已经对eBPF进行了集成,通过android.bp就能很方便的android源代码中编译eBPF的字节码。...Q版本的节点信息。

4.1K10

Jetson TX2编译模块

英伟达的Jetson TX2是小型和低功耗设备做机器学习方面应用开发的好东西。它的主机操作系统是标准的Ubuntu 16.04。...这意味着我们可以启用任何我们需要的Linux内核模块,比如我们需要启用某些默认TX2不支持的网络设备。我们的例子中,需要接入一个串行USB调制解调器,需要串行usb模块和其它一些模块。...缺点是,Jetson编译比桌面计算机上编译要慢而且不太方便。在这篇文章中,我们将展示从一个普通的桌面PC运行Ubuntu 16.04的具体步骤。...1 交叉编译 这已经一个干净的安装上进行了测试,是没问题的。我已经提供了MD5s的文件来验证是否使用了正确的文件。 普通PC构建系统是ubuntu-16.04。...建立了2个目录,用来存放编译出来的kernel和模块(例如一些驱动),这两行是两个环境变量.

2.2K40

ProGuard Android 的使用姿势

如果以上还不足以说服您使用 ProGuard,其实移除无用代码和混淆所有名称还有其他更多的优化效果: 一些版本的 Android 设备,DEX 代码会在安装或者运行时被编译成机器码。...您的项目中开启 ProGuard 只需简单到添加如下几行代码您的主应用模块的 build.gradle 文件中: buildTypes { /* you will normally want to...而有时候, Android 这些代码的依赖在运行时并不会被真正的调用。让我们看一个真实的例子。 ? 一个项目依赖 OkHttp 3.8.0 构建时的消息。...某些情况下,ProGuard 的警告确实有助于您发现闪退的罪魁祸首和关于您配置的其他问题。...tools 目录下(SDK/tools/proguard/proguard-android.txt),但在新版的 SDK Tools 和 Android Gradle 插件版本2.2.0+,可以构建时从

2.5K40

Android用AI识别物体

今天我们来看看如何在Android实现这个功能。 物体识别 物体识别包括两个方面,一个是物体位置识别,划出图片中的物体什么位置。另一个是物体识别,告诉你这是个什么物体,是人是狗,是桌子还是鸟。...我们把这个网络落地到Android看看它的效果怎样。 Android导入AI框架 要在Android使用AI网络,首先需要集成能够解读AI网络的框架。...Google的TensorflowAndroid做了专门的框架 - Tensorflow-Lite,它能够移动端上高性能地运算AI模型。...首先需要在app的build.gradle里引入它 dependencies { implementation 'org.tensorflow:tensorflow-lite:1.10.0' } Android...需要源码的小伙伴可以公号回复”物体识别“来获取源码回去研究。 下面是AI app的截图。 ? phone ? laptop

4.2K60

小技巧 | Android Studio 调试应用 ()

作为开发者,我们有时会被一些问题所困,导致调试器中所花费的时间甚至超过了编写代码所用的时间。正因如此,最近我们找机会了解了 Android Studio 团队提升调试速度方面使用的一些技巧。...您可以点击 Attach Debugger to Android Process 按钮来执行这一操作: Choose Process 弹窗中,选中您希望附加调试器的进程并且点击 OK。...举例来说,一个正在开发的游戏中,您可能希望玩家的角色与物体碰撞而耗尽其最后的生命值时停止运行。您在碰撞事件添加断点,但是这么一来,每次碰撞都会导致运行停止。...这里,玩家碰撞到一个物体的逻辑基础,设置一个 player.health == 1 的条件,从而使您可以捕捉到玩家生命值降为 0 前的最后一次物体的碰撞事件。...您也可以通过按住 Alt ( Mac 是 Option) 并点击断点,从而更快速地禁用断点。

1.5K20

Android实现HttpServer的示例代码

最近的项目中因为要用Android作为一个服务器去做一个实时接收数据的功能,所以这个时候就要去做一个Android本地的微型服务器。...但是实际我们根本用不到这么大型的服务器框架,配置这些都太麻烦。所以,我又找到了Ijetty、NanoHttpd和AndroidAsync这三个框架,都是比较微型的,适用于Android的。...1024是系统常用端口,1024-65535是非系统端口 public enum Status implements Response.IStatus { REQUEST_ERROR(500, "请求失败...mInstance; } //仿照nanohttpd的写法 public static enum Status { REQUEST_OK(200, "请求成功"), REQUEST_ERROR(500, "请求失败...5)说一下OPTIONS的坑点,因为AndroidAsync这个框架中封装的返回http的状态码只有两种,假如过滤方法中没有包含例如OPTIONS的请求方法,实际返回给客户端的http状态码是400,

1.6K21

微信 Android 模块化架构重构实践(

此外当初为了平滑切换到gradle避免结构变化太大以及太多module,我们将所有工程都对接到一个module。缺少了编译的隔离,模块间的代码边界出现一些劣化。...此时,模块生命周期外的逻辑基本只能放主工程。 此外的问题,模块边界破坏、基础工程中心化,都是代码持续劣化的帮凶。 总之在模块我们忽视了一些重要的问题,必须重塑。...还有个细节,如果想编辑.api后缀的java文件,为了能让Android Studio继续高亮该怎么办?可以File Type中把.api作为java文件类型。...随着时间推移,很快就能发现包名约定作为约束太弱了,快速迭代的代码很难一直维持下去。不管怎么样解决,总要通过一些手段审查代码引用的对不对。感觉有点防不胜防。...接下篇:《微信 Android 模块化架构重构实践(下)》 本文来源于:WeMobileDev 微信公众号

10.5K169
领券