相关疑难解决方法(0)

使用adb时,为什么我会拒绝访问数据文件夹?

我使用adb和以下命令连接到我的live设备:

C:\>adb -s HT829GZ52000 shell
$ ls
ls
sqlite_stmt_journals
cache
sdcard
etc
system
sys
sbin
proc
logo.rle
init.trout.rc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev
$ cd data
cd data
$ ls
ls
opendir failed, Permission denied
Run Code Online (Sandbox Code Playgroud)

我惊讶地发现我有访问被拒绝.为什么我不能使用这样的命令行浏览目录?

如何在手机上获得root访问权限?

android adb

174
推荐指数
7
解决办法
31万
查看次数

如何在Android设备上查看SQLite数据库?

我在SQLite数据库中有一组数据.我需要在设备上查看数据库.我怎么做?

我已经检查了ddms模式.文件资源管理器中的数据为空.

database sqlite android adb

125
推荐指数
8
解决办法
26万
查看次数

android adb,使用run-as检索数据库

在非root用户设备上,我可以使用run-as带有我的包名称的命令导航到包含数据库的数据文件夹.我满意的大多数文件类型只是查看,但我想从Android设备拉数据库.

是否有一个download copymove亚行外壳,这部分命令?我想下载数据库文件并使用数据库浏览器查看其内容.

这里的一个答案涉及将整个应用程序包转换为压缩存档,但是一旦完成并移动到机器上,如何提取该存档就没有进一步的答案,当我可能有一个更直接的解决方案开始

database android adb android-sqlite internal-storage

104
推荐指数
6
解决办法
8万
查看次数

从adb shell读取二进制stdout数据?

是否可以从adb shell命令读取二进制stdout?例如,如何使用screencap的所有示例包括两个步骤:

adb shell screencap -p /sdcard/foo.png
adb pull /sdcard/foo.png
Run Code Online (Sandbox Code Playgroud)

但是,该服务支持写入stdout.例如,您可以执行以下操作:

adb shell "screencap -p > /sdcard/foo2.png"
adb pull /sdcard/foo2.png
Run Code Online (Sandbox Code Playgroud)

这同样有效.但是,如何阅读亚行的产出呢?我想做的是以下内容:

adb shell screencap -p > foo3.png
Run Code Online (Sandbox Code Playgroud)

并避免中间写入SD卡.这会生成看起来像PNG文件的strings foo3.png东西(正在运行生成带有IHDR,IEND等的东西)并且大小大致相同,但就图像阅读器而言,文件已损坏.

我也尝试在java中使用ddmlib来做到这一点,结果是一样的.我很乐意使用任何必要的图书馆.我的目标是减少获取捕获的总时间.在我的设备上,使用双命令解决方案,获取图像大约需要3秒钟.使用ddmlib和捕获stdout需要不到900毫秒,但它不起作用!

是否有可能做到这一点?

编辑:这是两个文件的hexdump.第一个,screen.png来自stdout并且已损坏.第二个,xscreen来自双命令解决方案并且有效.图像应在视觉上相同.

$ hexdump -C screen.png | head
00000000  89 50 4e 47 0d 0d 0a 1a  0d 0a 00 00 00 0d 49 48  |.PNG..........IH|
00000010  44 52 00 00 02 d0 00 00  05 00 08 06 00 00 00 6e  |DR.............n|
00000020  ce …
Run Code Online (Sandbox Code Playgroud)

android adb

60
推荐指数
7
解决办法
3万
查看次数

在Android上为SDCard创建数据库备份

我正在使用以下代码将备份副本写入SDCard,我得到了

java.io.IOException: Parent directory of file is not writable: /sdcard/mydbfile.db

private class ExportDatabaseFileTask extends AsyncTask<String, Void, Boolean> {
        private final ProgressDialog dialog = new ProgressDialog(ctx);

        // can use UI thread here
        protected void onPreExecute() {
           this.dialog.setMessage("Exporting database...");
           this.dialog.show();
        }

        // automatically done on worker thread (separate from UI thread)
        protected Boolean doInBackground(final String... args) {

           File dbFile =
                    new File(Environment.getDataDirectory() + "/data/com.mypkg/databases/mydbfile.db");

           File exportDir = new File(Environment.getExternalStorageDirectory(), "");
           if (!exportDir.exists()) {
              exportDir.mkdirs();
           }
           File file = new File(exportDir, dbFile.getName());

           try …
Run Code Online (Sandbox Code Playgroud)

android

45
推荐指数
1
解决办法
2万
查看次数

Android:数据库文件存储在哪里?

我在Android设备上创建了一个SQLite数据库.程序可以读/写数据库,因此显然已经创建了数据库文件.SQLiteDatabase.mPath设置为

db.mPath = "/data/data/dev.client.android/databases/clientDB.db"
Run Code Online (Sandbox Code Playgroud)

但是当我浏览设备上的目录时,我找不到文件clientDB.db.我查看了数据目录,但似乎是空的.

有谁知道这里有什么不对吗?

database sqlite android

44
推荐指数
3
解决办法
7万
查看次数

Android'可调试'默认值

我试图从代码中获取应用程序的debuggable属性值:

packageInfo = context.getPackageManager().getPackageInfo(packageName, 0);           
int flags = packageInfo.applicationInfo.flags;
isDebugMode = (flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
Run Code Online (Sandbox Code Playgroud)

我注意到,当清单中未指定debuggable属性时,此代码将其定义为true.文档说它默认是假的.

怎么了?

android android-manifest

23
推荐指数
1
解决办法
2万
查看次数

在Android手机上开发时如何访问数据库?

我在手机上开发时遇到了访问数据库的问题.每当我执行

cd /data/data/com.mycompck/databases

然后运行ls我得到:"opendir failed, Permission denied"

或者每当我输入时,sqlite3我得到:"sqlite3: permission denied"

我究竟做错了什么?

是否有一些应用程序可以帮助我获得内容解析器值和/或SQLite数据库的人工视图?

sqlite android adb

9
推荐指数
2
解决办法
2万
查看次数

将sqlite数据库从设备复制到PC

我有一个android程序,它将其信息存储在sqlite数据库中.一旦设备通过USB插入,或者应该在程序本身中写入特殊功能以将db内容转储到/ sdcard目录下的文件中,是否可以将该db文件复制到PC?

谢谢

database sqlite android transfer

6
推荐指数
1
解决办法
1万
查看次数

从 Android 应用程序调试 SQLite 数据库

我正在后台编写一个带有 SQLite 数据库的 Android 应用程序。此数据库由应用程序创建,并存储在设备的默认目录中:

shell@android: ls /data/data/com.package.example/databases # 
MyDb.db
MyDb.db-journal
Run Code Online (Sandbox Code Playgroud)

在开发过程中,我想测试行是否正确插入/更新,所以我需要查看数据库。有一个非常好的工具叫做SQLite 数据库浏览器(适用于 Win、Mac 和 Linux)。

使用这个工具,我可以打开数据库、浏览、插入和更新行等等......问题是,我首先需要将数据库从设备复制到我的本地机器:

# On Android Shell
# (Cannot pull directly from /data/-directory)
cp /data/data/com.package.example/databases/MyDb.db /sdcard/


# On developing machine
adb pull /sdcard/MyDb.db
Run Code Online (Sandbox Code Playgroud)

比我的机器上有数据库,我终于可以打开它了。

我的问题是:有更好/更快的方法吗?我可以以某种方式直接访问设备上的数据库吗?

database sqlite android adb

1
推荐指数
1
解决办法
2008
查看次数