当前位置:  编程技术>移动开发
本页文章导读:
    ▪构建基于Jenkins + Github的继续集成环境        构建基于Jenkins + Github的持续集成环境1.Jenkins安装 进入Jenkins官方网站下载最新的Jenkins,Jenkins提供war包的下载和各种操作系统的安装文件,选择war包即可。 Jenkins的启动方法有两种: 第一种.........
    ▪ ndk工具施用之arm-eabi-addr2line        ndk工具使用之arm-eabi-addr2line $ arm-eabi-addr2line.exe --help Usage: arm-eabi-addr2line [option(s)] [addr(s)]  Convert addresses into line number/file name pairs.  If no addresses are specified on the command line, they will be read from stdi.........
    ▪ 关于点击ListView使其中的text变色的有关问题       关于点击ListView使其中的text变色的问题1.用selector和setTextColor的方式,具体不讲了,因为网上很多,给个链接http://gundumw100.iteye.com/blog/1169065 2. 上述方法在listview里有时候会神奇的不好使,那么.........

[1]构建基于Jenkins + Github的继续集成环境
    来源: 互联网  发布时间: 2014-02-18
构建基于Jenkins + Github的持续集成环境
1.Jenkins安装
	进入Jenkins官方网站下载最新的Jenkins,Jenkins提供war包的下载和各种操作系统的安装文件,选择war包即可。
Jenkins的启动方法有两种:
第一种是使用tomcat直接打开,就是把jenkins.war放入tomcat下的	webapps目录下,当启动jenkins时,就会自动在webapps下建立jenkins目录。然后再浏览器的地址栏输入http://localhost:8080/jenkins
另一种方法要确保系统中安装了jdk,并且配置了环境变量,检测方法就是在命令行输入java回车后有多行的命令符提示。直接在命令行输入java -jar jenkins.war即可启动jenkins,默认会运行在8080端口,切换到浏览器的地址栏输入http;//localhots:8080,localhost可以改成ip地址。
看到Jenkins的页面说明jenkins已经部署成功了。

2.插件安装 在"系统管理->插件管理"下可以看到Jenkins缺省安装了CVS,Subversion,Maven和SSH,这些都是进行版本控制的软件,不过我们使用的是Git进行版本控制,所以要在可选插件中选择安装Git plugin和GitHub plugin插件,安装之后重新启动就可以看到新的插件已经生效。

3.环境配置 进入"系统管理->系统设置"设置Jenkins的相关参数。主要是设置Git和GitHub插件的参数,在Git下的Path to executable一栏添加本机的git.exe的路径,在Git plugin下的添加本地Git的user.name和user.email的信息,在GitHub Web Hook下添加GitHub账户的相关信息。如果想要使用邮件的功能,需要在邮件通知的一栏添加SMTP服务器和邮箱的相关信息,添加后点击Test的按钮测试一下能否正常发送邮件,这一功能可以在后面的项目中使Email Notification功能得以正常使用。
	
4.构建项目
	点击"新Job",输入"任务名称",选择"构建一个自由风格的软件项目",点击"OK"。系统自动进入"任务配置"界面。

5.配置构建方法 在GitHub project中输入git地址。

在"源码管理->Git"下的Repository URL输入Repository的Git地址(PS:可以选择分支)。
	

在"构建触发器"中选择"Build when a change is pushed to GitHub "和"Poll SCM ",这两项的作用分别是当GitHub有版本库更新时触发Jenkins进行构建和定期检查版本库是否有更新,如果有更新则触发Jenkins进行构建。这里要注意Schedule语法,例如"*/2 * * * *"表示每隔2分钟检查一次。
	

点击增加构建步骤,选择Execute Windows batch command,并输入 "%VS10COMNTOOLS%..\IDE\devenv.com" "%WORKSPACE%\Test.sln" /Build "Debug|Win32",devenv.com是MSVC提供的命令行构建工具,这里的"%VS10COMNTOOLS%..\IDE\devenv.com"为devenv.com的路径,如果没有配置响应的环境变量构建的时候就会找不到路径,所以可以用devenv.com的实际路径代替。在"构建后操作"中可以添加发送邮件的相关信息。
	

点击保存,项目的配置就完成了,点击立即构建,Jenkin就会从github上将文件拷贝下来,这里我在github上存放了一个HelloWorld的项目,所以我的命令行为"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com" "%WORKSPACE%\HelloWorld\HelloWorld.sln" /Build "Debug|Win32",然后自动编译项目,如果构建成功会是蓝色标记,如果构建失败会是红色标记。
	

构建完成后可以在项目中看到项目构建的具体信息,如工作区、变更集和每次构建的控制台输出等。这就是一个基本的基于Jenkins和GitHub的持续集成环境的搭建。

    
[2] ndk工具施用之arm-eabi-addr2line
    来源: 互联网  发布时间: 2014-02-18
ndk工具使用之arm-eabi-addr2line
$ arm-eabi-addr2line.exe --help
Usage: arm-eabi-addr2line [option(s)] [addr(s)]
 Convert addresses into line number/file name pairs.
 If no addresses are specified on the command line, they will be read from stdin
 The options are:
  @<file>                Read options from <file>
  -b --target=<bfdname>  Set the binary file format
  -e --exe=<executable>  Set the input file name (default is a.out)
  -i --inlines           Unwind inlined functions
  -j --section=<name>    Read section-relative offsets instead of addresses
  -s --basenames         Strip directory names
  -f --functions         Show function names
  -C --demangle[=style]  Demangle function names
  -h --help              Display this information
  -v --version           Display the program's version


arm-eabi-addr2line: supported targets: elf32-littlearm elf32-bigarm elf32-little elf32-big srec symbolsrec tekhex binary ihex

Report bugs to <http://www.sourceware.org/bugzilla/>


作用:

so绝对地址到代码行数的计算,以及相关代码行数信息的获取

注意点:

1.绝对地址=so加载的起始地址 - 当前出错代码地址(如pc,或lr等)

2.so必须是要附号信息的

常用实例:

arm-eabi-addr2line.exe -C -f -e ./xxx.so 0x186759



    
[3] 关于点击ListView使其中的text变色的有关问题
    来源: 互联网  发布时间: 2014-02-18
关于点击ListView使其中的text变色的问题

1.用selector和setTextColor的方式,具体不讲了,因为网上很多,给个链接http://gundumw100.iteye.com/blog/1169065

2. 上述方法在listview里有时候会神奇的不好使,那么就得用代码了,这是lz搞了一天搞的啊,你们可要珍惜!

在adapter的getView()方法里加入下面的话

		view.setOnTouchListener(new View.OnTouchListener() {
			
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				// TODO Auto-generated method stub
				Log.d("meng", "action + "+event.getAction());
				if(event.getAction() == 0){
					view.setBackgroundColor(Color.parseColor("#2cb1e1"));
					holder.name.setTextColor(Color.WHITE);
					holder.text1.setTextColor(Color.WHITE);
					holder.text2.setTextColor(Color.WHITE);
				}else if(event.getAction() == 2){
					view.setBackgroundColor(Color.parseColor("#2cb1e1"));
					holder.name.setTextColor(Color.WHITE);
					holder.text1.setTextColor(Color.WHITE);
					holder.text2.setTextColor(Color.WHITE);
				}else if(event.getAction() == 3){
					view.setBackgroundColor(Color.TRANSPARENT);
					holder.name.setTextColor(Color.BLACK);
					holder.text1.setTextColor(R.color.profile_color);
					holder.text2.setTextColor(R.color.profile_color);
				}else if(event.getAction() == 1){
					view.setBackgroundColor(Color.TRANSPARENT);
					holder.name.setTextColor(Color.BLACK);
					holder.text1.setTextColor(R.color.profile_color);
					holder.text2.setTextColor(R.color.profile_color);
				}else{
					Log.d("meng", "else + "+event.getAction());
					view.setBackgroundColor(Color.TRANSPARENT);
					holder.name.setTextColor(Color.BLACK);
					holder.text1.setTextColor(R.color.profile_color);
					holder.text2.setTextColor(R.color.profile_color);
				}
				
				return false;
			}


注意:如果要同时换背景,最好用color值,用图片会产生布局混乱的问题,而且必须用

view.setBackgroundColor(Color.parseColor("#2cb1e1"));

不要用你自己定义的id R.color.xxx,这样颜色会变的,而且不能用

view.setBackgroundResource(R.color.item_click_color); 

因为个别手机尤其是4.0系统的手机会出现点击一会就不变色的bug!

else其实可有可无了,是为了保险加入的。


一个问题有时候能困扰人一天,真2啊。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android消息处理机制Looper和Handler详解 iis7站长之家
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3