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

news2024/11/13 23:16:00

目录

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.coloradmin.cn/o/171834.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】基础:线程的概念

【Linux】基础:线程的概念 摘要:本文介绍Linux下的线程概念,首先将会线程在系列教材中的定义进行抛出,从常规的操作系统进行理解线程的概念,在具体说明Linux下的进线程的管理与组织方式,以及由于该组织方式…

2022年度笔记本十大热门品牌销量排行榜

近年来,由于大环境的改变,线上教育、线上办公等的需求使得平板电脑出货量逐步提升。同时,5G时代来临,万物互联是未来的趋势,手机由于操作系统和交互上的局限性,笔记本电脑将会扮演更加重要的角色。未来&…

Arduino开发ESP8266连接无线路由器

实现ESP8266连接一个WIFI路由器ESP8266选择多个路由器中信号将强的进行连接源代码如下/* ESP8266模块连接网络实验1、代码段1实现连接无线路由器实验2、代码段2实现esp8266搜索已存在网络中质量较好的并进行连接*/#include <ESP8266WiFi.h> // 提供 Wi-Fi 功能的库#inclu…

监控安防人员入门基础

1、 决定视频流畅程度的是以下哪个属性&#xff1f; A、分辨率 B、率上限 C、帧率 D、编码方式 题解&#xff1a;一幅完整的视频画面为一帧&#xff0c;每秒显示的帧的数目为帧率&#xff0c;帧率越高&#xff0c;视频更流畅。因此答案是&#xff1a;C 2、 关于图像分辨率和…

solr业务域配置

SolrSolr作为一个Java开发的高性能&#xff0c;用于对查询性能进行优化的全文搜索服务器&#xff0c;它的使用需要配置业务域&#xff1a;第一步是添加中文分析器上传中文分析器并解压&#xff0c;复制jar包到solr的lib文件夹下&#xff1a;cp IKAnalyzer2012FF_u1.jar /usr/lo…

FA-PEG-DBCO,DBCO-PEG-Folate,叶酸聚乙二醇环辛炔

●中文名&#xff1a;叶酸聚乙二醇环辛炔&#xff0c;叶酸聚乙二醇二苯基环辛炔&#xff0c;DBCO-PEG-叶酸 ●英文名&#xff1a;FA-PEG-DBCO &#xff0c; Folate-PEG-DBCO&#xff0c;DBCO-PEG- FA&#xff0c;DBCO-PEG-Folate&#xff0c;DBCO-PEG- Folic acid ●外观以及…

使用集简云将UpTimer同步到Notion

使用UpTimer同步到Notion 对于集简云我们应当非常熟悉了&#xff0c;之前讲过很多流程啦~ 利用集简云将Notion数据库更新订阅到Outlook和微信[1] 【干货分享】集简云 2步轻松定制个人RSS阅读器 |高效获取信息[2] 释放双手|自动化NOTION的最佳平台推荐|NOTION同步滴答清单|懒人[…

【人工智能原理自学】高维空间:机器如何面对越来越复杂的问题

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;笔记来自B站UP主Ele实验室的《小白也能听懂的人工智能原理》。 &#x1f514;本文讲解高维空间&#xff1a;机器如何面对越来越复杂的问题&#xff0c;一起卷起来叭&#xff01…

使用TortoiseGit同步项目到GitHub简单教程

1.TortoiseGit简介与安装 TortoiseGit是Git的Windows桌面可视化工具&#xff0c;通过软件的操作来实现git命令的效果&#xff0c;对git小白较友好。TortoiseGit可以通过官网https://tortoisegit.org/下载&#xff0c;下载之后即可按照普通软件的方式进行安装&#xff0c;每一步…

Could not find a version that satisfies the requriement xxx

Could not find a version that satisfies the requriement xxx1. 场景描述2. 解决办法2.1 升级pip2.2 更换镜像源2.3 查询所有安装的模块3.Awakening1. 场景描述 使用python自带的pip安装一些包时&#xff0c;总是会报以下错误 使用yum也会报一些错&#xff0c;反正就是装不上…

Windows10彻底关闭自动更新

文章目录前言无赖步骤关闭自动更新服务关闭自动更新策略效果总结前言 在写这篇总结之前&#xff0c;我已经尝试过多次关闭Win10的自动更新了&#xff0c;一般来说更新之后可以使操作系统更加健壮&#xff0c;但总会有一些原因让我们不想更新&#xff0c;比如我最近总是需要远程…

110、【树与二叉树】leetcode ——669. 修剪二叉搜索树:递归法(C++版本)

题目描述 解题思路 大题思路类似于 450.删除二叉搜索树中的节点&#xff08;递归法迭代法&#xff09; &#xff0c;区别在于删除的是某一区域的节点值&#xff0c;并且要保留区域内部的节点值。 对于第一次找到结点值小于low的情况&#xff0c;有两种&#xff1a;&#xff08…

【JavaWeb】HTML零基础入门

✨哈喽&#xff0c;进来的小伙伴们&#xff0c;你们好耶&#xff01;✨ &#x1f6f0;️&#x1f6f0;️系列专栏:【JavaWeb】 ✈️✈️本篇内容:HTML基础语法详解&#xff0c;附带综合案例。 &#x1f680;&#x1f680;代码托管平台github&#xff1a;JavaWeb代码存放仓库&am…

Python实战项目2——自动获取酷狗音乐工具

&#x1f935;‍♂️ 个人主页老虎也淘气 个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f44d;&#x1f3fb; 收藏…

vueJs中readonly与shallowReadonly函数的使用比较

01readonly()函数让一个响应式数据变为只读的,接收一个响应式数据,经过readonly加工处理一下,那么新赋值的数据都不允许修改接受一个对象 (不论是响应式还是普通的) 或是一个 ref&#xff0c;返回一个原值的只读代理页面没有更新有两种情况[1]. 数据修改了,但数据不是响应式,vu…

自主可控!万应低代码通过华为鲲鹏、麒麟等多项国产化认证及国家信息安全等级保护三级备案证明

01 万应低代码通过信息系统安全等级保护三级备案证明 凭借过硬的技术能力及完善的信息安全管理体系&#xff0c;万应低代码顺利通过“信息系统安全等级保护三级测评”&#xff08;简称&#xff1a;等保三级&#xff09;&#xff0c;正式获得由公安部核准颁发的“信息系统安全等…

Probabilistic Volumetric Fusion for Dense Monocular SLAM

论文标题&#xff1a;Probabilistic Volumetric Fusion for Dense Monocular SLAM 论文链接&#xff1a;https://arxiv.org/pdf/2210.01276.pdf 论文思想 提出了一种新的方法&#xff0c;通过利用深度密集的单眼SLAM和快速不确定性传播&#xff0c;从图像中重建三维场景 所提…

Vue如何高效通过JSX动态渲染组件

一、明确需求 如何渲染动态组件呢&#xff1f; 有一组数组结构如下&#xff1a; const arr [ { tag: van-field },// 输入框{ tag: van-cell }, // 弹出层{ tag: van-stepper } // 步进器 ] 想通过循环arr&#xff0c;拿到tag渲染对应的组件。 下面我们分析如何写才是最优。…

高校数据可视化(智慧校园)

教育数据可视化大屏有哪些内容&#xff1f; 教育数据可视化大屏能够展示和分析很多数据&#xff0c;比如&#xff1a;在校生数据分析、招生数据分析、就业数据分析、教职工数据分析&#xff0c;科研数据分析等综合数据分析。 跟传统的教学不同&#xff0c;现代教育对效果的要求…

03.字符函数和字符串函数

C语言中对字符和字符串的处理很是频繁&#xff0c;但是C语言本身是没有字符串类型的&#xff0c;字符串通常放在 常量字符串中或者字符数组中。字符串常量适用于那些对它不做修改的字符串函数。 1. 函数介绍 1.1 strlen size_t strlen ( const char * str ); ✳字符串以 \0 作…