我的移动应用程序在Android 5.1(API 22)上运行良好。升级到Android 9.0 Pie(Andoid 28)后,我可以构建我的APK(构建成功),但是在移动设备上启动应用程序时,访问身份验证屏幕后它将崩溃。问题似乎与转换有关:启动MenuDrawer类以在屏幕上显示Google Map后,“索引2到维的值:类型= 0x1c”。
我试图在gradle中更新构建工具版本,并测试了另一个移动版但相同的问题。
尝试了什么:
显示梯度移动:
apply plugin: 'com.android.application'
android {
//compileSdkVersion 22
compileSdkVersion 28
defaultConfig {
applicationId "ant.h2h.feelsafe"
minSdkVersion 21
// net.simonvt needs android.util.floatmath which has been removed since API 23
targetSdkVersion 28
multiDexEnabled true
versionCode 16
versionName "3.15"
}
signingConfigs {
release {
storeFile file("h2h-feelsafe-free.keystore")
storePassword "feelsafe!"
keyAlias "h2h_free"
keyPassword "feelsafe!"
}
}
buildTypes {
release {
minifyEnabled true
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
// reduce apk size by not loading libraries translation and resources we do not even support in
// our app.
defaultConfig {
resConfigs "en", "de", "fr", "it"
}
splits {
density {
enable true
exclude "tvdpi", "xxxhdpi"
compatibleScreens 'small', 'normal', 'large'
}
// TODO: use something up to date (see Referent.java)
//useLibrary 'org.apache.http.legacy'
}
// Local binary dependencies
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
wearApp project(':wear')
implementation 'com.google.android.gms:play-services:10.2.1'
implementation 'com.kbeanie:image-chooser-library:1.3.52@aar'
implementation 'net.simonvt.menudrawer:menudrawer:3.0.6'
implementation 'com.google.android.gms:play-services-ads:10.2.1'
implementation 'com.google.android.gms:play-services-identity:10.2.1'
implementation 'com.google.android.gms:play-services-gcm:10.2.1'
implementation 'com.google.android.gms:play-services-maps:10.2.1'
implementation 'com.google.firebase:firebase-core:10.2.1'
}
buildToolsVersion '28.0.3'
}
apply plugin: 'com.google.gms.google-services'
// Remote binary dependencies
dependencies {
implementation files('libs/httpcore-4.3.jar')
implementation files('libs/httpclient-4.2.3.jar')
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
答案 0 :(得分:0)
该问题似乎出在您使用的菜单抽屉库中。我查看了他们的问题页面,发现有一个开放的问题,几个人都遇到相同的错误。
https://github.com/SimonVT/android-menudrawer/issues/270
我还检查了您的图片选择器库,并且他们的问题页面没有对此错误的任何引用。
另外,您的gradle文件包含以下行:
// net.simonvt需要android.util.floatmath,该API自API 23以来已被删除。
这是指您的菜单抽屉库。 我不知道这是故意的还是粘贴的片段,但您也应该对此进行研究。如果您将targetdk设置为高于23,则您的库将无法使用已删除的api。
给所有人的提示:如果更新sdk版本后代码中断,并且在代码中找不到任何问题,请检查所使用的库是否与较新版本兼容。并且不要忘记查看github上的Issues页面。