摘要: 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 阅读全文
posted @ 2013-04-19 18:36 GreyWolf 阅读(845) 评论(0) 推荐(0) 编辑
摘要: Android本身是支持ant打包项目的,并且SDK中自带一个build.xml文件。通过该文件,可以对文件进行编译、打包、安装等。并且支持多种方式打包,如debug或者release。一般的,可以按照如下方法进行操作:首先创建一个Android工程。工程创建好后,需要为工程添加ant支持,即创建相应的build.xml文件。这个文件不需要用户自己创建,只需要执行如下命令即可:<sdk>/tools/android update project -p <project> -t <target>其中:sdk为sdk的安装目录,其下的tools/android是 阅读全文
posted @ 2013-04-19 18:12 GreyWolf 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 当前的web项目有引用到子工程项目,而且多个子工程项目也有引用到其它的工程项目,现要求利用Ant自动将web项目打包成war包,其中引用到的子工程项目需打成jar包,而且必须是混淆后的jar包。其中混淆代码的工具选择了开源的Proguard(http://proguard.sourceforge.net/),可以运行proguard自带的proguardgui.jar(图形化用户界面)生成proguard配置文件。ProGuard是一个免费的java类文件压缩,优化,混淆器.它探测并删除没有使用的类,字段,方法和属性.它删除没有用的说明并使用字节码得到最大优化.它使用无意义的名字来重命名类,字 阅读全文
posted @ 2013-04-19 18:07 GreyWolf 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnitblog.com/zouzheng/archive/2011/01/12/72630.aspx前段时间把Android的工程用Ant Build搞定后,现在需要把编译后.class进行混淆,以优化减少体积和防止别人反编译,开始在网上看了一些关于ProGuard的介绍,以后能够比较快的解决,但是还是花了两天半的时间才搞定,也许是自己对Java和ProGuard不了解,网上也有一些例子介绍Android ProGuard,但是你全部拿过来肯定是不行的,这需要你认真的读他的手册和国外开发人员写的Blog,我是把这个ProGuard手册看了两遍才把问题解决的。下面转 阅读全文
posted @ 2013-04-19 18:05 GreyWolf 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 上篇介绍了应用程序从源码到安装包的整个过程,考虑到篇幅过长,遂将原理内容分成两部分来介绍。接下来,在本篇中,主要介绍Android平台应用程序的运行原理。 在阅读了SDK文档中“Application Fundamentals”一篇的内容后,根据自己的理解绘制了下面的示意图: 每个应用程序安装后,系统便会为其分配一个独立的存储空间,所谓的“Security Sandbox”,用于存放字节码文件、资源文件及配置文件等,同时,系统会为每一个应用程序分配唯一的ID,用以标识该应用程序的相关文件和资源,系统通过设置权限从而实现一个应用程序在一般情况下只能访问该应用程序的文件和资源。当应用程序或者它的某 阅读全文
posted @ 2013-04-19 18:03 GreyWolf 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 接着上一篇的内容,继续从全局了解Android。在清楚了Android的平台架构(可以看作是静态原理)后,还需要掌握其动态原理。动态原理包含两部分,一部分是编译原理,另一部分是运行原理。有人会说,搭建一个基于Eclipse的Android开发环境,编译和运行只要点击按钮即可完成。但是,如果只是“知其然而不知其所以然”的话,在后面的开发中一旦遇到奇怪的问题后可能就束手无措啦。所以,即使是作为初学者,如果有计算机基础,最好还是了解一下这两部分的内容。下面的内容很多都是参考至zuolongsnail的《Android命令行手动编译打包详解》,博文地址:http://www.cnblogs.com/z 阅读全文
posted @ 2013-04-19 18:02 GreyWolf 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 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文 阅读全文
posted @ 2013-04-19 17:49 GreyWolf 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2013-04-19 17:48 GreyWolf 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 此脚本是针对于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 阅读全文
posted @ 2013-04-19 17:46 GreyWolf 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 在Android下面也有多线程的概念,在C/C++中,子线程可以是一个函数,一般都是一个带有循环的函数,来处理某些数据,优先线程只是一个复 杂的运算过程,所以可能不需要while循环,运算完成,函数结束,线程就销毁。对于那些需要控制的线程,一般我们都是和互斥锁相互关联,从而来控制线程 的进度,一般我们创建子线程,一种线程是很常见的,那就是带有消息循环的线程。消息循环是一个很有用的线程方式,曾经自己用C在Linux下面实现一个消息循环的机制,往消息队列里添加数据,然后异步的等待消息的返回。当消息队列为空的时候就会挂起线程,等待新的消息的加入。这是一个很通用的机制。在Android,这里的线程分为 阅读全文
posted @ 2013-04-19 17:39 GreyWolf 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 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) 阅读全文
posted @ 2013-04-19 17:38 GreyWolf 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2013-04-19 17:37 GreyWolf 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 欢迎阅读本文,你能关注本文,你知道你需要进程间通信、需要AIDL(以及Binder),那么可以默认你对这些概念已经有了一些了解,你(大致) 知道它们是什么,它们有什么用,所以为了节约大家的眼力和时间,在此我不复制粘贴网上泛滥的博客或者翻译冗长的android文档。 关于AIDL的介绍在文档:docs/guide/developing/tools/aidl.html 关于IBinder的介绍在文档:docs/reference/android/os/IBinder.html 以及Binder:docs/reference/android/os/Binder.html 在后文中,我将以我自己的理解 阅读全文
posted @ 2013-04-19 17:35 GreyWolf 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 在网上看到一篇编译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 阅读全文
posted @ 2013-04-19 17:34 GreyWolf 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2013-04-19 17:33 GreyWolf 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 这个主要就是用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 阅读全文
posted @ 2013-04-19 17:08 GreyWolf 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 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- 阅读全文
posted @ 2013-04-19 15:29 GreyWolf 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2013-04-19 15:26 GreyWolf 阅读(651) 评论(0) 推荐(0) 编辑
摘要: http://www.eoeandroid.com/forum.php?mod=viewthread&tid=167951本文参与:eoe & 友盟Android开发原创教程大赛所以大家多多支持!你们懂的。 java中实际是提供了对zip等压缩格式的支持,但是为什么这里会用到ant呢?原因主要有两个: 1. java提供的类对于包括有中文字符的路径,文件名支持不够好,你用其它第三方软件解压的时候就会存在乱码。而ant.jar就支持文件名或者路径包括中文字符。 2. ant.jar提供了强大的工具类,更加方便于我们对压缩与解压的操作。 在去年十月份我写过一篇关于zip压缩... 阅读全文
posted @ 2013-04-19 15:25 GreyWolf 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 在用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 阅读全文
posted @ 2013-04-19 15:20 GreyWolf 阅读(593) 评论(0) 推荐(0) 编辑