首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >android应用程序不能在版本9和更高版本中安装

android应用程序不能在版本9和更高版本中安装
EN

Stack Overflow用户
提问于 2021-02-12 21:09:59
回答 2查看 53关注 0票数 0

大家好,请注意,我创建的应用程序不能在android版本9,10和11上运行。

我在较低的版本上测试了这个应用程序,它工作得很好,但当在版本9,10或11上测试时,应用程序总是崩溃

如果我的问题得到回答,我真的很感激。谢谢

下面是我的build.gradle文件

代码语言:javascript
运行
AI代码解释
复制
plugins {
id 'com.android.application'
id 'com.google.gms.google-services'
id 'com.google.firebase.crashlytics'
}


compileSdkVersion 30
buildToolsVersion "30.0.2"

defaultConfig {
    applicationId "com.example.myrevisedlawcoursesapp300level"
    minSdkVersion 19
    targetSdkVersion 30
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    signingConfig signingConfigs.release
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release

    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

`}

`依赖关系{

代码语言:javascript
运行
AI代码解释
复制
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'com.android.support:multidex:2.0.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.gms:play-services-ads:19.7.0'
implementation 'com.google.firebase:firebase-crashlytics'
implementation 'com.google.firebase:firebase-analytics'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

}`

我的日志中的错误消息。虽然我看不到任何线索

代码语言:javascript
运行
AI代码解释
复制
02-13 07:21:45.075 308-308/? A/DEBUG: Tombstone written to: /data/tombstones/tombstone_01
02-13 07:22:09.934 30407-30420/? A/libc: Fatal signal 7 (SIGBUS), code 1, fault addr 0xc0011 in tid 30420 (Compiler driver)

02-13 07:22:10.038 308-308/?A/DEBUG:*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

02-13 07:22:10.039 308-308/? A/DEBUG: Build fingerprint: 'TCL/5056I/POP455C:6.0.1/MMB29M/vHAJ9-0:user/release-keys' 02-13 07:22:10.039 308-308/? A/DEBUG: Revision: '0' 02-13 07:22:10.039 308-308/? A/DEBUG: ABI: 'arm' 02-13 07:22:10.039 308-308/? A/DEBUG: pid: 30407, tid: 30420, name: Compiler driver >>> /system/bin/dex2oat <<< 02-13 07:22:10.039 308-308/? A/DEBUG: signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0xc0011 02-13 07:22:10.051 308-308/? A/DEBUG: r0 b1c6004c r1 ffff0006 r2 000c0001 r3 ffff0006 02-13 07:22:10.051 308-308/? A/DEBUG: r4 b1c45638 r5 b1c639ec r6 b1c63af0 r7 00250000 02-13 07:22:10.051 308-308/? A/DEBUG: r8 b1c63958 r9 ffffffff sl b1c63950 fp b1c6395c 02-13 07:22:10.051 308-308/? A/DEBUG: ip b1e522f6 sp b1e522e8 lr b1c60a18 pc b6c56904 cpsr 20070030 02-13 07:22:10.087 308-308/? A/DEBUG: backtrace: 02-13 07:22:10.087 308-308/? A/DEBUG: #00 pc 000e7904 /system/lib/libart-compiler.so (_ZN3art19LocalValueNumbering16HandleInvokeArgsEPKNS_3MIREPKS0_+199) 02-13 07:22:10.087 308-308/? A/DEBUG: #01 pc 000eac3d /system/lib/libart-compiler.so (_ZN3art19LocalValueNumbering14GetValueNumberEPNS_3MIRE+608) 02-13 07:22:10.088 308-308/? A/DEBUG: #02 pc 001badb3 /system/lib/libart-compiler.so (_ZN3art8MIRGraph28ApplyGlobalValueNumberingEndEv+186) 02-13 07:22:10.088 308-308/? A/DEBUG: #03 pc 001bcd9b /system/lib/libart-compiler.so (_ZN3art16PassDriverMEOpts9ApplyPassEPNS_14PassDataHolderEPKNS_4PassE+38) 02-13 07:22:10.088 308-308/? A/DEBUG: #04 pc 0016ecbb /system/lib/libart-compiler.so 02-13 07:22:10.088 308-308/? A/DEBUG: #05 pc 0016f4e7 /system/lib/libart-compiler.so (_ZNK3art13QuickCompiler7CompileEPKNS_7DexFile8CodeItemEjNS_10InvokeTypeEtjP8_jobjectRKS1_+1390) 02-13 07:22:10.088 308-308/? A/DEBUG: #06 pc 0031ed97 /system/lib/libart-compiler.so (_ZN3art14TryFastCompileEPNS_14CompilerDriverEPNS_8CompilerEPKNS_7DexFile8CodeItemEjNS_10InvokeTypeEtjP8_jobjectRKS4_+166) 02-13 07:22:10.088 308-308/? A/DEBUG: #07 pc 0025e279 /system/lib/libart-compiler.so (_ZNK3art18OptimizingCompiler7CompileEPKNS_7DexFile8CodeItemEjNS_10InvokeTypeEtjP8_jobjectRKS1_+180) 02-13 07:22:10.088 308-308/? A/DEBUG: #08 pc 001cb7ef /system/lib/libart-compiler.so (_ZN3art14CompilerDriver13CompileMethodEPNS_6ThreadEPKNS_7DexFile8CodeItemEjNS_10InvokeTypeEtjP8_jobjectRKS3_NS_24DexToDexCompilationLevelEb+1818) 02-13 07:22:10.088 308-308/? A/DEBUG: #09 pc 001cc49b /system/lib/libart-compiler.so (_ZN3art14CompilerDriver12CompileClassEPKNS_26ParallelCompilationManagerEj+1954) 02-13 07:22:10.088 308-308/? A/DEBUG: #10 pc 001c2c95 /system/lib/libart-compiler.so 02-13 07:22:10.088 308-308/? A/DEBUG: #11 pc 00347e11 /system/lib/libart.so (_ZN3art16ThreadPoolWorker3RunEv+256) 02-13 07:22:10.089 308-308/? A/DEBUG: #12 pc 00348449 /system/lib/libart.so (_ZN3art16ThreadPoolWorker8CallbackEPv+52) 02-13 07:22:10.089 308-308/? A/DEBUG: #13 pc 0004169b /system/lib/libc.so (_ZL15__pthread_startPv+30) 02-13 07:22:10.089 308-308/? A/DEBUG: #14 pc 00019275 /system/lib/libc.so (__start_thread+6) 02-13 07:22:10.366 308-308/? A/DEBUG: Tombstone written to: /data/tombstones/tombstone_09 02-13 09:06:16.369 8032-8032/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.tcl.antivirus, PID: 8032 java.lang.RuntimeException: Unable to start receiver com.antivirus.ui.privacy.PrivacyAlarmReceiver: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.CallLogProvider from ProcessRecord{6dab055 8032:com.tcl.antivirus/u0a88} (pid=8032, uid=10088) requires android.permission.READ_CALL_LOG or android.permission.WRITE_CALL_LOG at android.app.ActivityThread.handleReceiver(ActivityThread.java:2732) at android.app.ActivityThread.access$1800(ActivityThread.java:150) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.CallLogProvider from ProcessRecord{6dab055 8032:com.tcl.antivirus/u0a88} (pid=8032, uid=10088) requires android.permission.READ_CALL_LOG or android.permission.WRITE_CALL_LOG at android.os.Parcel.readException(Parcel.java:1620) at android.os.Parcel.readException(Parcel.java:1573) at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:3572) at android.app.ActivityThread.acquireProvider(ActivityThread.java:4778) at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2018) at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1471) at android.content.ContentResolver.query(ContentResolver.java:477) at android.content.ContentResolver.query(ContentResolver.java:435) at com.antivirus.i.a(Unknown Source) at com.antivirus.privacy.e.b(Unknown Source) at com.antivirus.privacy.e.a(Unknown Source) at com.antivirus.ui.privacy.PrivacyAlarmReceiver.a(Unknown Source) at com.antivirus.ui.privacy.PrivacyAlarmReceiver.onReceive(Unknown Source) at android.app.ActivityThread.handleReceiver(ActivityThread.java:2725) at android.app.ActivityThread.access$1800(ActivityThread.java:150)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method) 

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-25 16:33:02

我直接在使用android版本9的手机上测试了这个应用程序,错误是我将一张图片添加到了错误的资源目录中。因此,我将图片的位置从mipmap更改为drawable

感谢你的帮助

票数 0
EN

Stack Overflow用户

发布于 2021-02-15 01:16:38

这里有一个权限问题,在低版本的Android中,当你安装应用程序时,它会保证所有的权限,但在最新的Android API中,你必须在运行时请求权限,如果你不这样做,例如尝试读取应用程序的存储信息,那么你的应用程序将崩溃

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66179057

复制
相关文章
React技巧之将CSS作为props传递
原文链接:https://bobbyhadz.com/blog/react-pass-style-as-props-typescript[1]
chuckQu
2022/08/19
2.6K0
React技巧之将CSS作为props传递
React技巧之将函数作为props传递
原文链接:https://bobbyhadz.com/blog/react-typescript-pass-function-as-prop[1]
chuckQu
2022/08/19
1K0
React技巧之将函数作为props传递
C++返回vector/将vector作为参数传递
在C++里很多时候我们会遇到函数想返回两个以上结果的情况,这时候可以用数组(vector)、类来作为容器返回,也可以声明一个全局变量的数组,将数值存放在数组里解决。
vincentbbli
2021/08/18
5.6K0
Vue 中,如何将函数作为 props 传递给组件
作者:Michael Thiessen 译者:前端小智 来源:medium 点赞再看,养成习惯本文 GitHub https://github.com/qq44924588... 上已经收录,更多往
前端小智@大迁世界
2020/05/18
8.4K0
Powershell中的变量
在我们的迷你系列“Variables in Shells”中,了解如何在PowerShell中处理局部变量。
QRosie
2019/11/24
3.1K0
Powershell中的变量
为什么将Salesforce作为你的职业选择
Salesforce提供功能完善的销售,市场,服务,协同,安全以及分析功能,同时你还可以在Salesforce1的平台上创建自己的解决方案。Salesforce适合从初创企业到世界500强的不同规模企业使用。
臭豆腐
2019/04/16
8950
为什么将Salesforce作为你的职业选择
Python 函数作为参数传递
#map()的功能是将函数对象依次作用于表的每一个元素,每次作用的结果储存于返回的表re中。 #map通过读入的函数(这里是lambda函数)来操作数据 def test_func_map():     re = map((lambda x: x+3), [1, 2, 3, 4])     print re def testA(a, b, **kargs):     print a+b     print "testA: %s" % kargs #函数作为参数传递 def test_func(func, a, b, **kargs):     func(a, b)     print "test_func: %s" % kargs #函数作为参数传递 def test_func_lambda(func, **kargs):     func()     print "test_func_lambda: %s" % kargs def test_func_getattr():     func = getattr(obj, "testA")     func(1, 2) class TestGetattr():     aa = "2a"     def get_attr(self):         print "test getattr()"     def print_text(self):         print "print text"     def print_string(self):         print "print string" #getattr(obj, "a")的作用和obj.a是一致的,但该方法还有其他的用处,最方便的就是用来实现工厂方法 #根据传入参数不同,调用不同的函数实现几种格式的输出 def output(print_type="text"):     tg = TestGetattr()     output_func = getattr(tg, "print_%s" % print_type)     output_func() if __name__ == "__main__":     #test_func(testA, 1, 2, aa="aa")     #test_func_lambda((lambda: testA(1, 2, bb="bb")), cc="cc")     #test_func_map()     #test_func_getattr()     #getattr方法,传入参数是对象和该对象的函数或者属性的名字,返回对象的函数或者属性实例     obj = TestGetattr()     func = getattr(obj, "get_attr") #getattr()获得对象的属性和方法     func()     print getattr(obj, "aa") #完成对象的反射     print obj.aa     #callable方法,如果传入的参数是可以调用的函数,则返回true,否则返回false。     print callable(getattr(obj, "aa"))     output("string")
py3study
2020/01/09
3.1K0
选择篇(094)-哪个选项是将hasName设置为true的方法,前提是不能将true作为参数传递?
使用逻辑非运算符!,将返回一个布尔值,使用!! name,我们可以确定name的值是真的还是假的。如果name是真实的,那么!name返回false。 !false返回true。
齐丶先丶森
2022/12/05
2.2K0
临时变量作为非const的引用进行参数传递引发的编译错误
Linux环境运行,使用g++编译,观察如下代码,会出现: invalid initialization of non-const reference of type ‘std::string&’ from a temporary of type ‘std::string’的错误。
恋喵大鲤鱼
2018/08/03
2.6K0
Go-函数作为参数传递
编码过程中业务需要将一个函数,作为参数传递到函数内部。Go 语言的匿名函数是一个闭包(Closure)
王小明_HIT
2023/03/01
1.7K0
Go-函数作为参数传递
python argparse 无法传递bool
在使用argparse时发现无法传递bool型变量,无论命令行输入True还是False,解析出来之后都是True,代码如下
羽翰尘
2019/11/19
1.7K0
shell 循环变量传递问题
定义为环境变量没有用的,环境变量只是在子进程创建的时候可以从父进程复制到子进程,它无法实现从子进程往父进程传递,也不能在子进程运行期间从父进程获得新值。
全栈程序员站长
2022/09/15
9840
通过 JavaScrpit 传递 Post 变量
使用 Get 方式方式传递变量会把 URL 搞得很长,而且 IE 会对长度有限制,所以最好的方式还是通过 Post 方式来传递变量。但是通过 Post 来传递变量的时候一定要有个表单,很多时候页面上并没有表单,所以这个时候可以隐藏表单,然后通过 JavaScript 来提交表单。下面是个隐藏表单的例子:
Denis
2023/04/13
7230
linux/bash:map作为参数传递给function
在linux bash中map是作为数组处理的,不能作为参数直接传递函数,如果一定要传递给函数,要做一些变通处理,示例如下:
10km
2019/08/14
2.7K0
【Python】函数进阶 ③ ( 函数作为参数传递 )
之前介绍的函数 , 都是 接收具体的 变量 或 字面量 数据 作为参数 , 如 : 数字 / 布尔值 / 字典 / 列表 / 元组 等 ;
韩曙亮
2023/10/11
5460
【Python】函数进阶 ③ ( 函数作为参数传递 )
PowerShell: 作为一个PowerShell菜鸟,如何快速入门?掌握这些就够了「建议收藏」
可能大家看到这个标题要说我是标题党了,不过没关系了。这篇文章算是我的处女作,所以再怎么花哨我都不觉得过分。好啦,废话不多讲。
全栈程序员站长
2022/11/01
5.1K0
PowerShell: 作为一个PowerShell菜鸟,如何快速入门?掌握这些就够了「建议收藏」
Python 模块之间传递变量
最近在做实验时发现个问题,我想在一个模块中调用另一个模块的变量,首先想到了用return 
py3study
2020/01/10
3.8K0
『debug心路』powershell 中无法激活 conda 环境
工作需求原因,拿到一台新电脑,首先需要安装 python 。一般地,我用 conda 管理自己的 python 环境。
Piper蛋窝
2021/02/12
4.8K0
『debug心路』powershell 中无法激活 conda 环境
将PowerShell脚本编码到PNG文件
Invoke-PSImage接收一个PowerShell脚本,并将脚本的字节编码为PNG图像的像素。它生成一个oneliner,用于从文件或从网络上执行。
Khan安全团队
2021/03/10
1.4K0
下篇1:将 ConfigMap 中的键值对作为容器的环境变量
继续接上篇,《一文了解K8S的ConfigMap》。上篇聊过,官方文档中提到的可以使用下面4种方式来使用 ConfigMap 配置 Pod 中的容器:
不背锅运维
2023/05/26
2.3K0
下篇1:将 ConfigMap 中的键值对作为容器的环境变量

相似问题

将PowerShell变量作为cmdlet参数传递

45

Powershell -无法将变量传递给commandlet

118

将path作为powershell脚本中的变量传递

20

将组合框选择作为变量传递?

31

将变量作为Powershell中的开关参数传递

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档