android studio直接查看db数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android studio直接查看db数据库相关的知识,希望对你有一定的参考价值。

参考技术A 尝试多种这种方式侵入性最小,集成够简单。
这是一个开源的项目,项目地址 在这里 。
先在 module 的 build.gradle 里面添加:

让手机和电脑处于一个局域网下,当项目跑起来的时候,在 logcat 里面会打印出这么一行:

把地址复制到浏览器,就会看到一个这样的界面:

很容易理解,里面几个栏目分别是:

Android Studio导出Jar包并混淆

在Android Studio中,自带反编译查看class文件,如果没有混淆的话,class文件跟java文件基本没有区别了,为了保护,还是混淆的好。

网上看了不少资料,都是直接下载proguard额外jar,直接生成,觉得不方便,既然apk都能混淆,为什么不直接通过Android Studio来混淆jar包呢。

做法其实很简单,一个build文件,一个proguard文件就可以了。

首先要明白jar从哪里来,以前在Eclipse中是一个project设置为library,然后另外一个主project依赖它。build一下,在library中就会生成jar文件了。

在Android Studio是module的概念,其实也相当于project。主app module依赖其它子module,在打包时,会将其它module打成aar,赋给主app。所以jar是针对整个module来make的。

如果module内仅仅是java代码,生成jar是没问题的,但如果还有resource文件,那就得打aar文件了。

在你要打jar包的module build文件中,加上一个生成jar包的task。其实即使不添加,在整个工程build时也会生成jar文件的。在build/intermediates/bundles/release/classes.jar可以找到。只是没混淆罢了。

task makeJar(type: proguard.gradle.ProGuardTask, dependsOn: "build") {
// 未混淆的jar
injars ‘build/intermediates/bundles/release/classes.jar‘
// 混淆后的jar路径
outjars ‘build/http.jar‘
// 具体需要keep住的类
configuration ‘proguard-rules.pro‘
}

这个时候,在Termial中就输入./gradlew makeJar就能将classes.jar复制倒http.jar了。这个时候还是没混淆的,因为混淆根本没写。

如果module中同时也依赖其它libs,那需要在proguard中声明那些libs。比如:#-libraryjars libs\gson-2.2.2.jar,大部分都跟apk混淆类似的,只不过是局限于某个module而已。

附送一个proguard供大家参考,也是网上找的。最后混淆效果并不是很好,只是简单的将部分变量改成了abcd这样,不过也够了。总不能将方法也混淆,这样外部调用就麻烦了。

proguard-rules.pro

 

以上是关于android studio直接查看db数据库的主要内容,如果未能解决你的问题,请参考以下文章

关于Android Studio查看SQLite数据库

android如何查看手机中的db文件,查看sqlite数据库的表结构

如何在 IBM Data Studio 中查看 DB2 存储过程的解释计划?

android studio数据库文件在哪

我正在从 firebase Realtime Db 获取数据并获取 recyclerview 问题是 Collection.shuffling 在 android studio 中重复相同的项目

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段