摘要: 在项目开发过程中常常会不断改UI设计,于是在定稿要发布的前夕,发现有好多不再需要的资源文件存在,发布的包会把这些无用的资源都包含在里面,造成APK的下载包过大.可以通过Android SDK自带的工具进行无用资源的批量删除,下面就工具的使用流程和注意事项进行介绍. 第一步:lint检测无效资源 在Android SDK里启动android-sdk-windows\tools\lint.bat工具[有个小技巧:在文件夹Shift+右键 –> w键  -> Enter 即可打开cmd并进入…
作为新手,学习android 的时候难免要导入一些示例,目的为了更加了解android各种API用法,顺便也可以学习下别人代码的写法. 可是导入android源码后,基本都有错误,R.java也不会自动生成, 因为是第一次导入工程,工程有错R.java就不会自动生成了,工程有错误,当然模拟器就不能启动,也就看不到效果. 在网上找到的各种解决方法,总结如下:  1.选择菜单  Project >> Clean ,前提是勾选上 Bulid Automatically(自动构建部署) , 点Clea…
昨天晚上看某培训机构的Android的 视频教程,看到他在写布局的XML文件时,有很方便的自动提示功能.我就在自己的Eclipse里试了一下,可是我的没实现.就到网上查,很多都说:在 Window->Preferences->XML->XML Files->Editor->Content Assist 右边的Prompt when these characters are inserted: 把默认的“<=:”改成 “<=:.abcdefghijklmnopqrs…
第一步: 写个类去继承 AndroidTestCase public class TestStudent extends AndroidTestCase 并且编写一个测试的方法, 注意,测试的方法必须是 public void , 并且方法不能够接收任何的参数信息 public void testInsert(){ } 第二步: 在清单文件中添加 使用到的指令集 ,以及 使用到 的类库 <!-- 通过包命来指定要测试的目标 应用程序 --> <instrumentation androi…
项目需求一改再改,UI一调再调,结果就是项目中一堆已经用不到但却没有清理的垃圾资源,不说工程大小问题,对新进入项目的人或看其他模块的代码的人来说,这些没清理的资源可能也可能会带来困扰,所以最好还是清理掉这些垃圾,对于一个稍微大一点的工程来说,手工清理明显是不现实的,这就需要一个方法做这些事情. 清理资源文件 要清理没用的资源,首要的工作当然是找到他们,我们知道Anroid SDK中有一个工具叫lint,可以帮助我们查看工程中存在的问题,其中有一项功能就是查找没用到的资源,这样这一步就简单了,直接…
项目需求一改再改,UI一调再调,结果就是项目中一堆已经用不到但却没有清理的垃圾资源,不说工程大小问题,对新进入项目的人或看其他模块的代码的人来说,这些没清理的资源可能也可能会带来困扰,所以最好还是清理掉这些垃圾,对于一个稍微大一点的工程来说,手工清理明显是不现实的,这就需要一个方法做这些事情. 清理资源文件 要清理没用的资源,首要的工作当然是找到他们,我们知道Anroid SDK中有一个工具叫lint,可以帮助我们查看工程中存在的问题,其中有一项功能就是查找没用到的资源,这样这一步就简单了,直接…
上次讲述了一下Android studio Terminal的使用配置,今天又学习了一下关于Traceview和lint工具的使用. 首先来讲lint吧: Android lint工具是Android studio中集成的一个代码提示工具.它主要负责对你的代码进行优化提示,包含xml和java文件,非常强大. 编写完代码及时进行lint測试.会让我们的代码变得非常规范并且避免代码冗余. 让我们及时发现代码中隐藏的问题. 举个样例:我们在代码中建立全局变量.而这个变量实际并不须要全局便利.lint…
开发时间久了, 几个版本迭代之后, 工程中难免留下很多垃圾资源, 造成apk的包很大, 这里介绍一个工具, 可以自动扫描工程中, 没有使用的资源, 然后自动删除: 包括图片, xml, 文本等. 采用的方案: https://github.com/KeepSafe/android-resource-remover 这个开源的项目是基于lint扫描的结果, 执行python脚本自动删除无用的文件. 有一段时间没更新了, 而且是基于之前eclipse的路径结构, 不过即使是gradle工程, 仍然是…
基本知识 apk安装包的文件结构 以知名桌面软件“LauncherPro”为例,apk安装包文件目录: 文件目录如下: - META-INF - res - anim - color - drawable - drawable-hdpi - drawable-land - drawable-land-hdpi - drawable-mdpi - drawable-port - drawable-port-hdpi - layout - layout-land - layout-port - xm…
前言 我们在进行代码优化的时候,往往是通过开发者的经验来判断哪些代码可能存在潜在问题,哪些资源的使用不合规范等.实际上Android SDK提供了一款功能非常强大的工具,来帮助开发者自动检测代码的质量及安全问题,这款工具就叫Android Lint.Lint提供了命令行方式以及与IDE集成的方式来执行,现在Android开发者基本上都使用Android Studio(后文简称AS,下同)来进行开发,强大的AS也集成了该工具,本文就基于AS3.2版本来介绍Lint. 一.Android Lint简…
作为移动应用开发者,我们总希望发布的apk文件越小越好,不希望资源文件没有用到的图片资源也被打包进apk,不希望应用中使用了高于minSdk的api,也不希望AndroidManifest文件存在异常,lint就能解决我们的这些问题.Android lint是在ADT 16提供的新工具,它是一个代码扫描工具,能够帮助我们识别代码结构存在的问题,主要包括: 1)布局性能(以前是 layoutopt工具,可以解决无用布局.嵌套太多.布局太多) 2)未使用到资源 3)不一致的数组大小 4)国际化问题(…
译者序: 第一次读这篇文章是在 2001 年 10 月,帮我解决了一点小问题.本来不好意思翻译,因为英语水平实在太差.最近发现不少网友在问在 C++Builder 的工程里调用 Visual C++ DLL 的问题,也许是用 C++Builder 的人比以前多了吧.于是把心一横,不就是板儿砖嘛?“抛砖引玉”,希望它能给你帮点小忙,也欢迎指出翻译中的错误. shadowstar 2003-6-3 shadowstar's home: http://shadowstar.126.com/ sourc…
对代码进行测试是一回事,但同样重要的是.我们还需要在编写代码的同时引入各种最佳实践.这不仅能够显著改进性能表现,也能增加应用程序的整体稳定性.另外,经过合理结构调整的项目在维护方面也更为轻松. Android Studio中提供的Android Lint是一款静态分析工具,它负责对项目源代码加以分析.它能够检测出应用程序中的潜在漏洞以及其它可能被编译器所忽略的其它代码问题. 就以下面这幅截图为例,大家可以看到该布局中的LinearLayout并未得到实际使用.Android Lint的优势在于,…
目的: 实现使用C++编写代码供Android工程调用.C++代码中可以使用STL库,也可以使用常用的由源码编译生成的库,如PBC.因为PBC是基于GMP库的,所以这里只记录了GMP和PBC库的编译安装方法,其它库的方法类似. 特点: 不使用集成的ndk-build功能,不需要在jni目录下写c文件和mk文件,而是从NDK中提取出交叉编译toolchain,这样可以在CodeBlocks等环境中建立独立工程进行C++代码的开发,然后编译生成动态库交给Android工程来加载. 准备工作: 一个搭…
[转]eclipse android工程没有错却出现红叉 问题描述: 这是一个很变态的问题,花了我N多时间才解决掉,而且弄得心情非常郁闷,这明显是ADT的bug嘛,为什么最新的版本还没有解决? 将Linux下建好的android工程在windows下打开时,本该不会报出任何错误的,事实上也的确如此,工程里所有的文件都没有报错(出现小红叉),但工程名上确有个叉叉,有图有真相: 用Ctrl+F11运行吧,又会报出如下错误: 按照常理,这种情况下,应该使用Clean工具来清理一下项目的bin文件再让它…
一:问题       二:解决方法 (1)选择android工程,右键Android Tools —> Clear Lint Markers 这种方式能够清除android工程里面的所有警告信息,但很遗憾,下一次打开eclipse的时候还会继续提示,非常不爽! (2)使用@SuppressLint标注忽略指定的警告 要使用该标注,需要引入annotations.jar,默认新建工程的时候都会有这个jar包.如下使用方式: 在类,方法,变量等前面加上标注 @SuppressLint("New…
转自: http://ticktick.blog.51cto.com/823160/1365947 一般情况下,我们都是使用Eclipse+ADT插件或者Android studio软件来编译Android工程的,其实,Eclipse或者Android studio仅仅是将一些编译命令封装到可视化界面里而已,通过shell脚本.ADT附带的一些命令以及Ant工具,我们完全可以将Android工程的编译过程自动化,直接通过运行脚本就得到最终的APK文件. Linux下用脚本编译c/c++程序至少需…
一.基本介绍 作为移动应用开发者,我们总希望发布的apk文件越小越好,不希望资源文件目录中没有用到的图片等资源也被打包进apk,不希望应用中使用了高于minSdk的api,也不希望AndroidManifest文件存在异常,lint就能解决我们的这些问题. Android lint是在ADT 16提供的新工具,它是一个代码扫描工具,能够帮助我们识别代码结构存在的问题,主要包括: Usability problems (like not specifying an input type on a…
问题: 在用Altium Designer进行PCB工程设计时,有时一个工程里可能不止一块PCB,比如,一个设备里有主板和扩展板或者按键板等等,这时就需要在一个工程里添加多个PCB文件.如图: 我们知道,在Altium Designer中将原理图导入到PCB是通过在原理图菜单Design->Update PCB Document xxx.PcbDoc,如图: 在进行这样的操作之后,虽然我们选的是某一个PCB文件,但是最后结果是,所有原理图都被导入到了这个选中的PCB文件中,无法实现不同的原理图导…
一:Android.mk     Android.mk 内部定义了一个或者多个源代码的模块,该文件的产生是和NDK相关的,NDK 是Android提供的一种工具,可以为编译mk文件内部的源代码提供依赖支持.    此外,Android.mk 文件是属于GNU 文件的一部分,GNU是用来编译源码的,如gcc命令等. 二: Pom.xml(使用maven)   1.  pom是一种项目对象模型,.通过xml表示maven项目,使用pom.xml来实现,描述了项目的配置信息,包括项目的url,依赖性和…
如何去除Android游戏软件中的广告:很多时候,我们下载好一款Andriod游戏软件,却被游戏软件中的广告弄的很烦.不停跳动的广告让人觉得非常不爽,而且在玩游戏的时候,还有可能点击到广告,中断游戏.那各位椒友是不是非常想取出Andriod游戏软件中的广告呢?嘿嘿,今天,凌少就来教大家如何取出Andriod游戏软件中的广告. 下面就教大家怎么用最简单的步骤把广告通通都去掉!所需工具已打包,下载链接在文中. 一:安装Java环境 下载最新的java环境(点击下载),并安装.这一步就不详细叙述了,跟…
  Cocos2d-x游戏导出android工程,提取cocos的so文件   原本cocos游戏的android工程编译时,需要将cocos的库文件进行编译,这些文件大部分是cpp文件, 使用ndk-build工具编译cpp文件非常慢,而且非常耗cpu,大概需要10-20分钟才能编译完成,这个还是因为我换了固态硬盘后的效果,没固态硬盘可能就gg   这个等待时间可能是一个不错的水群时间,或者上去看看新闻,有哪个好看的,好玩的. 但事与愿违啊! 电脑编译这个工程已经占据的80%cpu,这叫人怎么…
(该系列整理自张泽华android视频教程) 1. android工程 各个文件夹的作用 src/  java原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由Android开发工具自动生成的文件.目录中最重要的就是R.java文件. 这个文件由Android开发工具自动产生的.Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件.正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java.R.java在应用中起到了字典的作用,…
还望支持个人博客站:http://www.enjoytoday.cn 本章节主要介绍如何开始Android工程的创建和android开发过程中需要的一些简单的技巧和知识.首篇文章主要介绍如何开始Android工程,包括工程的创建和android开发开始需要的一些基础的开发知识. 创建Android项目 android开发必备基础知识 创建Android项目 1.选择一个开发的IDE Android Studio:google自己开发的一款ide工具,功能比较完善,更新频率也较高,中文社区:htt…
现在很多人想对Android工程的编译和打包进行自动化,比如建立每日构建系统.自动生成发布文件等等.这些都需要我们对Android工程的编译和打包有一个深入的理解,至少要知道它的每一步都做了什么,需要什么环境和工具,输入和输出是什么.那么我们就来挖掘一下Android的编译过程中的细节. 首先,我们假定你的系统(什么系统都行,不限于Linux还是Windows系统,当然,我在这里默认使用Linux系统来举例子,但在 Windows中几乎没有什么差别)已经安装了JDK和Android SDK.再假…
工程在经过多人后,往往会出现较多的垃圾,导致打包出来的ipa文件偏大,有时候我们会通过清理代码来给程序瘦身,而瘦身ipa效果明显的,主要通过清理程序里的无用图片. 推荐一个清理图片的应用 https://github.com/tinymind/LSUnusedResources 直接打开运行,点击Browse..选择工程目录,再点击Search 搜索出该搜索工具认为工程里没有用到的图片,当然那些没搜出来的就都是有使用的图片了,不用理会 注意:这里所说没有用到的图片不是真的没有用到,因为这个工具他…
http://zhidao.baidu.com/question/626166873330652844 一个工程包含另一个工程.相当于一个jar包的引用.但又不是jar包反而像个package 在网上找到了这个方法: 现在已经有了一个Android工程A.我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A. 一个思路是把工程A做成纯Jar包,这样其他的工程就可以直接引用了. 但是,如果在工程A中用了R.java中的引用,则无法打成jar包了.…
1.安卓系统架构 1>底层是Linux系统 2>函数库层 由C或C++写的 3>Application frameWork应用的框架层 4>顶层是应用层 2.JVM与DVM介绍 1> dvm(dx.bat)把所有的.class文件变成一个.dex文件(提高速度) 2>dvm的架构基于寄存器(基于CPU的内存) 3> jvm把.java文件编译成.class文件 4>jvm的架构基于栈内存 3.Dalvik模式与ART模式 Android系统是以Linux系统…
调用 Visual C++ DLL 给 C++Builder 程序员提出了一些独特的挑战.在我们试图解决 Visual C++ 生成的 DLL 之前,回顾一下如何调用一个 C++Builder 创建的 DLL 可能会有所帮助.调用 C++Builder 创建的 DLL 要比 Visual C++ 的少了许多障碍. 为了在你的 C++Builder 工程里调用 DLL,你需要三种元素:DLL 本身,带有函数原型的头文件,和引入库(你可以在运行时载入 DLL,而不是使用引入库,但为了简单我们按引入库…
Gradle介绍 Gradle是一个先进的build toolkit,可以方便的管理依赖包和定义自己的build逻辑.到底有多先进,Android Studio官方集成Gradle,Google还专门写了Android Plugin for Gradle,你们感受一下. 基础配置 Android Studio中有一个顶级的build.gradle文件,每一个module还有一个自己的build.gradle.这个文件是使用Groovy语法和Android Plugin for Gradle元素的…