你好
1 (1)源码编译后,把apk拷贝到out/target/proct/generic/system/app中。
(2) 执行命令make snod , 把添加的spk编到system.img 中
缺点:执行make clean 后,再次make 完毕需要重新执行上面操作。
2 "方法一"的改进。
(1) 新建一个文件夹目录,用来存放apk文件
mkdir packages/apps/Prebuilt_apps
cd packages/apps/Prebuilt_apps
在Prebuilt_apps中新建make文件
vi Android.mk
并写入
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_POST_PROCESS_COMMAND := $(shell cp -r $(LOCAL_PATH)/*.apk $(TARGET_OUT)/app/)
保存退出。
(2) 把需要编译的apk拷贝到目录Prebuilt_apps下,执行make ,Prebuilt_apps中的apk就会考被到out/target/proct/generic/system/app中。
(3) 执行make snod 。完成。
此方法执行make clean 后,再次make 完毕,只需要make snod即可(有时make后,out/target/proct/generic/system/app没有需要添加的apk,此时再make一次即可,速度很快)。
‘贰’ 怎么把android的apk 应用程序打包到userdata.img镜像当中去
主要分以下几步1、生成ant打包所需的配置文件2、生成应用签名的keystore,对apk签名3、编写混淆文件,混淆代码,防止反编译第一步,生成ant打包的配置文件在项目根目录下执行指令:androipdateproject—path.
‘叁’ 如何将Android应用程序编译至image
把常用的应用程序编译到img文件中,就成了系统的一部分,用户不必自己安装,当然也卸载不了;
同时也可以删减系统自带的应用程序,精简系统;
1.\build\target\proct 目录下generic.mk文件:
java代码 收藏代码
PRODUCT_PACKAGES := \
AccountAndSyncSettings \
DeskClock \
AlarmProvider \
Bluetooth \
Calculator \
Calendar \
Camera \
testMid \
CertInstaller \
DrmProvider \
Email \
Gallery3D \
LatinIME \
Launcher2 \
Mms \
Music \
我们添加一个testMid \ 应用名称。
2.把testMid包放入
\packages\apps 目录下,修改android.mk文件。
Java代码 收藏代码
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := testMid
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
注:LOCAL_PACKAGE_NAME := testMid (包名必须和generic.mk中添加的相同)
编译源码,可以看到在
\out\target\proct\smdkv210\system\app
目录下生存了testMid.apk了。这时system.img也包含了此应用。
-------------------------------------------------------------------
特殊情况:有时,应用需要包含jar包,这时的app导入源码时会出现问题:
MODULE.TARGET.JAVA_LIBRARIES.libarity already defined by ... stop
由于 LOCAL_STATIC_JAVA_LIBRARIES := libarity 会引发错误信息。
目前解决方法是:
\build\core 目录下修改base_rules.mk
注释掉错误信息:
ifdef $(mole_id)
#$(error $(LOCAL_PATH): $(mole_id) already defined by $($(mole_id)))
endif
$(mole_id) := $(LOCAL_PATH)
--重新编译,这时可以通过了。
(2)、删除原厂(Telchips)带源码的应用程序,如DTV_DVBT
在/device/telechips/m801/device.mk
注释掉相应语句:
# PRODUCT_PACKAGES += \
# SampleDVBTPlayer \
同时,在/out/target/proct/m801/system/app 找到相应的.APK包,并删除
‘肆’ 怎么把android的apk 应用程序打包到userdata.img镜像当中去
有一些apk 文件比较重要的,想直接打包到系统中,开机就能使用。网上网络了一下,只有说如何把apk文件打包到system.img 里面,应该也是类似的。试试参考是否行。
把第三方或自己开发的apk文件编译到系统文件(system.img)中的方法:
1 (1)源码编译后,把apk拷贝到out\target\proct\generic\system\app中。
(2) 执行命令make snod , 把添加的spk编到system.img 中
缺点:执行make clean 后,再次make 完毕需要重新执行上面操作。
2 "方法一"的改进。
(1) 新建一个文件夹目录,用来存放apk文件
mkdir packages/apps/Prebuilt_apps
cd packages/apps/Prebuilt_apps
在Prebuilt_apps中新建make文件
vi Android.mk
并写入
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_POST_PROCESS_COMMAND := $(shell cp -r $(LOCAL_PATH)/*.apk $(TARGET_OUT)/app/)
‘伍’ 如何制作img文件,如何制作安卓img文件
步骤/方法
1.默认编译完Android源代码会自动生成固件img文件,但是如果自己修改了这些文件,想重新打包那么就需要安装mkyaffs2image这个工具,所以这里前面的几个步骤先来说明下载和安装这个工具
下面准备从源码开始来编译出mkyaffs2image这个工具
2.解压缩yaffs2-source.tar,然后打开终端工具,之后进入到解压后的yaffs2-source的下面的目录中:
yaffs2/utils
然后使用make
命令来编译
3.编译完成后会生成
mkyaffs2image
工具,如下图红色方框部分
4.工具生成后,为了以后方便的使用这个工具所以最好将其拷贝到系统工具存放目录中:
/usr/bin,其命令为:sudo
cpmkyaffs2image
/usr/bin
然后给工具的执行权限:
sudo
chmod
a+x
/usr/bin/mkyaffs2image
这样就可以随便在哪个目录使用这个工具了
5.下面就进入到要生成img文件的目录中,这里以Android源码的system目录为例来说明
所以进入到out/target/prodct/generic_x86,这里的目录请以实际目录信息为准,这里编译的target不同
6.下面就开始准备生成img文件了,使用下面的命令:
mkyaffs2image
system/
xyh666168.img
参数说明:
mkyaffs2image
:就是工具命令,后面的两个为其参数
system/
:表示要生成img文件的原始目录文件
xyh666168.img
:表示要生成的img文件名,这个名称随便自己改
7.输入mkyaffs2image
system/
xyh666168.img并按回车键后,就开始生成img文件了,大约1分钟就生成xyh666168.img
最后用ls命令来查看生成的文件,可以看到已经生成xyh666168.img文件
‘陆’ 如何制作img文件,如何制作安卓img文件
步骤/方法
1.默认编译完Android源代码会自动生成固件img文件,但是如果自己修改了这些文件,想重新打包那么就需要安装mkyaffs2image这个工具,所以这里前面的几个步骤先来说明下载和安装这个工具
下面准备从源码开始来编译出mkyaffs2image这个工具
‘柒’ 怎么把android的apk 应用程序打包到userdata.img镜像当中去
有一些apk 文件比较重要的,想直接打包到系统中,开机就能使用。网上网络了一下,只有说如何把apk文件打包到system.img 里面,应该也是类似的。试试参考是否行。 把第三方或自己开发的apk文件编译到系统文件(system.img)中的方法: 1 (1)源码编译后,把apk拷贝到out\target\proct\generic\system\app中。 (2) 执行命令make snod , 把添加的spk编到system.img 中 缺点:执行make clean 后,再次make 完毕需要重新执行上面操作。 2 "方法一"的改进。 (1) 新建一个文件夹目录,用来存放apk文件 mkdir packages/apps/Prebuilt_apps cd packages/apps/Prebuilt_apps 在Prebuilt_apps中新建make文件 vi Android.mk 并写入 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_POST_PROCESS_COMMAND := $(shell cp -r $(LOCAL_PATH)/*.apk $(TARGET_OUT)/app/) 保存退出。 (2) 把需要编译的apk拷贝到目录Prebuilt_apps下,执行make ,Prebuilt_apps中的apk就会考被到out\target\proct\generic\system\app中。 (3) 执行make snod 。完成。 此方法执行make clean 后,再次make 完毕,只需要make snod即可(有时make后,out\target\proct\generic\system\app没有需要添加的apk,此时再make一次即可,速度很快)。 ----------------------- 感谢11楼提供的关于编译成功但无法运行问题的解决方法。 解压apk,如其中lib(.so)文件,把 .so文件到system\lib下,再编译。 本人在模拟器上直接加入angrybird.apk(愤怒的小鸟)编译,编译后无法运行。把libangrybirds.so拷贝到system\lib下,再编译后就可以运行。 触宝输入法apk使用此方法也可编译运行成功。 -------------------- 使用mkyaffs2image工具,使上面的操作更简单! 把apk及相关文件(如.so)拷贝到system的相应路径下,执行 mkyaffs2image -f direction/system system.img,即可生成system.img ------------------------------------------------------------ 原文地址:/thread-58113-1-1.html 俺的师弟说用 make userdataimage-nodeps 这个,这几种方法我都试试。嘿嘿。 等下来报告结果。 晕,不行的这样。呵呵,压根没更新userdata.img 执行make userdataimage-nodeps 后两分钟左右,终端就显示下面的信息,生成了out/target/proct/generic/userdata.img Target userdata fs image: out/target/proct/generic/userdata.img 我马上烧写到我的S5PV210 试试。菜鸟啊,菜鸟中前进。 out/host/linux-x86/bin/mkyaffs2image -f out/target/proct/smdkv210/data out/target/proct/smdkv210/userdata.img ——这个就可以了,不过的确存在愤怒的小鸟打包进去不能运行的问题,有些apk 文件打包进去就能运行。看来还是一些库的打包没处理好。 原来是是这个android 系统被改的不成样子,用上述命令就可以顺利生成我们最新的userdata.img 了。 android系统存在问题,导致下面的命令都无效。 Android比较重要的三个img文件: make systemimage - system.img make userdataimage - userdata.img make ramdisk - ramdisk.img PS:make snod - 快速打包system.img
‘捌’ apk文件怎么生成,
编译一下程序就生成APK了,开发的程序安装到手机里,我知道的有两种方法,一种用SD卡把APK文件拷入手机,然后安装。另一种是在Linux系统下用make方法编译,然后把生成的IMG文件烧写到手机里! 望采纳
‘玖’ 编译好的APK怎么打包进Android镜像
有一些apk 文件比较重要的,想直接打包到系统中,开机就能使用。网上网络了一下,只有说如何把apk文件打包到system.img 里面,应该也是类似的。试试参考是否行。
把第三方或自己开发的apk文件编译到系统文件(system.img)中的方法:
1 (1)源码编译后,把apk拷贝到out\target\proct\generic\system\app中。
(2) 执行命令make snod , 把添加的spk编到system.img 中
缺点:执行make clean 后,再次make 完毕需要重新执行上面操作。
2 "方法一"的改进。
(1) 新建一个文件夹目录,用来存放apk文件
mkdir packages/apps/Prebuilt_apps
cd packages/apps/Prebuilt_apps
在Prebuilt_apps中新建make文件
vi Android.mk
并写入
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_POST_PROCESS_COMMAND := $(shell cp -r $(LOCAL_PATH)/*.apk $(TARGET_OUT)/app/)
保存退出。
(2) 把需要编译的apk拷贝到目录Prebuilt_apps下,执行make ,Prebuilt_apps中的apk就会考被到out\target\proct\generic\system\app中。
(3) 执行make snod 。完成。
此方法执行make clean 后,再次make 完毕,只需要make snod即可(有时make后,out\target\proct\generic\system\app没有需要添加的apk,此时再make一次即可,速度很快)。
-----------------------
感谢11楼提供的关于编译成功但无法运行问题的解决方法。
解压apk,如其中lib(.so)文件,把 .so文件到system\lib下,再编译。
本人在模拟器上直接加入angrybird.apk(愤怒的小鸟)编译,编译后无法运行。把libangrybirds.so拷贝到system\lib下,再编译后就可以运行
‘拾’ 怎么将解包的system文件夹打包成img文件
提取system.img
一般的刷机包后缀名是MD5或者tar格式,如果是MD5的话就重命名位tar格式,然后再解压缩,PS:解压缩都会的吧。解压出来之后里面有很多img文件,其中就包括system.img。这就是今天的猪脚,搞的就是他。三星刷机包作为案例。
下载安装ROM助手
打开ROM助手,选择“系统精简”功能。使用之前要注意,最好把一些杀毒软件暂时的关闭,
加载system.img
把第一步提取的system.img加载进去。稍等片刻,等待加载完成。。
精简和添加
这时ROM助手把整个system.img的APK都显示出来了,在保证刷机包的完整性的同时,你想怎么玩就怎么玩 ,如果不尽兴的话 ROM助手还有一层功效哦!!!继续往下看。。
文件包的修改
在加载完成后
ROM助手的安装目录会生成一个文件夹,这里显示的是全部system.img的内容 我的是
D:\MoGu\Temp\~0,在这里你可以尽情的移植,美化什么的,只要你会的
都可以玩。。。另外:ROM助手的美化功能在抓紧的开发测试中,敬请期待哦~~~
封装IMG
一切完成后 点击右下角的“开始封装” 等待封包完成,
这样system.img的解包 修改 打包就结束了,是不是很简单的呀 !!!
在人家还在安装LINUX的时候 你都完成了SYSTEM的封包,很有成就感的哈,
刷机
三星刷机包由于他的特殊性,是Tar格式 最后还需要一个TAR打包工具,兄弟们在网上下载即可 搞定后 就刷机哦~~~