Android
文章平均质量分 66
winceos
这个作者很懒,什么都没留下…
展开
-
Android签名详解(debug和release)
1. 为什么要签名1) 发送者的身份认证由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包不被替换2) 保证信息传输的完整性签名对于包中的每个文件进行处理,以此确保包中内容不被替换3) 防止交易中的抵赖发生,Market对软件的要求2. 签名的说明1) 所有的应用程序都必须有数字证书,Android系统不会安装一个没有数字转载 2014-01-08 13:25:54 · 2841 阅读 · 0 评论 -
Android Java 与 C++ 调用过程中的常量,路径名、文件名、后缀名最大长度
/**************************************************************************** **************************************************************************** *** *** This header was automatically原创 2014-07-02 16:13:33 · 1376 阅读 · 0 评论 -
Linux Kernel(Android) 加密算法总结(一)(cipher、compress、digest)
1. Linux内核支持哪些加密算法 ? 内核支持的加密算法很多,包括: 对称加密算法,如AES; 摘要算法,如sha1,md5; 压缩算法,如deflate。 不过内核好像不支持非对称加密算法。2. 加密算法源文件位置 这些算法作为加密函数框架的最底层,提供加密和解密的实际操作。这些函数可以在内核crypto文件夹下,相原创 2014-07-08 17:45:10 · 7444 阅读 · 0 评论 -
Android应用程序从源码到安装包的整个过程
接着上一篇的内容,继续从全局了解Android。在清楚了Android的平台架构(可以看作是静态原理)后,还需要掌握其动态原理。动态原理包含两部分,一部分是编译原理,另一部分是运行原理。有人会说,搭建一个基于Eclipse的Android开发环境,编译和运行只要点击按钮即可完成。但是,如果只是“知其然而不知其所以然”的话,在后面的开发中一旦遇到奇怪的问题后可能就束手无措啦。所以,即使是作为初学者,转载 2014-07-02 18:31:17 · 1453 阅读 · 0 评论 -
Android (AOPS) 开发环境配置
1. Install Ubuntu 12.04 x64 2. update packages 3.原创 2014-07-07 10:17:19 · 1332 阅读 · 0 评论 -
Ubuntu 12.04 x64 手动安装sun jdk 6
从官网下载下来的安装文件(如:jdk-6u24-linux-i586.bin)默认都是没有执行权限的,可以通过$ls -l 命令查询到相关信息,所以首先第一步是要将安装文件赋予可执行权限,可以通过命令 $ sudo chmod u+x/usr/lib/java/jdk-6u20-linux-i586.bin 来实现。 成功修改安装文件权限后,通过命令 $ cd /usr/lib原创 2014-07-07 09:52:46 · 1377 阅读 · 0 评论 -
手动为Android 4.x 手机添加自己的根证书(CA 证书)
首先看Android 4.x 系统的证书存放位置:AOSP Android系统中CA证书文件的位置在:/ system/etc/security/cacerts/一系列的以数字命名的.0文件方法一:Android 4.0 已经支持用户安装根证书了,只需要将根证书放到sdcard根目录,然后到设置(Settings) – 安全(Security) – 从存储设备安装(In原创 2014-06-18 15:57:51 · 24329 阅读 · 1 评论 -
openFileOutput 文件属性设置、主动配置文件的可读写属性及其实现方式
openFileOutput 文件访问属性设置原创 2014-08-04 09:02:02 · 2593 阅读 · 0 评论 -
Android 内部存储相关的函数(getCacheDir,getDir, getFileStreamPath,getFilesDir,openFileInput, ...)
为了保证应用程序存储数据的安全性,开发者在开发应用程序的过程中需要注意使用Android 应用程序的内部存储空间。根据不同的要求,将对应的数据文件、缓存文件、临时文件等分别存储在相应的位置。注意:存储在SDCard 上的文件,将对任何Android 应用程序可见,并具有存取权限。因此,仅仅是应用程序自己使用,的临时文件也不要存储到SDCard上。原创 2014-07-14 11:43:33 · 7231 阅读 · 2 评论 -
Android APK反编译详解(附图)
这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。本文Android反编译教程,测试环境:Win7 Ultimate x64Ubun转载 2014-06-23 11:42:28 · 804 阅读 · 0 评论 -
Android 渠道包的打包及管理
如果能直接修改apk的渠道号,而不需要再重新签名能节省不少打包的时间。幸运的是我们找到了这种方法。直接解压apk,解压后的根目录会有一个META-INF目录,如下图所示:如果在META-INF目录内添加空文件,可以不用重新签名应用。因此,通过为不同渠道的应用添加不同的空文件,可以唯一标识一个渠道。下面的python代码用来给apk添加空的渠道文件,渠道名的前缀为mtchannel_:转载 2014-07-14 18:43:53 · 2462 阅读 · 0 评论 -
Android应用程序安装过程源代码分析
Android系统在启动的过程中,会启动一个应用程序管理服务PackageManagerService,这个服务负责扫描系统中特定的目录,找到里面的应用程序文件,即以Apk为后缀的文件,然后对这些文件进解析,得到应用程序的相关信息,完成应用程序的安装过程,本文将详细分析这个过程。 应用程序管理服务PackageManagerService安装应用程序的过程,其实就是解析析应用程序转载 2014-07-15 11:10:08 · 771 阅读 · 0 评论 -
Android Dex vs ART 虚拟机运行效率提升
Android 4.4提供了一种与Dalvik截然不同的运行环境ART(Android runtime)支持,ART源于google收购的Flexycore的公司。ART模式与Dalvik模式最大的不同在于,启用ART模式后,系统在安装应用的时候会进行一次预编译,将字节码转换为机器语言存储在本地,这样在运行程序时就不会每次都进行一次编译了,执行效率也大大提升。虚拟机切换设置Settings转载 2014-07-14 18:35:02 · 2604 阅读 · 0 评论 -
配置下载Android源代码的过程及问题解决
最近在学习Android底层框架,今天打算研究一下Android源代码,源码的下载过程可没有想像的顺利。主要原因是网上的很多资料都是多年以前的,而一些网站都发生了变更,所以域名也会失效。OK,废话少说,我把遇到的各种问题和大家分享一下,希望大家能对号入座,避免浪费不必要的时间~ 以下是我按照正常下载过程总结出的步骤,遇到的问题将在后面讲述。 第转载 2014-12-05 23:03:36 · 3470 阅读 · 1 评论 -
Android Porting and Qemu
1 Introduction Google explains that Android is a software stack for mobiledevices that includes an operating system, middleware and keyapplications. This document explains the Android architecture转载 2015-01-09 18:26:55 · 2062 阅读 · 0 评论 -
Running Android L Developer Preview on 64-bit ARM QEMU
Did you know the Android emulator is based on QEMU?When the Android SDK was first made available to the world, Google used QEMU as the basis for their Android emulator. They copied the source code t转载 2015-01-14 11:43:59 · 1907 阅读 · 0 评论 -
Linux Kernel(Android) 加密算法总结(四)-应用程序调用OpenSSL加密算法
本节主要是介绍如何Android C/C++应用程序调用Openssl的AES加密算法。原创 2014-07-23 13:48:19 · 2536 阅读 · 1 评论 -
APK扩展文件介绍、功能及使用方法
APK扩展文件介绍 Android Market (Google Play Store)中每个APK文件的最大限制是50MB。如果您的程序中包含大量的数据文件,以前您只能把这些数据文件放到自己的服务器上,当用户启动程序的时候让用户去下载。现在这些数据文件可以直接上传到Android Market了。在新的Market控制台上传App的时候,可以添加扩展文件了。如何原创 2014-07-16 11:43:42 · 1607 阅读 · 0 评论 -
Andriod APK 文件结构详解
APK文件结构 APK文件实际是一个zip压缩包,可以通过解压缩工具解开。 下面是用解压缩工具解开的APK包的结构:|-- AndroidManifest.xml|-- META-INF| |-- CERT.RSA| |-- CERT.SF| `-- MANIFEST.MF|-- classes.dex|-- res| |-- dr原创 2014-07-16 11:42:52 · 2267 阅读 · 0 评论 -
Android 系统签名及其在源代码中的使用
Android 系统中原有签名:在$(android_src)/build/target/product/security/README 中描述了AOSP的默认签名。The following standard test keys are currently included:testkey -- a generic key for packages that do not o原创 2014-01-10 18:59:41 · 7330 阅读 · 0 评论 -
使用platfrom密钥对apk进行签名
1.进入/build/target/product/security,找到【platform.pk8】和【platform.x509.pem】系统密钥。2.进入/build/tools/signapk找到SignApk.java,运行javac编译成SignApk.class3.执行命令java com.android.signapk.SignApk platform.x509.pem原创 2014-01-14 09:57:28 · 1783 阅读 · 0 评论 -
Repo 详解
1 repo介绍Android 使用 Git 作为代码管理工具,开发了 Gerrit 进行代码审核以便更好的对代码进行集中式管理,还开发了 Repo 命令行工具,对 Git 部分命令封装,将百多个 Git 库有效的进行组织。1.1 清单库文件介绍一个清单库可以包含多个清单文件和多个分支,每个清单文件和分支都有对应的版本。清单文件以xml格式组织的。举个例子:转载 2014-01-22 17:30:47 · 26130 阅读 · 1 评论 -
[android反编译小结]apktool/ AXMLPrinter2.jar/ dex2jar.bat/ jd-gui/ Jodeclipse/ JadClipse
[android反编译小结]apktool/ AXMLPrinter2.jar/ dex2jar.bat/ jd-gui/ Jodeclipse/ JadClipse开篇:“对于软件开发人员来说,保护代码安全也是比较重要的因素之一,不过目前来说Google Android平台选择了Java Dalvik VM的方式使其程序很容易破解和被修改,首先APK文件其实就是一个MIME为ZI转载 2014-02-11 10:26:42 · 1364 阅读 · 0 评论 -
Android 编译过程分析(1)
以Google Nexus 5 为例:1. 编译文件 系统编译文件存放位置: android4.4.2_r1/build/core/ 产品编译文件存放位置:android4.4.2_r1/build/target/product/ Device 编译文件存放位置:android4.4.2_r1/device/lge/hammerhead/ Andro原创 2014-03-11 18:06:12 · 1416 阅读 · 0 评论 -
如何设置Android 系统的属性,Build.prop, defualt.prop
首先: 什么是Android系统属性? 属性(property)都有一个名称和值,他们都是字符串格式,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。 在系统初始化时,Android将分配一个共享内存区来存储的属性。这些是由“init”守护进程完成的,“init”守护进程将启动一个属性服务。任何客户端想获得属性信息,可以从共原创 2014-03-12 13:42:49 · 12543 阅读 · 0 评论 -
编译不同类型Android程序时,Android.mk文件的定义
一、编译普通的APK程序Android.mk 定义 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Build all java files in the java subdirectory LOCAL_SRC_FILES := $(call all-subdir-java-files) #原创 2014-03-07 12:50:53 · 1240 阅读 · 0 评论 -
可以下载Android 源代码的repo源文件
请从下面的网址CSDN 文件下载http://download.csdn.net/detail/wyh991131/7136495 直接下载。原创 2014-04-02 16:47:37 · 774 阅读 · 0 评论 -
通过使用ccache加速android 源码编译的配置
通过使用ccache加速android 源码编译的配置,在编译之前执行一下附件的脚本即可。#created by robert wang to help make builds fasterexport USE_CCACHE=1export CCACHE_DIR=~/.ccacheprebuilts/misc/linux-x86/ccache/ccache -M 50G原创 2014-04-02 16:54:36 · 1776 阅读 · 0 评论 -
通过signapk.jar 为Android 应用程序签名,并优化签名后的APK应用程序
最近在开发中碰到实现android系统重启的问题,经过一天折腾和上网查资料终于把问题解决了,这里主要是权限的问题。分享如下:环境:android2.2 eclipse3.7 jdk1.6我主要采用的签名的方式:1.在AndroidManifest.xml中的manifest节点中添加 android:sharedUserId="android.uid.system"。2.添加后原创 2014-04-04 10:07:35 · 4494 阅读 · 0 评论 -
Android 4.4.2 SELinux 与系统关系详解三:根据Seinfo 为Package 设置安全上下文标签
在对Android 操作系统进行定制开发过程中,优势仅仅需要编译修改过的部分并烧写到设备上进行验证,下面是重新编译打包boot.img,并自动烧写到设备的脚本文件。[code=Python]echo onout/host/linux-x86/bin/mkbootfs out/target/product/hammerhead/root | out/host/linux-x86/bin/原创 2014-03-25 15:05:55 · 2430 阅读 · 0 评论 -
如何下载Android kernel内核源代码,编译烧写验证
1. Download Kernel source Study: 1. Please refer to the AOSP official kernel download address: http://source.android.com/source/building-kernels.html 2. goto https://android.g原创 2014-04-29 11:06:15 · 3596 阅读 · 0 评论 -
Dex文件头及解析机制分析
Dex文件头主要包括校验和以及其他结构的偏移地址和长度信息。字段名称偏移值长度描述magic0x08'Magic'值,即魔数字段,格式如”dex/n035/0”,其中的035表示结构的版本。checksum0x84校验码。signature0xC转载 2014-07-14 18:29:11 · 1620 阅读 · 0 评论 -
Mac OS Create case-sensitive build environment
hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/android.dmghdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/androidcd /Volumes/android原创 2015-07-20 13:59:13 · 1696 阅读 · 0 评论