魅力程序猿

  • 首页
  • Java
  • Android
  • APP
    • 扑克计分器
    • Video Wallpaper
  • 联系我
  • 关于我
  • 资助
道子
向阳而生
Android

解决Android编译NDK is missing a "platforms" directory.

在采用Gradle构建Android项目时候出现如下错误信息: Executing tasks: [:app:assembleRelease] Configuration on demand is an incubating feature. NDK is missing a "platforms" directory. If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  It is currently set to …

2018年12月12日 0条评论 19727点热度 0人点赞 daozi 阅读全文
Android

必知的Android APP常用图标尺寸规范

前言 无规矩不成方圆,按规矩办事都有好的结果。Android也有自家的一套规则,其中Icon就是有诸多规则,这些还是要遵循的,不为别的,就是大家都在按章就你搞特殊化,后果真的要自负。虽然这个规则一变再变,但因出师有因——人的审美再变。 关于异形图标和规则图标的取舍,在不同阵营的 Android 用户之间一直存在着争议。而一向提倡使用异形图标、讲求图标「个性」的 Google 在 Android 7.1 中引入了圆形图标规范,在 Android 8.0 中还将带来全新的自适应图标特性——Google 似乎想通过应用图…

2018年8月30日 0条评论 25359点热度 0人点赞 daozi 阅读全文
Android

一张图让你弄懂Android APP启动流程

从图中,我们可以看到从Lanucher启动Activity会至少涉及3个进程,其中ActivityManagerService则是其中的纽带。 主要说明: 1. AMS进程 ActivityManagerService:Activity管理机制的服务器端,属于一个系统服务。用于管理activity的各种行为,控制activity的生命周期,派发消息事件,低内存管理等等。实现了IBinder接口,可以用于进程间通信。 ActivityStack:为了让这许多 Activity协同工作而不至于产生混乱,Android平…

2018年7月31日 0条评论 12485点热度 0人点赞 daozi 阅读全文
Android

解决AAPT2 error: check logs for details问题

遇见问题 最近在res/raw目录下放入了大文件(200M),rebuild出现错误编译通过不了。 编译环境如下: project的build.gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { google() jcenter() } dependencies { classpath 'com.a…

2018年7月25日 0条评论 11797点热度 0人点赞 daozi 阅读全文
Hybrid

解决React Native unable to load script from assets index.android.bundle on windows

最近升级了RN到最新版本: C:\WINDOWS\system32>react-native -v react-native-cli: 2.0.1 react-native: 0.56.0 在Windows上运行react-native run-android命令一直出错: Unable to load script from assets 'index.android.bundle'. Make sure your bundle is packaged correctly or you're 我也查了查,尝…

2018年7月22日 0条评论 5785点热度 0人点赞 daozi 阅读全文
AI

Tensorflow Lite demo for Android 正确使用

1、背景 2017年,谷歌发布了一个专门针对移动设备优化的Tensorflow版本——Tensorflow Lite,并于年末开放了开发者预览版。 当前ML,DL系统通常软件服务商的服务端为用户进行服务,而此次Google希望能将一部分相关处理转移到用户的移动设备上,从而减轻服务端的压力。同时,并且一些需要学习的用户数据涉及用户的敏感信息,并不适合通过网络连接发送给服务商,因此利用Tensorflow Lite可以使得在设备本地进行模型的train与inference。 2、特点 TensorFlow Lite具有…

2018年7月18日 0条评论 8506点热度 0人点赞 daozi 阅读全文
Android

Android流行的热更新方案

1. 前言 2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案、阿里AndFix以及微信Tinker,它们在原理各有不同,适用场景各异,到底采用哪种方案,是开发者比较头疼的问题。本文希望通过介绍QQ空间补丁、Tinker以及基于AndFix的阿里百川HotFix技术的原理分析和横向比较,帮助开发者更深入了解热修复方案。 2. 技术背景 2.1 正常开发流程 在正常软件开发流程中,线下开发->上线->发现bug->紧急修复上线…

2018年7月16日 0条评论 10443点热度 0人点赞 daozi 阅读全文
Android

Android中Instant Run工作原理及用法

1. 前言 Instant Run,它是Android Studio2.0以后新增的一个运行机制,能够显著减少你第二次及以后的构建和部署时间。简单通俗的解释就是,当你在Android Studio中改了你的代码,Instant Run可以很快的让你看到你修改的效果。而在没有Instant Run之前,你的一个小小的修改,都肯能需要几十秒甚至更长的等待才能看到修改后的效果。 其实,Instant Run这个技术是基于Transfrom-API技术。Android Gradle 工具在 1.5.0 版本后提供了 Tra…

2018年7月16日 0条评论 7060点热度 0人点赞 daozi 阅读全文
Android

Android动态编译技术:Plugin Transform Javassist

1. 前言 动态编译技术在开源框架中的应用非常的广泛,现在市面上的插件化框架,热修复框架几乎都使用了动态编译技术,原理几乎都是在编译期间动态的在class文件中注入代码或者或修改。那就让我们来了解一下这高大上的技术吧。 2. 揭开动态编译的神秘面纱 揭开动态编译的神秘面纱只需三步: 自定义Gradle插件 介绍Transform API 及 实现步骤 实现在编译的过程中操作.class文件,对原有代码或者说逻辑进 行一些处理,修改原class代码和动态生成java类 3. 案例demo 插件目录结构: 3.1 自定…

2018年7月16日 0条评论 9689点热度 0人点赞 daozi 阅读全文
Android

在AndroidStudio中实现Gradle自定义插件

1.  前言 Android Studio 项目是使用 Gradle 构建的,构建工具 Gradle 可以看做是一个脚本,包含一系列的Task,依次执行这些 Task 后,项目就打包成功了。 而 Task 有一个重要的概念,那就是 inputs 和outputs 。 Task 通过 inputs 拿到一些东西,处理完毕之后就输出 outputs ,而下一个 Task 的 inputs 则是上一个 Task 的outputs。 例如:一个 Task 的作用是将 java 编译成 class,这个 Task 的 inp…

2018年7月15日 0条评论 6404点热度 0人点赞 daozi 阅读全文
Android

Android的热更新方案之Sophix非侵入式热修复方案

1. 简述 热修复技术可谓是百花齐放,微信的Tinker、QQ空间的Nuwa、饿了么的Amigo、美团的Robust等等,各个热修复方案争相发布,都声称自己可以做到全方位全功能的热修复。不过他们各自有自身的局限性,或者不够稳定,或者补丁过大,或者效率低下,或者使用起来过于繁琐,大部分技术上看起来似乎可行,但实际体验并不好。 终于在2017年6月11日,手淘技术团队联合阿里云正式发布了新一代Android移动热修复方案——Sophix。Sophix的核心设计理念,就是非侵入性。Sophix这个名字,是来源于Sophi…

2018年7月10日 0条评论 6184点热度 0人点赞 daozi 阅读全文
Android

Android中的线程和线程池

前言 线程在Android中是一个很重要的概念,从用途上来说,线程分为主线程和子线程,主线程主要处理和界面相关的事情,而子线程则往往用于执行耗时操作。由于Android的特性,如果在主线程中执行耗时操作那么就会导致程序无法及时地响应,因此耗时操作必须放在子线程中去执行。 在操作系统中,线程是操作系统调度的最小单元,同时线程又是一种受限的系统资源,即线程不可能无限制的产生,并且线程的创建和销毁都会有相应的开销。档系统中存在大量的线程时,系统会通过时间片轮转的方式调度每个线程,因此线程不可能做到绝对的并行,除非线程数量…

2018年7月5日 0条评论 5206点热度 0人点赞 daozi 阅读全文
Git

Git之多账号配置

背景介绍 为什么要配置SSH? 作为程序猿,Git 应该是目前主流的代码管理工具,而Git在提交时有两种方式:Https 和 SH 两种验证方式。 Https : 输入账号密码,每次都要输入(麻烦,程序猿从来不做重复工作) SSH : 提交代码时通过GIT服务器的公钥与本地私钥做验证。(配置一次,无须每次输入账号密码) SSH(简单原理说明) 生成一对公钥-私钥,公钥添加到Git服务器,私钥放在本地。提交代码时通过GIT服务器的公钥与本地私钥做验证,如果验证通过则提交成功,简单说就是把账号和密码托管给SSH, 账号…

2018年7月4日 0条评论 4627点热度 0人点赞 daozi 阅读全文
Android

搞定Java并发-synchronized原理

前言 线程安全是并发编程中的重要关注点,应该注意到的是,造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再进行,这种方式有个高尚的名称叫互斥锁,即能达到互斥访问目的的锁,也就是说当一个共享数据被当前正在访问的线程加上互斥锁后,在同一个时刻,其他线程只能处于等待的状态,直到当前线程处理完毕释放该锁。在 Ja…

2018年7月2日 0条评论 4101点热度 0人点赞 daozi 阅读全文
Android

Android中CrashHandler的实现

前言 相信大家在调试android应用程序包的时候经常会遇到“应用程序没有响应”这种情况,也就是当我们的应用程序出现crash情况,这种提示方式会给用户带来很不好的体验。而且,通常crash导致的退出,因为没有走正常的退出流程,会导致数据没保存、线程没有杀死、缓存没有清空等问题。这个时候就需要一个全局CrashHandler。 这个时候做过项目同学就知道有优秀的第三方SDK,譬如国内有:Umeng统计,腾讯的Bugly,国外有:fabric的Crashlytics  等吧,都不一一细说了,使用起来都很方便,接入也很…

2018年6月29日 0条评论 4410点热度 0人点赞 daozi 阅读全文
123
搜索
联系方式

QQ群:179730949
QQ群:114559024
欢迎您加入Android大家庭
本人QQ:136049925

赐我一丝安慰
给我一点鼓励

最新 热点 随机
最新 热点 随机
解决Android 7及以上Notification.contentView为null问题 彻底解决git命令免密问题 隐藏ScrollView、RecyclerView等滚动条和去掉滑动到边界阴影的方案 Android Studio 3.4 编译Release版本广点通所有广告不显示 Android中使用System的getProperty()方法及获取Android内核版本信息 弄清楚INSTALL FAILED CONFLICTING PROVIDER问题
Android Studio 默认的快捷键大全解释 NDK工程运行出错1 解决WordPress4.7中文标签打开出现404错误 Android性能优化之ArrayMap代替HashMap Android面试题10–IntentService与Service的区别 解决ListView的Item会出现点击两次的问题
最近评论
宝宝 发布于 7 年前(02月27日) 哈哈哈哈
GPU Mining 发布于 7 年前(02月19日) I am just starting to learn about all of this. Tha...
Timothynix 发布于 7 年前(02月08日) Your place is valueble for me. Thanks!… http:...
趣头条 发布于 7 年前(02月08日) 鸟儿叫,花儿笑,一年一季春来到!
xing1982 发布于 7 年前(02月04日) 不错不错!内容感觉好极了!

COPYRIGHT © 2023 魅力程序猿. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备15000477号