《Buildozer打包实战指南》第六节 buildozer.spec配置文件中的其他参数

news/2023/6/9 18:14:12

目录

android.permissions

android.features

android.api

android.minapi

android.sdk

android.ndk

android.ndk_api

android.private_storage  

android.ndk_path

android.sdk_path

android.ant_path

android.skip_update

android.accept_sdk_license

android.apptheme 

android.wakelock

android.archs

android.allow_backup

android.backup_rules

android.no-compile-pyo

android.release_artifact

android.debug_artifact

log_level

build_dir

bin_dir


在第四节,笔者介绍了buildozer.spec配置文件中的一些常见参数。在本节,我们再来了解下该配置文件中其他一些参数,好让我们更深入了解buildozer.spec的作用。

android.permissions

该参数用来获取权限,有Normal Permissions(对用户隐私没有风险)和Dangerous permissions(需要涉及用户私人信息数据)两种权限区分。以下表格罗列了Normal Permissions的各个权限名称。

注:如果代码中涉及到了网络请求,比如使用了requests库,那必须要开启INTERNET权限,否则会报错。

权限名解释
ACCESS_LOCATION_EXTRA_COMMANDS允许程序访问额外的定位提供者指令
ACCESS_NETWORK_STATE允许程序获取网络信息状态,如当前的网络连接是否有效
ACCESS_NOTIFICATION_POLICY通知APP通知显示在状态栏
ACCESS_WIFI_STATE允许程序获取当前WiFi接入的状态以及WLAN热点的信息
BLUETOOTH允许程序连接配对过的蓝牙设备
BLUETOOTH_ADMIN允许程序进行发现和配对新的蓝牙设备
BROADCAST_STICKY允许程序收到广播后快速收到下一个广播
CHANGE_NETWORK_STATE允许程序改变网络状态,如是否联网
CHANGE_WIFI_MULTICAST_STATE允许程序改变WiFi多播状态
CHANGE_WIFI_STATE允许程序改变WiFi状态
DISABLE_KEYGUARD允许程序禁用键盘锁
EXPAND_STATUS_BAR允许程序扩展或收缩状态栏
GET_PACKAGE_SIZE允许程序获取应用的文件大小
INSTALL_SHORTCUT创建快捷方式
INTERNET允许程序访问网络连接,可能产生GPRS流量
KILL_BACKGROUND_PROCESSES允许程序调用killBackgroundProcesses(String).方法结束后台进程
MANAGE_OWN_CALLS允许通过自我管理的ConnectionService API管理自己的调用的调用应用程序
MODIFY_AUDIO_SETTINGS允许程序修改声音设置信息
NFC允许程序执行NFC近距离通讯操作,用于移动支持
READ_SYNC_SETTINGS允许程序读取同步设置,读取Google在线同步设置
READ_SYNC_STATS允许程序读取同步状态,获得Google在线同步状态
RECEIVE_BOOT_COMPLETED允许程序开机自动运行
REORDER_TASKS允许程序重新排序系统Z轴运行中的任务
REQUEST_COMPANION_RUN_IN_BACKGROUND允许伴随应用在后台运行
REQUEST_COMPANION_USE_DATA_IN_BACKGROUND允许伴随应用在后台使用数据
REQUEST_DELETE_PACKAGES允许应用程序请求删除软件包
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS应用程序必须拥有该权限才能使用ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
SET_ALARM允许程序设置闹铃提醒
SET_WALLPAPER允许程序设置桌面壁纸
SET_WALLPAPER_HINTS允许程序设置壁纸建议
TRANSMIT_IR允许使用设备的红外发射器
USE_FINGERPRINT允许应用使用指纹硬件
VIBRATE允许程序振动
WAKE_LOCK允许程序在手机屏幕关闭后后台进程仍然运行
WRITE_SYNC_SETTINGS写入Google在线同步设置

以下表格罗列了Dangerous Permissions的各个权限名称。

权限名解释
READ_CALENDAR允许程序读取用户的日程信息
WRITE_CALENDAR允许程序写入日程,但不可读取
CAMERA允许程序访问摄像头进行拍照
READ_CONTACTS允许程序访问联系人通讯录信息
WRITE_CONTACTS允许程序写入联系人,但不可读取
GET_ACCOUNTS允许程序访问账户Gmail列表
ACCESS_FINE_LOCATION允许程序通过GPS芯片接收卫星的定位信息
ACCESS_COARSE_LOCATION允许程序通过WiFi或移动基站的方式获取用户错略的经纬度信息
RECORD_AUDIO允许程序录制声音通过手机或耳机的麦克
READ_PHONE_STATE允许程序访问电话状态
READ_PHONE_NUMBERS允许程序读取设备的电话号码
CALL_PHONE允许程序从非系统拨号器里拨打电话
ANSWER_PHONE_CALLS允许程序接听来电
READ_CALL_LOG允许程序读取通话记录
WRITE_CALL_LOG允许程序写入(但是不能读)用户的联系人数据
ADD_VOICEMAIL允许程序添加语音邮件系统
USE_SIP允许程序使用SIP视频服务
PROCESS_OUTGOING_CALLS允许程序监视,修改或放弃播出电话
BODY_SENSORS允许应用程序访问用户用来测量身体内部情况的传感器数据,例如心率
SEND_SMS允许程序发送短信
RECEIVE_SMS允许程序接收短信
READ_SMS允许程序读取短信内容
RECEIVE_WAP_PUSH允许程序接收WAP PUSH信息
RECEIVE_MMS允许程序接收彩信
READ_EXTERNAL_STORAGE允许程序可以读取设备外部存储空间
WRITE_EXTERNAL_STORAGE允许程序写入外部存储,如SD卡上写文件

android.features

我们可以使用adb罗列安卓设备的特性(feature),比如笔者这里是用夜神模拟器自带的adb,罗列出了所有特性。命令如下所示:

adb shell pm list features

 注:如果还不了解adb的使用方法,可以阅读下第五节。

android.api

设置打包所使用的安卓api版本。

android.minapi

设置最低安卓api版本,低于这个值的安卓手机将无法运行打包出来的apk。

android.sdk

设置SDK版本。

android.ndk

设置NDK版本。

android.ndk_api

设置使用的NDK API版本,跟android.minapi的值一样。

android.private_storage  

如果设置为True,则表明打包生成的应用在手机上会有一块私有存储空间。Android把外存储分为两块区域,一块是所有应用均可访问的公共空间,另一块是只有应用自己才可访问的私有空间。私有空间只有当前应用才能够读写文件,其他应用不允许进行读写。

android.ndk_path

设置NDK的路径。如果读者的电脑上已经有NDK了,那可以设置这个参数,这样Buildozer就不会再去下载了。当然Buildozer如果已经下载过一次,那之后打包时也不会再去下载的。

android.sdk_path

设置SDK的路径。如果读者的电脑上已经有SDK了,那可以设置这个参数,这样Buildozer就不会再去下载了。当然Buildozer如果已经下载过一次,那之后打包时也不会再去下载的。

android.ant_path

设置ANT的路径。如果读者的电脑上已经有ANT了,那可以设置这个参数,这样Buildozer就不会再去下载了。当然Buildozer如果已经下载过一次,那之后打包时也不会再去下载的。

android.skip_update

该参数表示是否跳过更新。如果设置为True,则在打包时不会去更新Android SDK,可以节省很多时间。

android.accept_sdk_license

该参数表示是否接收许可证(license)。如果设置为True,则自动接受许可证中的条款;如果设置为False,则许可证中的条款会在首次运行buildozer时显示(届时需要用户输入y或者N)。

android.apptheme 

用该参数可以设置app主题,如果应用是基于Kivy开发的话,那使用默认的就可以。常见的系统主题请见以下表格。

主题解释
@android:style/Theme.Dialog灰色背景,将一个Activity显示为能话框模式  
@android:style/Theme.NoTitleBar灰色背景,不显示应用程序标题栏
@android:style/Theme.NoTitleBar.Fullscreen灰色背景,不显示应用程序标题栏,并全屏
@android:style/Theme.Light背景为白色
@android:style/Theme.Light.NoTitleBar白色背景并无标题栏
@android:style/Theme.Light.NoTitleBar.Fullscreen白色背景,无标题栏,全屏
@android:style/Theme.Black背景黑色
@android:style/Theme.Black.NoTitleBar黑色背景并无标题栏
@android:style/Theme.Black.NoTitleBar.Fullscreen黑色背景,无标题栏,全屏
@android:style/Theme.Wallpaper用系统桌面为应用程序背景
@android:style/Theme.Wallpaper.NoTitleBar用系统桌面为应用程序背景,且无标题栏
@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen用系统桌面为应用程序背景,无标题栏,全屏
@android:style/Theme.Translucent半透明
@android:style/Theme.Translucent.NoTitleBar半透明、无标题栏
@android:style/Theme.Translucent.NoTitleBar.Fullscreen半透明、无标题栏、全屏
@android:style/Theme.Panel面板风格显示

android.wakelock

如果设置为True,那该应用在运行时设备不会真正进入休眠状态。比如我们打开的音乐APP在设备灭屏的状态下也会正常播放音乐,不会让设备真正休眠。

如果将android.wakelock设置为True,那要记得在android.permissions参数中加入WAKE_LOCK值。

android.archs

安卓架构,针对不同的机型设置不同的值即可,可以填入的值有:armeabi-v7a, arm64-v8a, x86, x86_64。

android.allow_backup

设置为True的话,允许用户备份系统应用和第三方应用的apk安装包和应用数据,以便在刷机或者数据丢失后恢复应用,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复。

android.backup_rules

通过一个xml文件设置备份规则,读者可以前往这个文档地址查看如何编写。

android.no-compile-pyo

设置为True的话,可以禁止在打包时将py文件编译成pyc或pyo格式,能够减少打包时间,当然代码也更容易泄露。

android.release_artifact

release模式下打包出来的文件格式,可以是aab、apk、aar。

android.debug_artifact

debug模式下打包出来的文件格式,可以是apk或aar。

log_level

设置输出日志的等级。0代表只输出error等级的日志,1代表输出error和info等级的日志,2代表输出error、info和debug等级的日志。

build_dir

设置打包时生成的.buildozer文件夹的路径。

bin_dir

设置打包时生成的bin文件夹路径。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4569972.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

PMI滑块MSB15S、MSB15TS可以替换其他品牌型号吗?

近几年市面上的直线导轨不管是型号还是品牌,都是非常多的。参差不齐,不同的公司生产出来的直线导轨,在型号上都由不同的字母来进行组合,因此市面上的型号才会那么多,虽然在型号上一般不相同,但是&#xff0…

HGH30CA、HGH30HA、HGH35CA、HGH35HA、HGH45HA等可以替换吗?

随着经济的持续发展,目前,市场上对直线导轨的需求越来越大,小到抽屉,大到自动化设备,我们都能看到它的身影,那么直线导轨究竟用在哪些设备上呢?下面我们简单来看下! 例如&#xff1a…

TRH15VL、TRH20VL、TRH20VE、TRH25VE、TRH30VE直线导轨型号替换

市场上有很多的线性滑轨厂家,那么我们该如何面对这么多的线型滑轨厂家来选择优质耐用的线性滑轨呢? 很多人都会选择知名品牌,有保障!但是知名品牌价格贵,交货期长。这时候就可以考虑一下用别的品牌进行替换。 我们在选…

求面积差(c++)

题目描述: 如下图所示,大的正方形边长为4cm,小的正方形边长为2cm。求出图中阴影面积的差。 输入格式: 如题 输出格式: 一个实数,保留4位小数。 样例输入: 无样例输出: 无提示: π取值为3.1415926 时间限制: 1000ms 空间限制: 256MB …

【信息学奥赛】2073:【例2.16 】三角形面积(C++)

今天来让我们来继续分析信息学奥赛一本通的第四十三题,也就是要按照题目的要求利用海伦公式求出三角形面积。(并且,看了我的文章的人只有少数人点了赞,如果你觉得我写的好,或对你有帮助的话,请点赞&#xf…

数据库连接池到底应该设置多大?响应时间从 100ms 优化到 3ms!

>>号外:关注“Java精选”公众号,回复“2021面试题”,领取免费资料!“Java精选面试题”小程序,3000 道面试题在线刷,最新、最全 Java 面试题!我在研究HikariCP(一个数据库连接池…

LeetCode 1292. 元素和小于等于阈值的正方形的最大边长(DP)

1. 题目 给你一个大小为 m x n 的矩阵 mat 和一个整数阈值 threshold。 请你返回元素总和小于或等于阈值的正方形区域的最大边长; 如果没有这样的正方形区域,则返回 0 。 示例 1: 输入:mat [[1,1,3,2,4,3,2],[1,1,3,2,4,3,2],[…

图片播放器的实现

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 一、开始动手写代码 1、Makefile介绍 (1)这是一个通用的项目管理的Makefile体系,自己写的(有子文件夹组织的)项目可以直接套用这套Makef…