简体   繁体   English

根设备上的Android权限被拒绝

[英]Android permission denied on rooted device

Not sure why, but I can't run an APK after I've downloaded it onto a rooted device.. Any ideas? 不知道为什么,但是将APK下载到有根设备后无法运行APK。有什么想法吗? I am trying to create an auto-updater for our in-house app but I can't get it to work! 我正在尝试为我们的内部应用程序创建一个自动更新程序,但无法正常工作!

06-19 11:52:45.426 W/ActivityManager(  486): Activity pause timeout for ActivityRecord{424b6658 u0 ttt.ttt/tablettimeclock.MainActivity}
06-19 11:52:45.446 I/ActivityManager(  486): Start proc com.android.packageinstaller for activity com.android.packageinstaller/.PackageInstallerActivity: pid=1281 uid=10044 gids={50044, 1028}
06-19 11:52:45.466 D/dalvikvm(  131): GC_EXPLICIT freed 40K, 3% free 7279K/7464K, paused 2ms+3ms, total 27ms
06-19 11:52:45.486 D/dalvikvm(  131): GC_EXPLICIT freed <1K, 3% free 7279K/7464K, paused 2ms+3ms, total 22ms
06-19 11:52:45.486 W/zipro   ( 1281): Unable to open zip '/data/user/0/ttt.ttt/files/ttt.apk': Permission denied
06-19 11:52:45.486 D/asset   ( 1281): failed to open Zip archive '/data/user/0/ttt.ttt/files/ttt.apk'
06-19 11:52:45.486 W/PackageInstaller( 1281): Parse error when parsing manifest. Discontinuing installation
06-19 11:52:45.486 W/PackageParser( 1281): Unable to read AndroidManifest.xml of /data/user/0/ttt.ttt/files/ttt.apk
06-19 11:52:45.486 W/PackageParser( 1281): java.io.FileNotFoundException: AndroidManifest.xml
06-19 11:52:45.486 W/PackageParser( 1281):  at android.content.res.AssetManager.openXmlAssetNative(Native Method)
06-19 11:52:45.486 W/PackageParser( 1281):  at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:487)
06-19 11:52:45.486 W/PackageParser( 1281):  at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:455)
06-19 11:52:45.486 W/PackageParser( 1281):  at android.content.pm.PackageParser.parsePackage(PackageParser.java:509)
06-19 11:52:45.486 W/PackageParser( 1281):  at com.android.packageinstaller.PackageUtil.getPackageInfo(PackageUtil.java:73)
06-19 11:52:45.486 W/PackageParser( 1281):  at com.android.packageinstaller.PackageInstallerActivity.onCreate(PackageInstallerActivity.java:511)
06-19 11:52:45.486 W/PackageParser( 1281):  at android.app.Activity.performCreate(Activity.java:5104)
06-19 11:52:45.486 W/PackageParser( 1281):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
06-19 11:52:45.486 W/PackageParser( 1281):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
06-19 11:52:45.486 W/PackageParser( 1281):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
06-19 11:52:45.486 W/PackageParser( 1281):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
06-19 11:52:45.486 W/PackageParser( 1281):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
06-19 11:52:45.486 W/PackageParser( 1281):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-19 11:52:45.486 W/PackageParser( 1281):  at android.os.Looper.loop(Looper.java:137)
06-19 11:52:45.486 W/PackageParser( 1281):  at android.app.ActivityThread.main(ActivityThread.java:5041)
06-19 11:52:45.486 W/PackageParser( 1281):  at java.lang.reflect.Method.invokeNative(Native Method)
06-19 11:52:45.486 W/PackageParser( 1281):  at java.lang.reflect.Method.invoke(Method.java:511)
06-19 11:52:45.486 W/PackageParser( 1281):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-19 11:52:45.486 W/PackageParser( 1281):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-19 11:52:45.486 W/PackageParser( 1281):  at dalvik.system.NativeStart.main(Native Method)

Rooting the device doesn't automatically open up everything - directory and file permissions are still applied against processes based on the 'user' they run as. 根设备无法自动打开所有内容-目录和文件权限仍根据进程运行的“用户”应用于进程。

Options: 选项:

  • Install a file manager app that is root aware and use it to move the apk file to somewhere more normal, like the downloads folder. 安装一个具有root意识的文件管理器应用程序,然后使用该应用程序将apk文件移动到更正常的位置,例如downloads文件夹。
  • Use ADB to move the file somewhere more accessible. 使用ADB将文件移到更易于访问的位置。

Figured it out eventually. 最终想通了。

Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads).ToString()

That gets you to a place it will work. 那将您带到可以使用的地方。

Thanks for your help. 谢谢你的帮助。

Le-roy 勒罗伊

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM