问题标签 [android-6.0.1-marshmallow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
650 浏览

android - SqlCipher:无法在 Android 6.0.1 上打开数据库

以前我只使用 SQLite 并且从来没有遇到过问题,我只是更改为 SQLCipher 并在版本 7、8、8.1、9 的设备上工作正常,仅使用 Android 6.0.1 我有以下错误:

我正在使用以下方法来创建数据库,它在我的 MainActivity 的 onCreate 方法上被调用:

数据库设置

我对 Manifest 拥有以下权限:

正如其他答案所说,我什至试图在运行时请求该许可,但没有奏效,我得到了对话框,在我接受许可后出现了同样的错误。

我尝试使用的不是路径而是文件,我得到了同样的错误:

我尝试使用mkdirSQLCipher 的文档站点说,但没有。

我正在使用这个版本的 SQLCipher:

0 投票
0 回答
337 浏览

android - 如何给一个应用程序,在我自己的 AOSP -eng 版本上运行,root 权限?

我正在从源代码构建 Android(用于基于 ARM 的自定义设备)。

我有一个应用程序,我想拥有 root 权限。

特别是,我希望我的应用程序能够以 root 身份运行任意 shell 命令。

我已经阅读了很多关于如何 root 手机和使用其他应用程序(例如 SuperSU)以 root 身份运行应用程序的文章。

我在设备上通过 adb 有一个 root shell。

如何让我的应用程序以 root 身份运行,而无需安装其他应用程序并执行我认为不需要的复杂解决方法?

0 投票
0 回答
209 浏览

android - 从非特权 Java Android 应用程序发出根 C++ 可执行文件的信号

我正在修改一个以 root 身份运行的 Android C++ 系统可执行文件 (healthd)。

我希望修改后的 healthd 能够从非特权 Android Java 应用程序接收某种形式的信号。

几百毫秒的延迟就可以了,就像从 healthd 轮询一样,而不是实际的“事件”。

我只需要发送一个发生了某事的指示——不需要传输数据。

我可以使用的最简单的沟通方式是什么?

0 投票
2 回答
526 浏览

android - 如何判断 Android 何时关闭?

如何判断 Android 何时关闭?

我可以将功能放入已经以 root 身份运行的 C++ 守护程序中,或者放入非特权 Java 应用程序中。

我能区分关机和重启吗?(我只关心关机,重启时一定不能误报。)

0 投票
1 回答
1646 浏览

android - 在某些设备上从 PlayStore 下载后,Android App Bundle 崩溃

通过 USB 安装时,我的应用程序在所有设备上运行良好。但是当我将我的应用程序的应用程序包上传到 Google Play 时,它在某些设备上不起作用。Firebase Crashlytics 中没有崩溃报告。

我使用本机 C++ 库。我有 32 位和 64 位处理器的所有二进制文件。我认为这是32位设备的问题。但它也发生在 64 位设备上。我注意到它只发生在具有 API 23 的设备上。我将我的一部手机从 23 升级到 24(Android 7.0)。然后再次从商店下载该应用程序。现在它在该设备上运行良好。

我以前曾经向 PlayStore 提供多个 APK。那时一切都很好。后来我迁移到了 AndroidX 和 App Bundle。那么这个问题就出现了。可能是什么问题?有什么猜测吗?

*** 我发现这是 Renderscript 的问题。日志说

“java.lang.RuntimeException:无法创建应用程序 com.example.app.ThisApplication:androidx.renderscript.RSRuntimeException:加载 ScriptC 脚本失败”

为什么只有从 PlayStore 下载后才会发生这种情况???

崩溃日志:

0 投票
0 回答
584 浏览

android - 为什么我不能写入 Android 的外部二级存储?

我的应用在 Android 6.0.1 上运行。它是用 Python/Kivy 编写的,我希望这无关紧要。

我的数据可能会变大。它不是私人的。我希望用户能够从 PC 访问。所以,我想将它存储在我的测试设备的外部SD 卡上。

是的,我在清单中指定了我想要WRITE_EXTERNAL_STORAGE的(通过 buildozer.spec 文件)。我通过检查设备上的应用程序管理器中的应用程序确认这已经奏效。它具有正确的权限。

是的,我在运行时再次请求权限,在启动时立即。(请参阅相关问题Why can't I write to Android External Storage? and Can't write in external storage)我通过提供回调确认这已经奏效。授予读取和写入权限。

然后我的应用程序获取 python-for-android 的secondary_external_storage_path(). 奇怪的是,它返回 None!检查它的源代码,它首先尝试android.os.Environment在使用一些基于环境变量的启发式方法之前进行询问。根据我的估计 using adb shell,它应该找到SECONDARY_STORAGE已声明但设置为/storage/extSdCard- 一个不存在的位置的环境变量!- 所以它在那里失败并返回无。

因此受阻,我暂时对地址进行了硬编码:/storage/3143-6351/并在其下创建了一个子目录。

我将一些文件推送到该目录中。

这是其中一个文件的 ls 输出。在我不专业的眼里,这些权限似乎是合理的。

-rwxrwx--x root sdcard_rw 0 2020-07-07 16:13 heard.csv

父目录具有类似的权限。

我的应用程序启动,愉快地读取此目录中的文件,但是当它尝试写入时:

PermissionError: [Errno 13] Permission denied: '/storage/3143-6351/{path ellided}/heard.csv'

当我处理主要的辅助存储(即不是隐藏的应用程序存储,而是直接在手机上的共享存储(但被混淆地称为/sdcard)时,这曾经可以工作。

为什么我在被授予读取权限时被拒绝写入权限?

0 投票
2 回答
173 浏览

android - Android 6.0.1 应用开机后自动启动

我想MainActivity在设备启动后立即启动。我尝试了多种解决方案,但没有一个有效。目前,我有这个。

AndroidManifest.xml

安装程序广播接收器.kt

MainActivity.kt

关于什么可能是错误的任何建议?

0 投票
1 回答
81 浏览

android - Android Studio BroadcastReceiver 在 Android 6.0 中不工作

所以我试图在我的应用程序中获取来电和短信详细信息。我已经尝试了下面显示的代码,它适用于 Oneplus 6t (android 10)、Moto g plus (android 8) 和 Samsung M51 (android 10),并且按预期工作。但在 Redmi Note 3 (android 6.0.1) 上使用时,SMS 部分有效,但来电部分无效。我曾尝试在 google 和 Stack Overflow 上查找,但尚未解决此问题。

AndroidManifest.xml

权限

接收者

广播接收器类

0 投票
2 回答
359 浏览

android - ClassCastException:无法将 MediaMetadataRetriever 强制转换为 AutoCloseable

我尝试MediaMetadataRetriever与 Kotlin一起使用use

但它在 Android 6 Marshmallow (23 API) 上给了我一个错误:

java.lang.ClassCastException: android.media.MediaMetadataRetriever 不能转换为 java.lang.AutoCloseable

为什么这样?

0 投票
0 回答
32 浏览

android - Android 6 在安装我的 APK 后告诉我“找不到应用程序”,但如果通过 Android Studio 运行它就可以工作

我刚开始玩 Android Studio,想为运行 Android 6.0.1 的诺基亚 Z2 平板电脑制作一个小应用程序

而且我已经卡住了...

  • 我为 Android 6 创建了一个新项目

  • 我只做了一些 UI 工作。暂时没有代码。

  • 我的应用程序在 Android 6 模拟器上运行良好(配置类似于我的平板电脑)

  • 如果我将 Xperia Z2 Tablet Android 6 插入并直接在设备上运行,我的应用程序运行良好。然后它保持安装并正常工作。

  • 我创建的 APK(发布或调试)在我的 Pixel 6 Android 12 上运行良好。

  • 我创建的 APK(发布或调试)在我的 Note 8 Android 9 上运行良好。

  • 我创建的 APK(发布或调试)无法在我的 Xperia Z2 Tablet Android 6 上运行。(这很糟糕,因为这正是我需要该应用程序才能运行的设备):调试程序只是拒绝安装,APK安装程序只说“未安装应用程序”就抛出一个错误。已签名的已安装,但当我点击应用程序图标时,我在屏幕底部收到一条 Android 气泡消息,显示“未找到应用程序”。

有什么问题?再一次,我在代码方面完全没有做任何事情,但有一些 UI 工作。

我的清单文件:

我关于版本的 Gradle 代码

任何帮助表示赞赏。如果您需要更多信息,我会提供。谢谢!

编辑:当然,这是我寻求帮助时找到答案的时候。我禁用了 Play Protect 并安装了调试 APK。它有效。现在我在安装带有“找不到应用程序”错误的发布签名版本时仍然遇到问题,但至少我可以继续处理它。