关于把一个工程放入Rom和从Rom中删…
2014-03-10 17:05
106 查看
把一个工程放入Rom中
工程中需要一个Android.mk文件,它的内容如下:
LOCAL_PATH:= $(call my-dir)
//指定该子项目的绝对路径。一般通过直接调用编译中枢定义的函数my-dir获取。
include $(CLEAR_VARS)
//清除各种变量,因为这些变量是静态全局的
LOCAL_MODULE_TAGS := optional
//指定当前子项目所属的标签。标签是中枢定义的,各子项目只能指定自己属于哪个标签,而不能新建标签。
LOCAL_SRC_FILES := $(call all-java-files-under, src)
//指定该项目所包含的所有源文件,系统提供了相应的函数,可以直接调用。
LOCAL_PACKAGE_NAME := BlandroidUpdater
//指定该项目的名称,该名称将作为make xxx中的xxx
LOCAL_CERTIFICATE := platform
//指定该APK项目将使用何种签名文件签名最后生成apk文件。
//四种:platform,Framework源码最后将生成一个Jar包,该Jar包默认使用该类型签名
//
shared,一些系统应用程序使用该类型签名,比如Contacts
//
user,一些私有项目使用该签名
//
tests,调试过程中一般使用该签名
LOCAL_SRC_FILES += \
src/org/blandroid/updater/interfaces/IDownloadService.aidl \
src/org/blandroid/updater/interfaces/IDownloadServiceCallback.aidl
\
src/org/blandroid/updater/interfaces/IUpdateCheckService.aidl
\
src/org/blandroid/updater/interfaces/IUpdateCheckServiceCallback.aidl
//系统不能寻找到aidl文件,因此需要手动添加
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
//混淆器
1.指定不需要混淆的native方法与变量的proguard.flags文件。LOCAL_PROGUARD_FLAG_FILES :=
proguard.flag
2.制定编译的工程,不要使用代码混淆的工具进行代码混淆。LOCAL_PROGUARD_ENABLED :=
disabled
3.不设置,默认使用LOCAL_PROGUARD_ENABLED := full.即将该工程代码全部混淆
include $(BUILD_PACKAGE)
//将其编译成APK。
include $(call all-makefiles-under,$(LOCAL_PATH))
//调用下层makefile
修改以下三个文件
1.build/target/product
generic_no_telephony.mk 把
Android.mk里的LOCAL_PACKAGE_NAME字段放进去
2.app/superuse/src/com/noshufou/android/su/suAllowapps
里添加包名。这个是anrom的授权root操作。
3.bionic/libc/bionic
__macname.c中添加包信息{"org.blandroid.updater",sizeof("org.blandroid.updater")
-1,},
注意,要写入rom的工程里,不能有直接的字符串,必须写到string当中去。比如,必须android:text="@string/download",而不能android:text="download"
如果写不进rom,看下.mk文件还在不。
从ROM中删除一个工程
删除代码文件夹
三个修改过的文件,改回来
删除out/target/product/crespo/obj/APPS/包名_intermediates
删除put/target/product/crespo/system/app/包名.apk
工程中需要一个Android.mk文件,它的内容如下:
LOCAL_PATH:= $(call my-dir)
//指定该子项目的绝对路径。一般通过直接调用编译中枢定义的函数my-dir获取。
include $(CLEAR_VARS)
//清除各种变量,因为这些变量是静态全局的
LOCAL_MODULE_TAGS := optional
//指定当前子项目所属的标签。标签是中枢定义的,各子项目只能指定自己属于哪个标签,而不能新建标签。
LOCAL_SRC_FILES := $(call all-java-files-under, src)
//指定该项目所包含的所有源文件,系统提供了相应的函数,可以直接调用。
LOCAL_PACKAGE_NAME := BlandroidUpdater
//指定该项目的名称,该名称将作为make xxx中的xxx
LOCAL_CERTIFICATE := platform
//指定该APK项目将使用何种签名文件签名最后生成apk文件。
//四种:platform,Framework源码最后将生成一个Jar包,该Jar包默认使用该类型签名
//
shared,一些系统应用程序使用该类型签名,比如Contacts
//
user,一些私有项目使用该签名
//
tests,调试过程中一般使用该签名
LOCAL_SRC_FILES += \
src/org/blandroid/updater/interfaces/IDownloadService.aidl \
src/org/blandroid/updater/interfaces/IDownloadServiceCallback.aidl
\
src/org/blandroid/updater/interfaces/IUpdateCheckService.aidl
\
src/org/blandroid/updater/interfaces/IUpdateCheckServiceCallback.aidl
//系统不能寻找到aidl文件,因此需要手动添加
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
//混淆器
1.指定不需要混淆的native方法与变量的proguard.flags文件。LOCAL_PROGUARD_FLAG_FILES :=
proguard.flag
2.制定编译的工程,不要使用代码混淆的工具进行代码混淆。LOCAL_PROGUARD_ENABLED :=
disabled
3.不设置,默认使用LOCAL_PROGUARD_ENABLED := full.即将该工程代码全部混淆
include $(BUILD_PACKAGE)
//将其编译成APK。
include $(call all-makefiles-under,$(LOCAL_PATH))
//调用下层makefile
修改以下三个文件
1.build/target/product
generic_no_telephony.mk 把
Android.mk里的LOCAL_PACKAGE_NAME字段放进去
2.app/superuse/src/com/noshufou/android/su/suAllowapps
里添加包名。这个是anrom的授权root操作。
3.bionic/libc/bionic
__macname.c中添加包信息{"org.blandroid.updater",sizeof("org.blandroid.updater")
-1,},
注意,要写入rom的工程里,不能有直接的字符串,必须写到string当中去。比如,必须android:text="@string/download",而不能android:text="download"
如果写不进rom,看下.mk文件还在不。
从ROM中删除一个工程
删除代码文件夹
三个修改过的文件,改回来
删除out/target/product/crespo/obj/APPS/包名_intermediates
删除put/target/product/crespo/system/app/包名.apk
相关文章推荐
- codeblocks工程下关于结构体的一个问题
- 关于快速建立一个新project的方法——(工程移植?)
- 关于在一个工程中使用多个文件的一些注意
- 关于如何在make一个Linux下的C/C++工程时,自动添加版本号、编译日期等信息
- 关于一个android工程同时使用多个工程库,在编译时出现的问题
- 关于MyEclipse中导入工程过程中出现乱码纠结一个中之后的整理,真实有用!
- 发现一个问题,十分蛋疼。 我们项目是由N个工程组成的,外围工程是web工程,内部的工程打包成jar,放入外围工程的WEB-INF/lib 内部的工程用到了spring的注解,例如@Service、
- IOS开发笔记之十七——一个关于工程目录读写权限的问题
- IOS开发笔记之十七——一个关于工程目录读写权限的问题
- 泛泰A860 官方ROM里关于振动的一个特殊的lib libpparam.so的错误log
- 关于Maven中的常见命令,通过命令的方式快速创建一个空的maven工程,将jar包打到maven仓库中
- 关于在Android工程中新添加了一个Activity 而程序崩溃的问题
- 关于解决"项目工程文件夹左下角永远有一个红叉"的方法
- 话说关于一个px4新工程编译时常见问题
- 一个关于VB工程引用的错误!
- 关于类型原型的思考(请不要在一个Map或List放入多种数据类型)
- 关于从VSS 中打开一个含有Web工程的方案时的问题—以前原创(三)
- 在一个工程中如何把外部多个jar包放入一个自定义的 library下
- 关于一个工程里多个文件心得
- 关于一个工程中多个文件的相互调用的学习笔记(C语言)