1、 查看AndroidManifest.xml中的manifest节点中属性,比如:
android:sharedUserId="android.uid.system"
android:sharedUserId="android.uid.shared"等
2、查看Android.mk,找出需要的库文件,比如:
LOCAL_STATIC_JAVA_LIBRARIES :=
com.android.phone.common
在源码下找到out/target/common/obj/JAVA_LIBRARIES/com.android.phone.common_intermediates/classes.jar
,加入工程,其他需要的库也加入,知道编译正确。使用eclipse编译出apk文件,但是这个apk文件是不能用的。
3、使用目标系统的platform密钥来重新给apk文件签名。这步比较麻烦,
首先找到密钥文件,在我的Android源码目录中的位置
是"build\target\product\security",如果android:sharedUserId="android.uid.system",公匙密匙分别是platform.pk8和platform.x509.pem两个文件,其他类似。
然后用Android提供的Signapk工具来签名,signapk.jar在out/host/linux-x86/framework下
用法为"java -jar
signapk.jar
platform.x509.pem platform.pk8 input.apk output.apk",
例如:java -jar signapk.jar
platform.x509.pem
platform.pk8 Settings.apk
Settings-signed.apk
文件名最好使用绝对路径防止找不到,input.apk和output.apk不要相同,会报错
。
4、获得安装权限
adb shell mount -oremount,rw /dev/block/mtdblock3 /system
5、重安装新的apk
adb install -r Settings-signed.apk
用绝对路径。
等一会就OK了
6、可以用Eclipse实现断电、单步调试。
如果是linux下直接mmm模块编译,然后执行两步:
adb shell mount -oremount,rw /dev/block/mtdblock3 /system
adb install -r Settings-signed.apk
也可单步调试,有空再写
分享到:
相关推荐
- **获取源码**:首先,你需要从AOSP(Android Open Source Project)仓库下载完整的Android源码,Settings模块位于`frameworks/base/packages/Settings`目录下。 - **配置环境**:确保你的机器上安装了JDK、...
【标题】"Database Dictionary_android源码_英语词典_" 提供了一个关于Android应用程序开发的知识点,这个应用是一个基于Java编程语言的英语词典。在Android平台上,开发者通常使用Java或Kotlin来构建应用程序,而本...
来获取基础框架源码,或者使用 `repo init` 和 `repo sync` 命令获取完整Android源码树。 2. 安装必要的构建工具,如JDK、Android SDK、NDK等。 3. 在Eclipse中创建一个新的Android项目,但不要生成任何源代码或...
3. **Eclipse环境下的源码依赖**: Eclipse是一款经典的Java集成开发环境,它支持导入外部源码库进行开发。通过导入XUtils3的源码依赖包,开发者可以在Eclipse中直接查看和调试XUtils3的源代码,而不仅仅是使用API...
#### 第1章:搭建Android源码工作环境 - **Android系统架构**:这一节首先介绍了Android系统的基本结构,包括应用程序层、应用框架层、系统库层、Linux内核等部分。这样的架构设计使得开发者能够更好地理解各个组件...
通过这个文件,Eclipse知道如何识别和管理项目,使得开发者可以方便地进行代码编辑、构建和调试。 3. **default.properties**:在早期版本的Android开发中,这个文件用于存储项目的属性,比如target SDK版本。现在...
- **.settings**:Eclipse 或 Android Studio 的项目设置文件。 6. **技术栈**: - **Android SDK**:作为基础平台,提供应用程序开发所需的类库和工具。 - **Java 或 Kotlin**:作为主要编程语言,构建应用逻辑...
- **.settings**: Eclipse或Android Studio的项目配置文件,包含了IDE特定的设置和偏好。 - **R.txt**: Android项目中生成的R类的文本表示,记录了资源的ID和名称。 - **src**: 源代码目录,包含了Weex应用的Java或...
5. **调试**:使用Android Studio的调试工具定位并修复问题。 6. **发布**:打包APK文件,上传至Google Play Store或其他分发渠道。 **总结** "ICY"是一个基于Java和Eclipse月神的Android应用,专注于工作时间管理...