android框架

[整理]ADB命令行学习笔记

别来无恙 提交于 2020-01-21 15:39:53
global driver # 元素定位 driver.find_element_by_id("id") # id定位 driver.find_element_by_name("name") # name定位 driver.find_element_by_link_text("text") # 链接名定位 driver.find_element_by_partial_link_text("text") # 通过元素部分可见链接文本定位 driver.find_element_by_tag_name("name") # 通过查找html的标签名称定位元素 driver.find_element_by_xpath("xpath") # 路径定位 driver.find_element_by_class_name("android.widget.LinearLayout") # 类名定位 driver.find_element_by_css_selector("css") # css选择器定位 # 元素集合复数定位 driver.find_elements_by_id("id") # id元素集合 driver.find_elements_by_name("name") # name元素集合 driver.find_elements_by_link_text("text") #

Android快速入门

邮差的信 提交于 2020-01-20 14:52:26
Android 系统架构        2.1 Linux内核(Linux Kernel)     * Android运行在linux kernel 2.6之上,但是把linux内受GNU协议约束的部分做了取代,这样在Android的程序可以用于商业目的。     * Linux 内核是硬件和软件层之间的抽象层。     2.2中间件     * 中间件包括两部分:核心库和运行时(libraries & Android runtime)     * 核心库包括,SurfaceManager 显示系统管理库,负责把2D或3D内容显示到屏幕;Media Framework 媒体库,负责支持图像,支持多种视频和音频的录制和回放;SQlite 数据库,一个功能强大的轻量级嵌入式关系数据库;WebKit 浏览器引擎等。     * Dalvik虚拟机:区别于Java虚拟机的是,每一个Android 应用程序都在它自己的进程中运行,都有一个属于自己的Dalvik 虚拟机,这一点可以让系统在运行时可以达到优化,程序间的影响大大降低。Dalvik虚拟机并非运行Java字节码,而是运行自己的字节码。   2.3 应用程序框架(Application Framework)     * 丰富而又可扩展性的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids), 文本框

Android 源代码结构

若如初见. 提交于 2020-01-20 08:52:50
   简介   在使用Andriod SDK进行应用程序开发的时候,我们需要对源代码进行调试,有可能需要进入到某个Android API函数内部进行跟踪调试。但是,如果目标版本的SDK没有关联对应版本的源代码的话,就会提示你找不到源代码。   图:找不到Android源码的提示     我们都知道Android系统是一个开源工程,在网上可以下载到源代码。一般在网上搜索一下,就会找到各种下载源代码的方法,比如使用Git和Repo,android源代码下载的网址是 http://android.git.kernel.org/ 。关于利用Git下载android源代码的方法,我就不再赘述了,因为网上的方法很多,这里给出一个参考链接 Windows平台下Android源码的下载 。   如果你跟我一样是初学者,相信看了上面的文章,你就知道如何使用Git下载android源码了。但是,看着 http://android.git.kernel.org/ 站点下的各种目录和文件,相信你也会跟我一样傻眼,不知道那个目录下的文件对应是什么代码,想找到自己所需要的东西都比较难了。所以这里给大家介绍一下android源代码的结构,如果发现文章有错误之处,还请各位童鞋轻点砸砖!   图: http://android.git.kernel.org/ 下纷繁复杂的文件    

Android 源代码结构

泪湿孤枕 提交于 2020-01-20 08:00:33
简介   在使用Andriod SDK进行应用程序开发的时候,我们需要对源代码进行调试,有可能需要进入到某个Android API函数内部进行跟踪调试。但是,如果目标版本的SDK没有关联对应版本的源代码的话,就会提示你找不到源代码。   图:找不到Android源码的提示     我们都知道Android系统是一个开源工程,在网上可以下载到源代码。一般在网上搜索一下,就会找到各种下载源代码的方法,比如使用Git和Repo,android源代码下载的网址是 http://android.git.kernel.org/ 。关于利用Git下载android源代码的方法,我就不再赘述了,因为网上的方法很多,这里给出一个参考链接 Windows平台下Android源码的下载 。   如果你跟我一样是初学者,相信看了上面的文章,你就知道如何使用Git下载android源码了。但是,看着 http://android.git.kernel.org/ 站点下的各种目录和文件,相信你也会跟我一样傻眼,不知道那个目录下的文件对应是什么代码,想找到自己所需要的东西都比较难了。所以这里给大家介绍一下android源代码的结构,如果发现文章有错误之处,还请各位童鞋轻点砸砖!   图: http://android.git.kernel.org/ 下纷繁复杂的文件     认识Android源代码结构之前

Android 源代码结构

旧城冷巷雨未停 提交于 2020-01-20 07:09:34
简介   在使用Andriod SDK进行应用程序开发的时候,我们需要对源代码进行调试,有可能需要进入到某个Android API函数内部进行跟踪调试。但是,如果目标版本的SDK没有关联对应版本的源代码的话,就会提示你找不到源代码。   图:找不到Android源码的提示     我们都知道Android系统是一个开源工程,在网上可以下载到源代码。一般在网上搜索一下,就会找到各种下载源代码的方法,比如使用Git和Repo,android源代码下载的网址是 http://android.git.kernel.org/ 。关于利用Git下载android源代码的方法,我就不再赘述了,因为网上的方法很多,这里给出一个参考链接 Windows平台下Android源码的下载 。   如果你跟我一样是初学者,相信看了上面的文章,你就知道如何使用Git下载android源码了。但是,看着 http://android.git.kernel.org/ 站点下的各种目录和文件,相信你也会跟我一样傻眼,不知道那个目录下的文件对应是什么代码,想找到自己所需要的东西都比较难了。所以这里给大家介绍一下android源代码的结构,如果发现文章有错误之处,还请各位童鞋轻点砸砖!   图: http://android.git.kernel.org/ 下纷繁复杂的文件     认识Android源代码结构之前

Android 源代码结构

放肆的年华 提交于 2020-01-20 06:46:27
简介   在使用Andriod SDK进行应用程序开发的时候,我们需要对源代码进行调试,有可能需要进入到某个Android API函数内部进行跟踪调试。但是,如果目标版本的SDK没有关联对应版本的源代码的话,就会提示你找不到源代码。   图:找不到Android源码的提示     我们都知道Android系统是一个开源工程,在网上可以下载到源代码。一般在网上搜索一下,就会找到各种下载源代码的方法,比如使用Git和Repo,android源代码下载的网址是 http://android.git.kernel.org/ 。关于利用Git下载android源代码的方法,我就不再赘述了,因为网上的方法很多,这里给出一个参考链接 Windows平台下Android源码的下载 。   如果你跟我一样是初学者,相信看了上面的文章,你就知道如何使用Git下载android源码了。但是,看着 http://android.git.kernel.org/ 站点下的各种目录和文件,相信你也会跟我一样傻眼,不知道那个目录下的文件对应是什么代码,想找到自己所需要的东西都比较难了。所以这里给大家介绍一下android源代码的结构,如果发现文章有错误之处,还请各位童鞋轻点砸砖!   图: http://android.git.kernel.org/ 下纷繁复杂的文件     认识Android源代码结构之前

OpenCV学习记录——1.学习Android NDK

你。 提交于 2020-01-20 00:39:59
文章目录 1.前言 2.什么是NDK 3.为什么要用NDK 4.NDK编译出来的目标类型 5.NDK下载和NDK项目的创建 6.写个hello JNI可执行文件 6.1 程序编写 6.2 程序运行 7.相关配置文件的详解 8.写个 hello JNI 调用 so 8.1 程序编写 8.2 API讲解 8.3 程序运行 9.写个 hello from C++ 9.1 目录解析 9.1.1 JNILearn\app\libs 放置库文件 9.1.2 JNILearn\app\build 编译过程以及结果 9.1.3 rules.ninja 生成的编译命令 9.1.4 build.ninja 编译脚本 9.1.5 配置native方法 9.1.5.1 CMakeLists.txt 文件中内容,配置生成一个 so 库 9.1.5.2 build.gradle 9.2 流程分析 9.2.1 C++的代码,使用 CMake,编译成了 libnative-lib.so 库 9.2.2 MainActivity.java 加载 so 库 9.2.3 MainActivity.java 关联 so 库中方法 9.3 相关文档 9.4 JNI 执行调用流程 9.5 添加一个新的方法 10.CMake 和 ndk-build 的关系 11.使用 ndk-build 方案 11.1 jni 目录编写

未来 Android 开发的从业方向

北战南征 提交于 2020-01-18 03:36:37
今天在知乎收到了这样一个问题,我觉得这是一个很不错的疑虑,这个问题相信很多人都考虑过,但是除了在大厂的 “螺丝钉”(褒义) 岗位有机会在工作上深入某个方向之外,很多时候中小型团队,特别是创业团队很难在工作上有这样的条件,因为日常工作可能都被业务包围, 如果想要深入某个方向,只能靠自己业余去坚持 。 我算是业余坚持下的半个音视频开发和全职的大前端开发 1、Android 音视频开发 这个一个很不错的方向,特别是在 2018 -2019 年的直播、短视频等风口让这个方向变得很火热,我算是半个音视频开发的从业者,因为 GitHub 开源的 CarGuo/GSYVideoPlayer 用户还不少,所以被逼着成了半桶水的音视频开发。 未来 5G 时代音视频方向肯定会继续红火。 然而事实上一旦做了音视频开发,你就会发现音视频方向其实和 Android 没有太大的必然联系,因为音视频开发是服务于 Android ,而非用 Android 去开发音视频。 音视频开发首要的是需要学习 C++ ,学习 FFMpeg 开源项目,了解音视频的编码协议、容器封装和网络协议,最后对于 Android 来说就是 NDK 开发,然后还需要给 iOS 等其他平台音视频服务,因为如果音视频项目只服务于 Android 是不现实的,感兴趣的可以看看下面我写过的相关基础概念。 《移动开发者的音视频基础知识》

Android FileProvider介绍

纵饮孤独 提交于 2020-01-16 15:55:42
Android 7.0 文件共享要使用FileProvider 对于面向Android 7.0的应用,Android框架执行的StrictMode API政策禁止在您的应用外部公开 file://URI 。如果一项包含文件URI的intent离开您的应用,则应用出现故障,并出现 FileUriExposedException 异常。 对于文件访问在Android 7.0以前可以使用file://uri的方式访问,但是这个地方有个问题,就是即使不是你自身应用产生的文件,只要知道对方的uri则就可以调用到,这样在安全性上就产生了风险。所以Android 7.0后新增了对文件跨进程访问的限制,这个限制会造成,如果使用file://uri的方式访问,则会出现android.os.FileUriExposedException的异常。 FileProvider简介 FileProvider是ContentProvider的一个特殊的子类,它让应用间共享文件变得更加容易,其通过创建一个Content URI来代替File URI。 一个Content URI 允许开发者可赋予一个临时的读或写权限。当创建一个包含Content URI的Intent的时候,为了能够让另一个应用也可以使用这个URI,你需要调用Intent.setFlags()来添加权限。只要接收Activity的栈是活跃的

接入SDK

人盡茶涼 提交于 2020-01-16 10:51:17
管理提醒: 本帖被 fm2010 设置为精华(2014-11-12) http://www.cocoachina.com/bbs/read.php?tid-239087.html 本帖属于 CocoaChina 会员发表,转帖请写明来源和帖子地址 一、Cocos2d-x环境的搭建 关于Cocos2d-x的环境搭建,网上相关的教程已经有很多了,在此就简单的介绍一下。 1.1 所需工具及软件 1、 JDK (1.7版本) 2、Android SDK(直接在Eclipse里下载所需要的SDK版本) 3、 Android NDK (r9d及以上) 4、 Ant 5、 Python (2.7版本) 6、 Eclipse ADT 7、VS2012(Windows)或XCode(Mac OS) 8、 Cocos2d-x-3.3alpha0 (本项目所使用的版本) 1.2 配置环境 准备好如上软件后,配置好JDK与Python的环境变量,执行Cocos2d-x下的setup.py进行各个环境变量的设置,然后就可以使用cocos命令了。 例子: 创建工程:cocos new demo -p com.game.demo -l cpp -d d:\cocos 编译Android:cocos compile -p android -j 4 二、AnySDK环境的搭建 下载 打包客户端及Framework