1. 安装64位Linux
2. 安装Java6
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
3. 安装Java5
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper main multiverse"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk
4. 切换Java版本
切换到Java6:
$ sudo update-java-alternatives -s java-6-sun
切换到Java5:
$ sudo update-java-alternatives -s java-1.5.0-sun
5. 安装编译android需要的库
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
6. 安装svn
$ sudo apt-get install subversion
7. 安装vim
$ sudo apt-get install vim
8. 首先要到源码目录下
9. 为源码目录下的所有文件赋予权限
# chmod -R 777 /home/user 注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx
10. 在源码的根目录下执行source build/envsetup.sh
11. 执行choosecombo命令,在出现的选择按提示选择即可
12. 执行make sdk编译源码 (大约二三个小时左右,视CPU好坏)
13. 编译好后会整个大小会有几个G的增加,然后在out文件夹中会有几个文件夹和文件出现。证明已经编译成功。
14.新建一个项目:
然后在项目中加入一些权限:
android:sharedUserId="android.uid.system"
<uses-permission android:name="android.permission.INSTALL_PACKAGES"></uses-permission>
<uses-permission android:name="android.permission.DELETE_PACKAGES"></uses-permission>
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA"></uses-permission>
<uses-permission android:name="android.permission.CLEAR_APP_CACHE"></uses-permission>
在程序中的写法:
Runtime.getRuntime().exec("pm install -r " + " 程序安装的目录结构 ");
然后将Android .mk放入项目根目录下,编辑Android.mk,将LOCAL_CERTIFICATE := platform加入其中,然后将该项目放在源码中的packages/apps/目录下。
项目需要注意的地方:
1.JAVA类中不能有汉字,需要有汉字的必须是写在String.xml中的。
2.不要有重写的标记。
15:编译项目(在JDK1.5环境下进行)
先在android源码目录下执行
$ . build/envsetup.sh
$ mmm packages/apps/Contacts/ **项目的所在目录**
如编译成功,你会在
/out/target/product/generic/system/app/目录下找到你生成的apk
注明:QQ技术交流群:108614806 感兴趣的加一下。
分享到:
相关推荐
1.2.2 编译源码 / 6 1.3 工具介绍 / 8 1.3.1 Source Insight介绍 / 8 1.3.3 Busybox的使用 / 11 1.4 本章小结 / 12 第2章 深入理解JNI / 13 2.1 JNI概述 / 14 2.2 学习JNI的实例:MediaScanner / 15 2.3 ...
讲解了Android开发中的高级技术,包括各种常用的Android资源、通信功能的开发、数据库、蓝牙与Wi-Fi、第三方程序库、2D绘图技术、OpenGLES绘图技术、Android的编译,以及Android的性能优化方法和实践;最后,详细...
opencv/open4.5.5/ build :编译目录和库生成目录 2、编译脚本 opencv下build-android-opencv.sh 这个脚本文件是重点,修改本地ndk路径 3、 编译输出 sudo ./build-android-opencv.sh 需使用超级用户,否则有错误,...
【Android FFMPEG 开发】FFMPEG 交叉编译配置 ( 下载 | 配置脚本 | 输出路径 | 函数库配置 | 程序配置 | 组件配置 | 编码解码配置 | 交叉编译配置 | 最终脚本 ) 博客地址 : ...
第二部分内容,先简单讲解Android系统移植相关原理,然后一步步手把手教大家如何进行Linux内核移植、Android源码编译、以及Android到Cortex A8开发板的移植;第三部分内容,先教大家如何搭建裸机开发环境,然后带领...
《深入理解Android:卷2》共8章:第1章介绍了阅读本书所需要做的准备工作,包括Android 4.0源码的下载和编译、Eclipse环境的搭建,以及Android系统进程(system_process)的调试等;第2章对Java Binder和MessageQueue...
《深入理解Android:卷2》共8章:第1章介绍了阅读本书所需要做的准备工作,包括Android 4.0源码的下载和编译、Eclipse环境的搭建,以及Android系统进程(system_process)的调试等;第2章对Java Binder和MessageQueue...
我们重点关心的是(1)这个过程的输入是什么?(2)这个过程的输出是什么?(3)这个过程使用了什么工具?至于使用什么参数,可以自己去看对应命令的帮助文件,或者在网上搜索,这不是本文的重点。 aapt-> aidl -> ...
Android 工程构建的持续集成,需要搭建一套编译和打包自动化流程,比如建立每日构建系统、自动生成发布文件等等。这些都需要我们对Android工程的编译和打包有一个比较深入的理解,例如知道它的每一步都做了什么,...
第二部分内容,先简单讲解Android系统移植相关原理,然后一步步手把手教大家如何进行Linux内核移植、Android源码编译、以及Android到Cortex A8开发板的移植;第三部分内容,先教大家如何搭建裸机开发环境,然后带领...
在每一章中,重点介绍了与Android驱动开发相关的底层知识,并对Android源码进行了剖析。 本书适合Android研发人员及Android爱好者学习,也可以作为相关培训学校和大专院校相关专业的教学用书。 全书压缩打包成3...
1.2.2 编译源码 6 1.3 工具介绍 8 1.3.1 Source Insight介绍 8 1.3.3 Busybox的使用 11 1.4 本章小结 12 第2章 深入理解JNI 13 2.1 JNI概述 14 2.2 学习JNI的实例:MediaScanner 15 2.3 Java层的...
第二部分内容,先简单讲解Android系统移植相关原理,然后一步步手把手教大家如何进行Linux内核移植、Android源码编译、以及Android到Cortex A8开发板的移植;第三部分内容,先教大家如何搭建裸机开发环境,然后带领...
在每一章中,重点介绍了与Android驱动开发相关的底层知识,并对Android源码进行了剖析。 本书适合Android研发人员及Android爱好者学习,也可以作为相关培训学校和大专院校相关专业的教学用书。 全书压缩打包成3...
配置文档属性描述默认值notifyId通知栏消息id1011notificationChannel适配Android O的渠道通知详情查阅源码httpManager设置自己的下载过程nullbreakpointDownload是否需要支持断点下载trueenableLog是否需要日志输出...
在每一章中,重点介绍了与Android驱动开发相关的底层知识,并对Android源码进行了剖析。 本书适合Android研发人员及Android爱好者学习,也可以作为相关培训学校和大专院校相关专业的教学用书。 全书压缩打包成3...
该项目重点介绍的不同gradle插件版本下的项目的编译脚本如何编写。提供的多个版本的项目源码完全一致,仅build.gradle有区别。 体验方式 演示下载: 扫码下载APK: 运行工程: 如何修改配置及运行工程,请参
本文分析了Android平台上的VLC播放器实现机制,重点介绍了播放器的界面...通过介绍源码编译方法生成依赖库和分析多媒体文件播放相关的核心模块,为下一步实现VLC跨平台移植和开发视频资源在线学习移动平台提供借鉴。
blowfish C语言 c++ 算法实现,Android 测试50m文件加密时间2s,(重点)文件大小不变,windows 和 Ios 都可以自己编译 ,上传的是源码