您的位置:首页 > 移动开发 > Android开发

Android 系统应用 注意的那些事

2016-03-01 14:04 274 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/sinat_33991204/article/details/50772103     系统应用主要还是要有系统权限,通过这个应用来完成其他第三方app不能完成的事情,比如调用手机硬件以及系统内部中没有被封装成api的内部类,类似于各个手机中都有的工厂测试,mms,Camera等等。其实只要你了解整个手机系统framework层和hal层,有的都可以通过反射机制以及native方法来实现。
    系统应用一般都要在系统下编译生成apk,通过预安装的方法安装在系统中,这个需要方案公司来进行做这个,我们仅仅是开发app的话就不需要了。平常在调试的时候都是通过adb进行安装,但是要注意一点就是adb安装一定要注意权限问题,因为系统应用安装的话需要手机的system权限,所以我们都是用开发版的手机来调戏系统应用的。
    下面来讲讲权限问题,Android中有很多权限,你访问网络、进行读写短信和电话记录还有进行一个system属性的读写都需要大量的权限,这些权限都是在android.premmison.xxxxxx,这个网上有很多。其中要让app获取系统权限的话,都要在AndroidManifest.xml中的manifest节点中加入 android:sharedUserId="android.uid.system"。这样就获取到系统的权限,下面你就可以调用系统中的东西开始为所欲为了,嘿嘿嘿。。。
    接着就是开发自己的app移植到系统中编译所遇到的问题。首先就是在Android 源码下的package/app下面创建一个应用包名然后就是Android.mk文件的书写,一般的书写方式都基本一样,只不过因为app名字的变化module名会变一下。然后提取自己的src的java文件和res资源文件以及AndroidManifest.xml文件到该报名下。就这在系统下进行编译生成apk即可。如果有出错就可以的,可以自己查看log分析。
    如果也要你预制的话,也可以预制到系统rom中,进行刷机即可看到,只不过这样调戏不方便,不推荐使用。


    下面针对上面所讲的命令以及书写方式简单说一下:
        1、adb 安装命令
             adb install -r  文件路径
             adb push 文件路径  目的路径(比如 system/app|pri_app)
        2、Android.mk的简单书写

            例如  

</pre><pre name="code" class="html">LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES := $(call all-java-files-under, src) #指向当前目录下的src包

LOCAL_PACKAGE_NAME := 名字  #这个指的就是你的app包名
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true #是否放在pri_app下

LOCAL_JAVA_LIBRARIES += telephony-common #静态链接

include $(BUILD_PACKAGE)

# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))

        3、所拷贝的文件如下图所示

              

       后面如果有需要补充的,我会再进行更改。欢迎指教

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: