定制化ROM采坑之路(4):从Framework层去调用App中的数据库

前言

最近在做一个实验,从Framework层去调用应用层的数据库,可以开启服务我们开发的App数据库进行一些管理,下面来讲解下我的开发流程。

准备工作

首先,我们准备一个数据库项目,主要就是基础的CRUD操作,我这里准备了一个SqliteDemo可以去下载,下面的内容我使用了项目中的java文件。

修改Framework层代码

我们准备Hook的点是在Application的onCreate()方法进行Hook,预想只要创建进程的时候就打印数据库的信息。
修改的文件路径:frameworks/base/core/java/android/app/Application.java

...
import android.util.Slog;
import android.app.DBHelper;
public class Application{
   
    private static final String PACKAGE_NAME = "com.martin.jetmo";
	private static final String TAG = "JetmoApplication";
    @CallSuper
    public void onCreate() {
   
        if (mLoadedApk.getPackageName().toLowerCase().equals(PACKAGE_NAME)) {
   
			mDBHelper = new DBHelper(this);     
			ArrayList<String> array_list = mDBHelper.getAllCotacts();//这里需要写String   
			for (String item : array_list) {
           
				Slog.i(TAG, item);                   
			}                                       
        }
    }
    ...
}    

接下来,我们将前面项目的DBHelper.java文件拷贝到和Application的同级目录下。
放入文件的路径:frameworks/base/core/java/android/app/DBHelper.java

package android.app;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.DatabaseUtils;
import android.database.sqlite
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值