Android 1.5之后將調節亮度的api隱藏了,不過android的源碼中依然有方法可以實現,如下:
上面的代碼無法直接在官方的sdk中調用,會提示找不到IpowerManager和I ServiceManager,需要下載android的源碼,將調用這個方法的工程在android源碼環境下編譯。
編譯方法如下,在調用該方法的工程根目錄下創建Android.mk文件:
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := user
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := myProject
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
將工程目錄拷貝到/packages/apps/下,執行mmm編譯。會在out目錄下生成apk文件,這里的apk還無法直接使用,會提示簽名不符,原因是程序想要運行在系統進程中還要有目標系統的platform key。
接下來使用platform key對apk簽名:
1. 用壓縮軟件打開apk文件,刪掉META-INF目錄下的CERT.SF和CERT.RSA兩個文件。
2. 使用目標系統的platform密鑰來重新給apk文件簽名。首先找到密鑰文件,在我的Android源碼目錄中的位置是"build/target/product/security",下面的platform.pk8和platform.x509.pem兩個文件。然后用Android提供的Signapk工具來簽名,signapk的源代碼是在"build/tools/signapk"下,用法為"java 主站蜘蛛池模板: 英吉沙县| 桐柏县| 崇明县| 普宁市| 佳木斯市| 大丰市| 厦门市| 清河县| 江川县| 凤翔县| 肇庆市| 苗栗县| 鄄城县| 肥乡县| 专栏| 永安市| 家居| 凯里市| 项城市| 新田县| 万年县| 新安县| 宁都县| 永吉县| 静宁县| 陆川县| 滁州市| 思南县| 无极县| 余庆县| 密山市| 兴业县| 龙里县| 灵丘县| 丰城市| 汪清县| 崇信县| 屯留县| 铜鼓县| 乐昌市| 包头市|