HansChen
HansChen
  • 发布:2019-12-17 15:08
  • 更新:2019-12-17 16:48
  • 阅读:934

求助:云打包的apk为什么有一堆无关的权限要求显示

分类:nvue

UNIAPP,部分NVUE模式的apk

云打包出来都apk,要求一堆莫名其妙的权限,我如何能移除这些无关的权限详情

APP的模块权限是这些

权限配置一个都没选择

我尝试将云插件全部去掉,结果依旧(就一个云插件)

-==============
本apk,使用过的uni api如下:

uni.setStorageSync  
uni.getStorageSync  
uni.request  

uni.getSystemInfoSync  
uni.getLocation                        // gcj02  
uni.setKeepScreenOn  
uni.getProvider  

uni.openSetting  

uni.requestPayment  

uni.closeSocket  
uni.connectSocket  
uni.onSocketOpen  
uni.onSocketMessage  

uni.showLoading  
uni.hideLoading  

uni.switchTab  
uni.reLaunch  
uni.navigateTo  
uni.navigateBack  
uni.showModal  
uni.showToast  
uni.showTabBar  
uni.hideTabBar  

uni.canvasToTempFilePath  
uni.createCanvasContext  
uni.canvasGetImageData  
uni.arrayBufferToBase64  
uni.getFileSystemManager  
uni.uploadFile  

uni.startPullDownRefresh  
uni.stopPullDownRefresh  
uni.setNavigationBarTitle  
uni.$on  
uni.$off  
uni.$emit  

uni.setTabBarBadge  
uni.removeTabBarBadge  
uni.createSelectorQuery  
$selector.boundingClientRect  
uni.pageScrollTo  
2019-12-17 15:08 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

云端打包会自动根据你选择的模块添加其所依赖的权限。比如推送会要求读取手机状态和身份、查看/更改网络连接、修改系统设置等。如果没有设置对应的权限可能会导致部分功能无法使用。
其中访问内部存储和网络是必须添加的权限。
如果你要完全自己控制,可以离线打包来处理。
注:从Android6开始,apk中只是声明应用需要用到的所有权限,使用涉及到用户敏感信息的权限都会要求最终用户确认授权的。

  • HansChen (作者)

    “从Android6开始,apk中只是声明应用需要用到的所有权限,使用涉及到用户敏感信息的权限都会要求最终用户确认授权的。”


    话虽然如此,但是部分用户看到这个详情就怕。。


    我仅仅是选择了

    Maps

    OAuth

    Payment

    Push

    Share

    VideoPlay

    这6个模块,我怎么也联想不到 蓝牙链接、WLAN、安装卸载等这些系统工具类的权限会有所关联。

    (我也想离线打包,但是我有使用云插件。。。无解吗?)


    2019-12-17 15:30

DCloud_App_Array

DCloud_App_Array

举个例子,这是推送中个推SDK要求添加的权限列表:

    <uses-permission android:name="android.permission.INTERNET" />  
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />  
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />  
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />  
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
    <uses-permission android:name="android.permission.VIBRATE" />  
    <uses-permission android:name="android.permission.GET_TASKS" />  
    <uses-permission android:name="android.permission.BLUETOOTH" />  
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <!-- ⽀支持个推3.0 电⼦子围栏功能 -->  
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 浮动通知权限 -->  
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

为了保证第三方SDK的功能完整,云端打包默认会包含它所要求的所有权限

  • HansChen (作者)

    了解,可不可以增加一个功能,让开放者自己选择这些模块里面的权限的细则配置。


    2019-12-17 19:02

  • HansChen (作者)

    谢谢你的回答


    2019-12-17 19:03

该问题目前已经被锁定, 无法添加新回复