我如何访问android.os.storage.IMountService?

时间:2016-09-29 13:09:11

标签: java android android-studio android-6.0-marshmallow

我正在开发运行Android 6.0.1的自定义平板电脑。我有root访问权限并已将我正在制作的应用程序放在 / system / priv-app / 目录中,从而获得对系统权限的访问权。

此应用程序需要将文件从SD卡分区复制到闪存驱动器(我正在使用的平板电脑有2个完整USB端口),然后卸载闪存驱动器。

我已经成功复制了文件,但是我无法卸载闪存驱动器。

根据我的阅读,我需要访问 android.os.storage.IMountService 类。

我该如何解决这个问题?

我已经尝试添加我在网上找到的classes-full-debug.jar文件,但尝试在Android Studio中编译时出错。

1 个答案:

答案 0 :(得分:0)

我必须在编译android之后将库 SDK / out / target / common / obj / JAVA_LIBRARIES / framework_intermediates / classes-full-debug.jar 添加到我的应用程序。

Android工作室会抱怨内存不足错误,这可以通过将以下代码添加到android部分内的build.gradle来解决。

dexOptions {
    javaMaxHeapSize "4g"
}

您还需要通过在defaultConfig部分的build.gradle中添加以下行来添加multidex支持。

multiDexEnabled true

在依赖项部分中添加以下行。

compile 'com.android.support:multidex:1.0.0'

在清单内的应用程序部分添加以下行。

android:name="android.support.multidex.MultiDexApplication"

您的应用必须位于 / system / priv-app 目录中并具有以下权限。

<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />