您的位置:首页 > 其它

关于把一个工程放入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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐