04 2013 档案
摘要:This is a blog post by iOS Tutorial Team memberAdam Burkepile, a full-time Software Consultant and independent iOS developer. Check out his latest appPocket No Agenda, or follow him onTwitter.The iPhone 5 comes with a gorgeous new screen that has a lot more space for your app’s content – 88 points (
阅读全文
摘要:如果我们的图片资源都是在发布程序时不变的或者是从网络上获取的我们当然不用建立目录,只需要将图片放在Resources下边,然后add 作为Group,这样就能在程序中通过1:[UIImage imagename:@"XXX.XXX"];或者2:[UIImageimageWithContentsOfFile:[[NSBundlemainBundle] pathForResource:@"name"ofType:@".后缀"inDirectory:@""]];但是如果我们的应用要实现换肤功能,不算是换肤,算是自动打包,
阅读全文
摘要:项目经历过大的变动之后会留下一些不再需要的图片文件,写了一个脚本跑了一下,找到150张未用到的图片,给力~下面的脚本使用的时候需要根据自己的项目指定图片目录和代码目录找出不再需要的图片#如果没有找包含@"imageName"或@"imageName.png"的.h.m文件,则认为项目里不再需要这个图片find ./Resources -name "*.png" \ |grep -v @ \ |while read line;do iname=$(basename "$line"|sed -e "s/\.p
阅读全文
摘要:这几天稍稍研究了一下这些命令行,根据捕捉到的命令进行了整理,目前整合出了完全使用命令行来实现iOS的持续集成的方式,目前把相关的命令行代码分享一下,供大家参考: #设置命令路径 WORKSPACE_PATH=`pwd` SCAN_BUILD_PATH=~/dev-tools/clang/llvm/tools/clang/tools/scan-build/scan-build CLANG_PATH=/usr/bin/clang XCODEBUILD_PATH=/usr/bin/xcodebuild XCRUN_PATH=/usr/bin/xcrun #设置用户变量 #静态扫描第三...
阅读全文
摘要:Mac下磁盘工具将NTFS弄成RAW的修复:我只是在mac下用磁盘工具将移动硬盘的一个NTFS分区修复了一下,其实是不小心地按住了修复,结果就悲剧了,mac下挂在不了这个分区,进入windows直接弹出提示要不要格式化,我滴亲娘二大爷啊,300G的一个分区啊(移动硬盘是1T的),那么多数据,怎么办呢。网上搜了搜有的是找什么属性-安全选项,修复权限之类的,还有找不到安全选项的 取消了一个“使用简单文件共享”,就会有了。但是我的是win7啊,没有这个选项啊,有木有。只有一个类似的我取消了还是找不到属性-安全。后台不知在哪搜到了一条命令 CHKDSK J: /F,在cmd下输入如下命令就能自动修复,
阅读全文
摘要:常用:1.vim#在命令行中输入vim,进入vim编辑器2.i#按一下i键,下端显示 --INSERT--#插入命令,在vim中可能任意字符都有作用3.Esc#退出i(插入)命令进行其它命令使用4.:r filename#读入一个文件内容,并写入到当前编辑器中5.:w newfilename#将该编辑器中的内容写入到一个新文件中6.:w#在编辑的过程中保存文件,相当于word中的ctrl+s7.:! command暂时离开 vi 到指令列模式下执行 command 的显示结果!例如:!ls#在编辑过程中执行shell命令ls8.:sh#进入shell命令行,执行完命令后ctrl+d退出重新进入
阅读全文
摘要:今日继续学习Android中使用Pull的XML解析技术实现对XML文件的解析和创建。由于明天休息,时间比较充裕,所以我也将昨天未总结的SAX解析技术在此做个总结。 一、SAX解析技术 Sax使用的是事件驱动的流式解析技术。事件驱动的流式解析方式是,从文件的开始顺序解析到文档的结束,不可暂停或倒退。当解析到文档的开始或结束、元素的开始或结束等都会触发一个事件,我们在事件处理方法中完成对数据的操作。由此可见,我们需要编写实现了事件接口的类。 3.XML文件对应的实体Book:package eoe.androidxml;public class Book {private int id;...
阅读全文
摘要:<?xml version="1.0" encoding="utf-8"?><resources> <color name="transparent">#00000000</color> <!-- 透明 --> <color name="white">#FFFFFF</color> <!-- 白色 --> <color name="ivory">#FFFFF0</color>
阅读全文
摘要:XML在各种开发中都广泛应用,Android也不例外。作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能。今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法。在Android中,常见的XML解析器分别为SAX解析器、DOM解析器和PULL解析器,下面,我将一一向大家详细介绍。SAX解析器:SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的。当事件源产生事件后,调用事件处理器相应的处理方法,一个事件就可以得到处理。在事件源调用事件处理器中特定方法的时
阅读全文
摘要:There are good reasons to want to build two versions of the same Android application. The most common scenario is to produce a free demo/reduced-functionality version of a non-free app. You could achieve this by maintaining two separate source trees but the duplication would make most developers win
阅读全文
摘要:Some of you might have read my articleAndroid: Deploying multiple targets from one project. It describes how to create customized versions of the same software and therefore benefit from multiple apps with the same featureset. That deployment with an Ant script has proven to work well. For example o
阅读全文
摘要:Update:This way of deploying multiple targets is considered outdated. There is abetter way now.This posting is about how to create multiple versions of your Android application without cloning the whole project. For example if you want to create a full (paid) app, as well as a lite (free) version of
阅读全文
摘要:[Android] 利用 ant 脚本修改项目包名在开发android应用项目的时候,经常会有这样的需求,一个应用项目,要求房价上半年下行 下半年或回暖在不同的OEM下有不同的包名,不同的资源,不同的功能点什么的。尽管可以利用eclipse adt自带的功能来做这件事,但是,当按照这样的需求来定制的越来越多的时候,手动去修改就开始变得力不从心起来。这个时候,一个良好的自动化脚本呼之欲出,你完全可以利用perl/python/Makefile来做,不过这里如果直接使用ant来做的话,似乎很多事情变得简单起来。毕竟,ant提供给我们良好的接口,而隐藏那些实现细节。废话少说,先搭建一个这样的环境吧。
阅读全文
摘要:ANT与RTS结合用用户tn_prodpre登陆10.3.72.157,vi .bash_profile,设置如下环境变量:ANT_HOME=/home/tn_prodpre/apache-ant-1.6.5JAVA_HOME=/usr/local/j2sdk1.4.2_09PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH:$HOME/bin在项目很大的情况下,javac可能报错: java.lang.OutOfMemoryError,需要设置如下行fork="yes"executable="/usr/local/j2sdk1.4.2
阅读全文
摘要:通过ant脚本,编译打包android工程1.Android程序编译、打包、签名、发布的三种方式:方式一:命令行手动编译打包方式二:使用ant自动编译打包方式三:使用eclipse+ADT编译打包2.Android编译、打包的步骤:2.1第一步 生成R.java类文件:Eclipse中会自动生成R.java,ant和命令行使用android SDK提供的aapt.ext程序生成R.java。2.2第二步 将.aidl文件生成.java类文件:Eclipse中自动生成,ant和命令行使用android SDK提供的aidl.exe生成.java文件。2.3第三步 编译.java类文件生成clas
阅读全文
摘要:我设置的/Users/用户名/.bash_profile下的环境变量为:export JAVA_HOME=`/usr/libexec/java_home`export ANDROID_SDK_ROOT="/Users/haziliang/adt-bundle-mac-x86_64/sdk"export ANT_HOME="/Users/haziliang/opensource/apache-ant-1.9.0"export PATH=${PATH}:${JAVA_HOME}:${ANDROID_SDK_ROOT}:${ANDROID_SDK_ROOT}/
阅读全文
摘要:大家好,今天来分享一下如何使用ANT打包Android应用。通常我们习惯用eclipse来开发Android程序,它会自动帮我们打包当前的应用程序。如果在Navigator视图下,我们可以看到以下几个文件:在上图中,com包放置的是我们的class文件,classes.dex是class文件经过转换后的可以在dalvik上跑的精简类文件,resources.ap_是经过打包的资源文件,ant.apk就是最终的打包文件。使用ANT来对应用打包,一般会经过以下几个步骤:1.用aapt命令生成R.java文件2.用aidl命令生成相应java文件3.用javac命令编译java源文件生成class文
阅读全文
摘要:JAVA调用脚本,主要使用Runtime和Process两个类.其中如何对Process进行输入是关键.尤其注意在合适的时候flush输出流.调用SHELL脚本可用如下代码进行:String command = base + "--lower=0 " + "DEF:var1=" + rrddir + "/" + host +"/Current_Users.rrd:1:AVERAGE " + "CDEF:varf0c320=var1,100,/,100,* " + "AREA:varf0
阅读全文
摘要:1.Android程序编译、打包、签名、发布的三种方式:方式一:命令行手动编译打包方式二:使用ant自动编译打包方式三:使用eclipse+ADT编译打包2.Android编译、打包的步骤:2.1第一步 生成R.java类文件:Eclipse中会自动生成R.java,ant和命令行使用android SDK提供的aapt.ext程序生成R.java。2.2第二步 将.aidl文件生成.java类文件:Eclipse中自动生成,ant和命令行使用android SDK提供的aidl.exe生成.java文件。2.3第三步 编译.java类文件生成class文件:Eclipse中自动生成,ant和
阅读全文
摘要:Ant使用在ant的官网http://ant.apache.org进行下载后apache-ant-1.8.2包解压(存放的路径不要有中文字符)把ant里的lib设置到环境变量:E:\Android\apache-ant-1.8.2\lib这样在命令行里就可以直接使用ant学习资料:1. ant使用指南.rar2.文档:apache-ant-1.8.2/docs/manual/index.html下的Ant TasksàList of TasksAnt的For循环在ant的核心包里没有相关的For循环的Task,要下载相应的扩展包,已经有人写过了。扩展包:Ant-contrib包就是一
阅读全文
摘要:用法 API 调用 JAVAAnt是Java程序员的一个好的工具,主要可以帮助程序员进行java项目的的管理,包括批量编译、部署、文档生成等工作,其用途远不止如此,ant内置了大量的API进行各种文件系统操作,在各种应用服务器中都被广泛应用于程序和资源的部署。Ant功能强大的地方在于,程序员不仅能通过编写Ant的脚本(build.xml)来进行各种文件部署管理操作,还可以通过调用Ant的丰富的API,甚至扩展Ant的API进行编程。用于介绍Ant 脚本编写的书比较多,而介绍Java 调用 Ant API的书籍和资料比较少,初学者用户在进行Ant编程时会遇到不少麻烦,笔者也是在项目开发过程中,逐
阅读全文
摘要:为了条理地介绍Ant,下面我分几部分来介绍Ant:1.什么是AntAnt 是一种基于java的build工具,理论上来说,有点类似与(liunx)种的make,但是修复了make的缺陷,使build更加好用,更加方便。这里有必要介绍一下为什么会产生Ant这个工具?既然已经有了make,gnumake,nmake,jam和其他的构建工具,为什么还有开发另外一个呢?这时因为那些工具都具有局限性,Ant的原作者(James Duncan Davidson)在开发跨平台软件时,并不能使用其中一个完成所有的任务,这就好像,在英语不是通用语言之前,你去那里,必须搞个翻译似的,降低了开发小绿绿,也急不利于大
阅读全文
摘要:Apache Ant 是一个基于 Java 的开放源代码构建实用工具。人们常把它与 Make 进行比较,Make 长期以来一直用于帮助自动完成构建过程。经过不同版本的改进,Ant 已发展成一个丰富的功能库,使其成为适用于许多场合的合适工具。例如,Ant 的当前版本提供的一些任务包括了操作文件内容、执行命令行和 Java 程序以及启动 SSH 和 FTP 连接的功能。由于定义所有构建逻辑的 Ant 构建文件都是用 XML 编写的,因此,如果需要更改逻辑,则不需要重新编译代码,也不需要了解语言特定的语法。此外,Ant 具有高度的可扩展性。它提供了使用 Java™ 创建您自己的自定义任务的功能,之后
阅读全文
摘要:Ant环境变量分为四种:1.build.properties文件中定义的变量2.build.xml文件中定义的变量,3.windows系统默认自带的环境变量,4.windows系统SET的环境变量。1,3,4都是为2提供变量支持基础储备:Builid.xml开头一般是固定形式如下:<!--变量设置:name工程名 basedir相对根目录,为以后创建目录做参照 . 表示当前目录--><project name="project_name" basedir="." default="task_name" xmlns:i
阅读全文
摘要:在Android SDK中包含了一个工具名为Zipalign,它可以优化你的APK程序包,我们都知道APK的MIME其实就是一个Zip压缩文件,通过Zipalign可以让你的应用程序运行更快,Android123猜测从原理上来讲应该是优化Zip文件的解压速度,毕竟这个工具的文件名为zip对齐。 在Android平台中,数据文件存储在apk文件中,可以多进程的访问,如果你开发过Win32可能知道程序的粒度对齐问题,不错虽然不是PE格式的文件,在Zip中一样,资源的访问可以通过更好的对其优化,而zipalign使用了4字节的边界对齐方式来影射内存,通过空间换时间的方式提高执行效率。下面Androi
阅读全文
摘要:提高反编译难度的几种方式:对于软件安全来说,有攻就要有防才对。不然,Android整个产业链就会被这样的Crack给毁掉。第一种办法:将核心代码用JNI写进so库中。由于so库的反编译和破解的难度加大,所以这种方式防止反编译效果不错。关键代码使用jni调用本地代码,用c或c++编写,相对于class文件,so相对比较难于反编译。缺点是,对于Java层的代码没有保护作用,同样可以被篡改。很多搞java的程序员不太熟悉如何写c或c++代码,同时本地代码很难调试。出错容易导致整个虚拟机死掉,用户感受不好。第二种办法:在线签名比较。在程序初始化时,联网将运行的程序的签名与服务器上的官方标准签名进行比较
阅读全文
摘要:在Android系统中,所有安装到 系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应用程序才能取得该权限。Android使用Java的数字证书相关的机制来给apk加盖数字证书,要理解android的数字证书,需要先了解以下数字证书的概念和java的数字证书机制。Android系统要求每一个安装进系统的应用程序都是经过数字证书签名的,数字证书的私钥则保存在程序开发者的手中。Android将数字证书用
阅读全文
摘要:最近编程时遇到问题:写了一个android小程序,打包后用apktool反编译再打包都没问题,安装时出现Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]错误,网上查资料原来是签名的问题,解决方案如下。《一》使用命令行生成签名文件(1)创建一个用来存放签名文件的文件夹Android_keystore(2)在命令行窗口中输入命令:(粗体部分)[java]view plaincopyD:\Android_keystore>keytool-genkey-aliasaeo_android.keystore-keyalgRSA-validity20000-
阅读全文
摘要:最近比较懒,博客一直都没更新,上次有人问ant 来编译android 工程,这里我就完整的整理了一下。如果你嫌弃IDE太慢或者觉得手动编译更Cool,不用IDE你可以学到更多。也是成为牛人的必修课啊!一,准备antant 官网可下载http://ant.apache.org/ant 环境配置:1。解压ant的包到本地目录。2。在环境变量中设置ANT_HOME,值为你的安装目录。3。把ANT_HOME/bin加到你系统环境的path。更多的介绍可以去google相信有很多二,详细步骤和说明,这里我们要知道一些Android命令。前提条件已配置好android sdk 环境,所以可以在任意目录下执
阅读全文
摘要:终于知道怎么在android源码中混淆编译了,不用ant也不用eclipse插件。1.在需要混淆的工程目录下(package/apps/下的工程)添加proguard.flags文件,该文件即为网络传说中的proguard.cfg,只是命名不一样而已,然后再Android.mk中添加如下两句:LOCAL_PROGUARD_ENABLED := fullLOCAL_PROGUARD_FLAG_FILES := proguard.flags上面的full 也可以是custom,如果不写这句,那还得添加如下一句:TARGET_BUILD_VARIANT := user或者TARGET_BUILD_V
阅读全文
摘要:前言:C/C++,JAVA,C#无论是写起来,还是看起来,都是相对较易懂的,但MAKEFILE\ANT BUILD.XML,Shell脚本,等等涉及诸多的宏变量、TAG关键字、命令关键字,又缺少专门的编辑环境,测试条件,看起来,改起来,写起来都是有一定难度。很多国外的Android开源软件应用项目,都是用ANT编译,而非用Eclipse集成开发环境。更多人选择是在Linux下开发Android应用,而非在Windows下开发。一、Ant的概念可能有些读者并不了解什么是Ant以及如何使用它,但只要使用通过Linux系统的读者,应该知道make这个命令。当编译Linux内核及一些软件的源程序时,经
阅读全文
摘要:AAPT 工具介绍下面是取自"http://www.androidcn.net/wiki/index.php/Reference/aapt"的介绍aapt stands for Android Asset Packaging Tool and is included in the tools/ directory of the SDK. This tool allows you to view, create, and update Zip-compatible archives (zip, jar, apk). It can also compile resources
阅读全文
摘要:Android本身是支持ant打包项目的,并且SDK中自带一个build.xml文件。通过该文件,可以对文件进行编译、打包、安装等。并且支持多种方式打包,如debug或者release。一般的,可以按照如下方法进行操作:首先创建一个Android工程。工程创建好后,需要为工程添加ant支持,即创建相应的build.xml文件。这个文件不需要用户自己创建,只需要执行如下命令即可:<sdk>/tools/android update project -p <project> -t <target>其中:sdk为sdk的安装目录,其下的tools/android是
阅读全文
摘要:当前的web项目有引用到子工程项目,而且多个子工程项目也有引用到其它的工程项目,现要求利用Ant自动将web项目打包成war包,其中引用到的子工程项目需打成jar包,而且必须是混淆后的jar包。其中混淆代码的工具选择了开源的Proguard(http://proguard.sourceforge.net/),可以运行proguard自带的proguardgui.jar(图形化用户界面)生成proguard配置文件。ProGuard是一个免费的java类文件压缩,优化,混淆器.它探测并删除没有使用的类,字段,方法和属性.它删除没有用的说明并使用字节码得到最大优化.它使用无意义的名字来重命名类,字
阅读全文
摘要:转自:http://www.cnitblog.com/zouzheng/archive/2011/01/12/72630.aspx前段时间把Android的工程用Ant Build搞定后,现在需要把编译后.class进行混淆,以优化减少体积和防止别人反编译,开始在网上看了一些关于ProGuard的介绍,以后能够比较快的解决,但是还是花了两天半的时间才搞定,也许是自己对Java和ProGuard不了解,网上也有一些例子介绍Android ProGuard,但是你全部拿过来肯定是不行的,这需要你认真的读他的手册和国外开发人员写的Blog,我是把这个ProGuard手册看了两遍才把问题解决的。下面转
阅读全文
摘要:上篇介绍了应用程序从源码到安装包的整个过程,考虑到篇幅过长,遂将原理内容分成两部分来介绍。接下来,在本篇中,主要介绍Android平台应用程序的运行原理。 在阅读了SDK文档中“Application Fundamentals”一篇的内容后,根据自己的理解绘制了下面的示意图: 每个应用程序安装后,系统便会为其分配一个独立的存储空间,所谓的“Security Sandbox”,用于存放字节码文件、资源文件及配置文件等,同时,系统会为每一个应用程序分配唯一的ID,用以标识该应用程序的相关文件和资源,系统通过设置权限从而实现一个应用程序在一般情况下只能访问该应用程序的文件和资源。当应用程序或者它的某
阅读全文
摘要:接着上一篇的内容,继续从全局了解Android。在清楚了Android的平台架构(可以看作是静态原理)后,还需要掌握其动态原理。动态原理包含两部分,一部分是编译原理,另一部分是运行原理。有人会说,搭建一个基于Eclipse的Android开发环境,编译和运行只要点击按钮即可完成。但是,如果只是“知其然而不知其所以然”的话,在后面的开发中一旦遇到奇怪的问题后可能就束手无措啦。所以,即使是作为初学者,如果有计算机基础,最好还是了解一下这两部分的内容。下面的内容很多都是参考至zuolongsnail的《Android命令行手动编译打包详解》,博文地址:http://www.cnblogs.com/z
阅读全文
摘要:Android编译,打包、签名详细教程Author:JojolData:2010.08.041.Android程序编译、打包、签名、发布的三种方式:方式一:命令行手动编译打包方式二:使用ant自动编译打包方式三:使用eclipse+ADT编译打包2.Android编译、打包的步骤:2.1第一步 生成R.java类文件:Eclipse中会自动生成R.java,ant和命令行使用android SDK提供的aapt.ext程序生成R.java。2.2第二步 将.aidl文件生成.java类文件:Eclipse中自动生成,ant和命令行使用android SDK提供的aidl.exe生成.java文
阅读全文
摘要:Android 命令行手动编译打包过程图【详细步骤】:1使用aapt生成R.java类文件:例:F:\explorer\android-sdk-windows2.2\tools>f:\explorer\android-sdk-windows2.2\platforms\android-3\tools\aapt.exe package -f -m -J F:\explorer\AndroidByread\gen -S res -I f:\explorer\android-sdk-windows2.2\platforms\android-3\android.jar -M AndroidMani
阅读全文
摘要:此脚本是针对于android在线更新的SDK,以前android有离线安装包,后来改为直接在线安装进行,两者的成本在于sdk的路径和一些工具类的路径不同。此脚本用于进行自动编译用户需要的APK安装包,使用时候,请将签名用的*.keystore放在和build.xml同一目录,并命名为android.keystore,(如想更改,请在build.xml 中的jarsigner target进行更改)build.propertiesJava代码android.tools=${sdk.folder}toolsandroid_version=2.1apk.sdk.home=D\:/androidsdk
阅读全文
摘要:在Android下面也有多线程的概念,在C/C++中,子线程可以是一个函数,一般都是一个带有循环的函数,来处理某些数据,优先线程只是一个复 杂的运算过程,所以可能不需要while循环,运算完成,函数结束,线程就销毁。对于那些需要控制的线程,一般我们都是和互斥锁相互关联,从而来控制线程 的进度,一般我们创建子线程,一种线程是很常见的,那就是带有消息循环的线程。消息循环是一个很有用的线程方式,曾经自己用C在Linux下面实现一个消息循环的机制,往消息队列里添加数据,然后异步的等待消息的返回。当消息队列为空的时候就会挂起线程,等待新的消息的加入。这是一个很通用的机制。在Android,这里的线程分为
阅读全文
摘要:o IBinder接口IBinder接口是对跨进程的对象的抽象。普通对象在当前进程可以访问,如果希望对象能被其它进程访问,那就必须实现IBinder接口。IBinder接口可以指向本地对象,也可以指向远程对象,调用者不需要关心指向的对象是本地的还是远程。transact是IBinder接口中一个比较重要的函数,它的函数原型如下:virtual status_t transact(uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags = 0) = 0;android中的IPC的基本模型是基于客户/服务器(C/S)
阅读全文
摘要:Find and connect to a databaseYou can find busybox onBenno’s site. If you can find the location of the .db file, you don’t really need busybox. Though i highly recommend it since it has many useful utilities.C:\android>adb shell# export PATH=/data/busybox:$PATHexport PATH=/data/busybox:$PATH# fin
阅读全文
摘要:欢迎阅读本文,你能关注本文,你知道你需要进程间通信、需要AIDL(以及Binder),那么可以默认你对这些概念已经有了一些了解,你(大致) 知道它们是什么,它们有什么用,所以为了节约大家的眼力和时间,在此我不复制粘贴网上泛滥的博客或者翻译冗长的android文档。 关于AIDL的介绍在文档:docs/guide/developing/tools/aidl.html 关于IBinder的介绍在文档:docs/reference/android/os/IBinder.html 以及Binder:docs/reference/android/os/Binder.html 在后文中,我将以我自己的理解
阅读全文
摘要:在网上看到一篇编译android源码的文章,照着做挺行的,通过参考网上的相关资料,我编译Android源码的步骤如下: * 1 我的系统是Ubuntu 8.04 * 2 系统上必须安装以下工具(摘自网上的资料): sudo apt-get install build-essential sudo apt-get install make sudo apt-get install gcc sudo apt-get install g++ sudo apt-get install libc6-dev sudo apt-get install flex sudo apt-get install bi
阅读全文
摘要:he good thing about building manually your apk is that you don’t have to name your resources directory to res, you can name it anything you want.You can find ant scripts in: \platforms\android-1.5\templates\android-rules.xmlStep 1: Generate Resource java code and packaged Resourcesaapt package -f -M
阅读全文
摘要:这个主要就是用ant+proguard+签名来实现自动打包的,一些解释都在代码里,在这里就不多说了,现在开始把上代码吧。 1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <project name="xiyou_base_" default="deployableAllDevice"> 4 <!-- proguard4的路径 --> 5 6 <property name="proguard.home" value
阅读全文
摘要:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=605Apache Ant开发Android SDK 1.5 r2应用程序=========================编程基础 二安装Apache Ant我们现在要使用Apache Ant来开发我们的Android程序,首先下载Apache Ant 1.7.1① 我们从Apache Ant的官方网页下载:http://ant.apache.org/index.htmlWindowsapache-ant-1.7.1-bin.zipLinuxapache-ant-1.7.1-
阅读全文
摘要:java压缩工具类,可加密依赖包:ant.jar , winziaes.jar(winzipaes_src_20110222.zip) bcprov-jdk16-146.jarimport java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;impo
阅读全文
摘要:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=167951本文参与:eoe & 友盟Android开发原创教程大赛所以大家多多支持!你们懂的。 java中实际是提供了对zip等压缩格式的支持,但是为什么这里会用到ant呢?原因主要有两个: 1. java提供的类对于包括有中文字符的路径,文件名支持不够好,你用其它第三方软件解压的时候就会存在乱码。而ant.jar就支持文件名或者路径包括中文字符。 2. ant.jar提供了强大的工具类,更加方便于我们对压缩与解压的操作。 在去年十月份我写过一篇关于zip压缩...
阅读全文
摘要:在用ant进行打包apk文件时,如果用到ndk,那么如何把so文件打包进去呢?其实很简单,就在target为package的xml段里加上这2行<arg value="-nf"/><arg value="${external-lib-ospath}" />其中${external-lib-ospath}" 的值为libs,记住不要写libs/armeabi附上该段的xml代码:<target name="package" depends="dex, package-res-and-as
阅读全文
摘要:随着工程越来越复杂,项目越来越多,以及平台的迁移(我最近就迁了2回),还有各大市场的发布,自动化编译android项目的需求越来越强烈,后面如果考虑做持续集成的话,会更加强烈。 经过不断的尝试,在ubuntu环境下,以花界为例,我将一步一步演示如何使用命令行,使用ant编译android项目,打包多渠道APK。 要点: (1). 编译android的命令使用 (2). ant基本应用 (3). 多项目如何编译(包含android library) (4). 如何多渠道打包 ps:我将以最原始的方式来实现,而不是使用android自带的ant编译方式,并尽量详细解释,这样有益于我们...
阅读全文
摘要:ANT是java开发的很好的构建工具,很多开源项目都是使用ANT来构建的,并且ANT和JUNIT可以很好的配合使用,生成非常完美的测试报告,帮助开发人员开发。作为一名开发人员,如果一天天的时间都花在项目的部署和简单的测试上,是一种巨大的浪费;而ANT可以帮助我们完成一些单调而无聊的事情,使开发人员从这些无聊的工作中解脱出来;能更加专注于业务。 在我的博客中,我将系列的讲解ANT的使用方法,我本人使用ANT的时间也不长,如果我的博客有错漏,希望给我批评指正!要使用ANT,就必须先部署ANT的使用环境!①首先登录ant的官方网站http://ant.apache.org/bindownload..
阅读全文
摘要:eoe Android社区:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=170970附件中提供了三个文件1、build.xml 为 ant 生成android apk的脚本,里面包含了编译,生成dex文件,资源打包,生成release包,添加签名等步骤,看代码就知道了2、buildProjectHome.properties 主要是于项目相关的一些路径配置,告诉ant在去哪找资源文件3、build.properties 文件主要是android sdk、jdk,以及使用的debug.kestore( release.ke
阅读全文
摘要:我们都知道Google官方提供的Android开发环境是Eclipse,仅仅给出了ADT插件。但是在AndroidSDK Tool文件夹中我们可以找到一个名为activityCreator.bat的批处理文件,它调用的是tools\lib\activityCreator文件夹中的activityCreator.exe程序,其实为一个Python语言解释程序。activityCreator的Activity创建脚本全部参数使用方法如下: Activity Creator Script Usage: activityCreator [--out outdir] [--ide intellij...
阅读全文
摘要:新买了个mac book,但是对mac和生疏,连设置环境变量都不会。在此就记下,怎么在mac上设置android的环境变量。1. 启动终端Terminal2. 进入当前用户的home目录 输入cd ~3. 创建.bash_profile 输入touch .bash_profile4. 编辑.bash_profile文件 输入open -e .bash_profile.bash_profile文件内容:export PAHT=$PATH:/Users/work/dev_app/adt-bundle-mac/sdk/toolsexport PATH=$PATH:/Users/work/dev...
阅读全文
摘要:通过ant脚本,编译打包android工程1.Android程序编译、打包、签名、发布的三种方式:方式一:命令行手动编译打包方式二:使用ant自动编译打包方式三:使用eclipse+ADT编译打包2.Android编译、打包的步骤:2.1第一步 生成R.java类文件:Eclipse中会自动生成R.java,ant和命令行使用android SDK提供的aapt.ext程序生成R.java。2.2第二步 将.aidl文件生成.java类文件:Eclipse中自动生成,ant和命令行使用android SDK提供的aidl.exe生成.java文件。2.3第三步 编译.java类文件生成clas
阅读全文
摘要:转自:http://blog.csdn.net/zhangchiytu/article/details/6310488说明:这篇文章是介绍如何开发Android源码,包括各平台的源码而非仅仅Google释放的源码,我采用的是MSM7267. 前提不需要SDK,不需要ADT,通过整个工程的编译都可以生成。为了在Eclipse中调试源码如Phone、MMS、Contact…… 由于以前都没接触过Java、Eclipse、ADT... 这些,在网上看了N多的文章,就这篇详细,所以贴出来共享,同时 加入了、 自己在配置中 的TroubShooting。如果你是刚接触Android, 那配置这些可...
阅读全文
摘要:转自linux公社: http://www.linuxidc.com/Linux/2010-10/29416.htm1、Android的文件系统结构是怎样的,我们安装的程序放在那里?编译android源码之后,在out/target/product/generic一些文件:ramdisk.img、system.img、userdata.img、 system、 data、root其中, system.img是由 system打包压缩得到的, userdata.img是由 data打包压缩得到的。ramdisk.img是模拟器的文件系统,把ramdisk.img解压出来可知道,ramdisk..
阅读全文
摘要:http://www.oschina.net/question/4873_35892
阅读全文
摘要:The standard way to develop and deploy Android applications is using Eclipse. This is great because it is free, easy to use, and many Java developers already use Eclipse. To deploy your applications using Eclipse, you simply right-click on the on the project, choose to export the application, and fo
阅读全文
摘要:1 首先查看PATH 命令:$PATH 2 如何设置PATH 命令:echo "export PATH=xxxxxx:$PATH" >> ~/.bash_profile 解释:把"export PATH=xxxxxx:$PATH"输出打印到~/.bash_profile中去。3 Unix知识补充:~/.bash_profile介绍 mac和linux终端一般用bash来进行解析。当bash在读完了整体环境变量的/etc/profile并借此调用其他配置文件后,接下来则是会读取用户自定义的个人配置文件。bash读取的文件总共有三种: ~/.ba
阅读全文
摘要:JAVA_HOME环境变量对java开发很重要,mac下也不例外。mac自带jdk,apple维护的jdk,默认的jdk路径,也就是JAVA_HOME路径是:/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Homejava version “1.6.0_22″Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-10M3261)Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode)
阅读全文
摘要:由于需要,前几天在 OS X 上安装了 Oracle 的 Java 7。安装之后,发现由于我原来设置的 JAVA_HOME 为/Library/Java/Home,导致我使用的还是原来苹果提供的 Java 6 而不是刚安装的 Java 7。网上查了一下,发现网上普遍存在一种不太好的硬编码方式,比如以下这些:JAVA_HOME=/Library/Java/HomeJAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/HomeJAVA_HOME=/System/Library/Frameworks/Jav
阅读全文
摘要:为了更方便的在电脑上用adb/fastboot命令(您可能是用来调试、用来刷机抑或是用adb安装卸载软件来装13),您需要配置环境变量。为此,您需要准备Mac(Linux的配置类似)一台;工作正常的手机数据线一根;android SDK for Mac (墙外下载)===========adb配置方法==============1. 下载android SDK并解压,得到同名文件夹一枚,把这个文件夹放到你想放的地方去,记住路径,并且路径中不能有中文字符存在。本文路径以我本人为例,放到了/Developers里面,具体路径就为/Developer/android-sdk-mac_x86/2. 下
阅读全文
摘要:http://www.linuxidc.com/Linux/2012-01/51479.htm和Android的manifest.xml类似,ios中一个应用的版本信息,应用名称,兼容的最低版本等等都在ipa包中的info.plist中列出,但是对于一个打包好ipa包,里面的info.plist是乱码的,想要获取信息还是相当的麻烦。而最近也要到这方面的需求,找到的第一个方案是使用java调用linux 中的plutil工具来实现对info.plist的解析,这样做虽然可以实现但感觉太牵强了,,第二个方案是继续寻找纯java的解决方案,找啊找最后还是在老外的一个网站上(overstackflow
阅读全文
摘要:微信的摇一摇是怎么实现的~发现原来 ios本身就支持在 UIResponder中存在这么一套方法- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);- (void)motionCa
阅读全文
摘要:在这篇文章中我们将介绍 Windows Phone 的摇晃功能。让我们来看如何实现。Step 1: 下载摇晃手势开发库 http://create.msdn.com/en-us/education/catalog/article/Recipe_Shake_Gesture_LibraryStep 2: 解压后进入 ShakeGesture 的 debug 文件夹Step 3: 创建一个 Sliverlight for Windows Phone 项目Step 4: 将 ShakeGestures dll 添加到项目中Step 5: 在 MainPage.xaml 中添加 TextBlock1&l
阅读全文
摘要:由于触摸(Touch)而触发的事件Android的事件:onClick, onScroll, onFling等等,都是由许多个Touch组成的。其中Touch的第一个状态肯定是ACTION_DOWN, 表示按下了屏幕。之后,touch将会有后续事件,可能是:ACTION_MOVE //表示为移动手势ACTION_UP //表示为离开屏幕ACTION_CANCEL //表示取消手势,不会由用户产生,而是由程序产生的一个Action_DOWN, n个ACTION_MOVE, 1个ACTION_UP,就构成了Android中众多的事件。对于ViewGroup类的控件,有一个很重要的方法,就是onIn
阅读全文
摘要:xcodebuild和xcrun实现自动打包iOS应用程序2011-12-03 20:30:07来源:百度搜索研发部作者:随着苹果手持设备用户的不断增加,ios应用也增长迅速,同时随着iphone被越狱越来越多的app的渠道也不断增多,为各个渠道打包成了一件费时费力的工作,本文提供一种比较智能的打包方式来减少其带来的各种不便。随着苹果手持设备用户的不断增加,ios应用也增长迅速,同时随着iphone被越狱越来越多的app 的渠道也不断增多,为各个渠道打包成了一件费时费力的工作,本文提供一种比较智能的打包方式来减少其带来的各种不便。自动化打包背景介绍1、背景随着ios程序发布的渠道逐渐的增多,为
阅读全文
摘要:http://kozyr.zydako.net/2010/05/23/pretty-ratingbar/http://www.iteye.com/topic/689272RatingBar是我们在系统显示分数的好组件,但是我们一般想把RatingBar装饰的更好看,想把更好看的图片用来替换系统默认的图片,系统默认的样子是这样的:下图是个不错的选择哦:想要实现如上效果,首先我们在styles.xml写入一个样式:Xml代码<?xmlversion="1.0"encoding="utf-8"?><resources><style
阅读全文
摘要:<pre>1、系统服务(以下代码有一些规律:大部分的XXXManager都是使用Context的getSystemService方法实例化的)1.1 实例化ActivityManager及权限配置// AndroidManifest.xml must have the following permission:// <uses-permission android:name="android.permission.GET_TASKS"/>ActivityManager activityManager = (ActivityManage
阅读全文
摘要:只需添加android:listSelector="@drawable/selecter_list_transparent"就可以设置为选中透明:其中xml:<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@android:color/transparent&qu
阅读全文