- 浏览: 197540 次
- 性别:
- 来自: 北京
最新评论
-
sarah_susan:
我想说的是: 真机测试的时候,addresses = gc.g ...
android GPS定位,定位城市称,经纬度 -
lenomon:
看看这个,项目中会碰到的。JAVA使用AXMLPrinter获 ...
android的apk包签名 -
wangjunjunwangjunjun:
写出的代码不能运行,为什么啊?
android GPS定位,定位城市称,经纬度 -
AndMacLinuXp:
liang86liang 写道 Criteria criter ...
android GPS定位,定位城市称,经纬度 -
jmshx8:
这种方法在2.2以上的版本就显示不出地址了
android GPS定位,定位城市称,经纬度
文章列表
Android 反编译资料整理
Made by 李文栋 rayleeya@gmail.com
2010-12-13 Monday 于北京
一、反编译流程图
二、工具使用方法(命令)
准备工作
假设我的工作目½
我目前接触的反编译的方法总共有三种,分别如下:
1. 第一种反编译的方法主要是利用模拟器自带的一个dexdump。
具体如下面的介绍:
反编译一个.apk文件,需要做以下几步:1) 找到.apk安装文件 2)找到安装软件的*.dex文件 3)dump dex文件 4)分析dex文件获取想要的代码
一、找到apk安装文件这个比较容易,把手机或者模似器安装好后,可以在eclipse的File Explorer下找到安装程序的apk译文件,也可以通过adb命令找到:
$ ...
android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。 Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 Android程序中可以使用的界面刷新方法有两种,分别是利用Handler和利用postInvalidate()来实现在线程中刷新界面。 利用invalidate()刷新界面 实例化一个Handle ...
平时我们在开发Android程序时遇到较耗时任务的处理,如I/O访问的数据库操作、网络访问等情况时造成UI假死等问题,通过 AsyncTask可以很好的解决这个问题,就今天以在Android中执行Downloader.downloadFile(url),可能会堵塞整个界面。显然这会影响用户体验,我们如何解决这个问题呢? 方法一、 创建一个新的线程执行我们的任务,使用Thread类,在 run(){}中写入任务代码,比如: new Thread(new Runnable() { public void run() { Downloader.downloadFile(url) ...
SQLite文件查看工具:sqlitebrowser
SQLite外键(Foreign Key)支持
从SQLite 3.6.19 开始支持 外键约束. (Ubuntu 10.04 的SQLite版本是 3.6.22, Debian 6.0 的SQLite版本是 3.7.0)
外键约束用来强制 两个表之间”存在”的关系. 比如, 考虑下面的SQL命令建立的schema
CREATE TABLE artist(artisti ...
为何要签名,因为android的安全设置,详细请参见frameworks/base/core/res/AndroidManifest.xml文件。我们要做全功能多媒体播放器,势必涉及surfaceflinger和sound的调用,除了在apk的AndroidManifest.xml 文件中加 <uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" />, 还需要对apk进行签名,因为此权限点的等级是signature级别。具体操作如下:1,在android源码目录build ...
编译Android源码需要JDK1.5版(主要是需要其中的javadoc),1.6版是不兼容的。JDK1.5已经停止支持,其最终的版本是JDK 5.0 Update 22。可从Sun官网上下载:
http://java.sun.com/javase/downloads/5u22/jdk
选择平台Linux,勾选同意许可协议:单击Continue,在弹出的页面中一共有两个下载,选第一个jdk-1_5_0_22-linux-i586.bin下载.
安装:
./jdk-1_5_0_22-linux-i586.bin
编译的过程中遇到下面的错误:
************************************************************
You are attempting to build on a 32-bit system.
Only 64-bit build environments are supported beyond froyo/2.2.
************************************************************
这是因为在Makefile中检测了CPU的字长。我直接把build/core/main.mk 中 ...
刚下好 android 源码后马上编译会发现有各种各样的错误,原因是有些依赖包没有装。
为了避免出现以下我遇到的错误,请先安装 jdk1.5 ,必须是 jdk1.5,不然肯定编译不过的。
然后,在检查以下有没有安装以下依赖包:
sudo apt-get install bison libc6-dev-amd64 g++-multilib zlib1g-dev lib64z1-dev flex libncurses5-dev libx11-dev gperf
下面是我遇到的错误及解决方法:
/bin/bash: bison:找不到命令
Checking build tools versi ...
平时使用官方提供的sqlite3.exe工具来操作 sqlite的数据库
进入管理:
sqlite3.exe d:\test.db //假设数据是 d:\test.db
>.databases //显示所有数据库 和 mysql的 show databases;
>.tables //显示当前数据库的表格 和 mysql 的show tables;
>.schment tablename; //显示表格结构 和mysql的 SHOW CREATE TABLE tbl_name
>.output c:\\1.sql //导出当前数据库的 sql语句 和mysql的 ...
adb shell
之后进入应用 data 目录
# cd /data/data
ls 列表目录,查看文件,找到你的项目目录并进入,查看有无 databases 目录,如果没有,则创建一个
# mkdir databases
# cd databases 进入并创建数据库
# sqlite3 friends.db
sqlite> ctrl+d 退出 sqlite 提示符 ls 列表目录会看到有一个文件被创建 friends.db, 他就是 SQLite 的库文件
# ls
判断是否有sdcard插入:
Java代码
public boolean avaiableMedia(){
建立纹理单元
使用多重纹理时, 需要有多个纹理单元. 每个纹理单元的功能都相同, 并存储了各自的纹理处理参数.包括:
1)纹理图像 2)滤波参数 3)纹理映射方式 4)纹理矩阵堆栈 5)纹理坐标生成模式 6)顶点数组(如果需要的话)要设置纹理映射参数, 使用函数glActiveTexture()来指定要对其进行设置的纹理单元, 然后调用函数glTexImage*(), glTexParameter*(), glTexEnv*(), glTexGen*()和glBindTexture()来设置其纹理映射参数.
void glActiveTexture(GLenum texUnit);功 ...
真正精细的透视修正。这一行告诉OpenGL我们希望进行最好的透视修正。这会十分轻微的影响性能。但使得透视图看起来好一点。
这个函数中,我们对OpenGL进行所有的设置。我们设置清除屏幕所用的颜色,打开深度缓存,启用smooth
shading(阴影平滑),等等。这个例程直到OpenGL窗口创建之后才会被调用。