更新weibo sdk(去掉so以适配Android 15的16K Page Size的版本)记录

1、修改模块的gradle

implementation 'io.github.sinaweibosdk:core:13.6.1@aar'

改为

implementation 'io.github.sinaweibosdk:core:13.10.4@aar'

同步、运行报错:

Didn't find class "androidx.core.content.FileProvider"

解决:据此提示判断weibo sdk使用了androidx;我的工程很懒,一般只更新业务代码,但既然要用weibo sdk,所以也必须把那些import android.support.改为使用androidx了

2、引入androidx

implementation 'androidx.core:core:1.13.1'

同步、运行报错:

... contains AndroidX dependencies, but the `android.useAndroidX` property is not enabled ...

解决:就是说还要显式声明一下用androidx, 在gradle.properties增加2行

android.useAndroidX=true
android.enableJetifier=true

同步、运行报错:

Invoke-customs are only supported starting with Android O (--min-api 26)

解决:意即 minSdkVersion 至少26,所以要修改各模块build.gradle里的minSdkVersion

同步、运行报错:

A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction

解决:Build - clean 再重新运行,报错:

... is currently compiled against android-30.

      Recommended action: Update this project to use a newer compileSdk
      of at least 34, for example 34.

解决:修改各模块build.gradle里的compileSdkVersion的值,至少34

同步、运行报错:

... No static method metafactory ...

解决:在模块build.gradle的android {} 里增加

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

同步、运行报错:

Didn't find class "android.support.v4.content.FileProvider"

解决:这个是manifest里有

android:name="android.support.v4.content.FileProvider"

需要改为

android:name="androidx.core.content.FileProvider"

之后就没什么错了。

3、补充

3-1、中途可能还有一些错懒得记录了,一般是java中import 语句例如

import android.support.v4.content.ContextCompat;

要转换为

import androidx.core.content.ContextCompat;

这只是举例,有很多句,有自动转换的菜单;我是手工改的。

3-2、有个webview的语句报错:

setAppCacheEnabled(BOOL),没这个方法了...

暂时注释掉,以后有空解决。

3-3、xml里写死的android.support控件要找一下改掉

例如

<android.support.v4.view.ViewPager ...

改为

<androidx.viewpager.widget.ViewPager ...

3-4、gradle里旧support语句替换

implementation 'com.android.support:support-v4:26.+'
implementation 'com.android.support:appcompat-v7:28.0.0'

替换为

implementation 'androidx.core:core:1.13.1'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))

第3句若不加会报错

相关推荐

  1. Xcode15升级问题记录

    2024-07-19 22:02:04       28 阅读
  2. Android所有版本存储权限

    2024-07-19 22:02:04       36 阅读
  3. Android 14 应用指南

    2024-07-19 22:02:04       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 22:02:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 22:02:04       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 22:02:04       58 阅读
  4. Python语言-面向对象

    2024-07-19 22:02:04       69 阅读

热门阅读

  1. vue3 学习笔记16 -- elementPlus的使用

    2024-07-19 22:02:04       25 阅读
  2. XML 工具类

    2024-07-19 22:02:04       20 阅读
  3. ios CCUIColor.m

    2024-07-19 22:02:04       19 阅读
  4. 掌握图像分类:TensorFlow和Keras模型构建全流程

    2024-07-19 22:02:04       20 阅读
  5. CCF-CSP认证考试 202406-4 货物调度 100分题解

    2024-07-19 22:02:04       22 阅读
  6. 白骑士的PyCharm教学基础篇 1.1 PyCharm简介

    2024-07-19 22:02:04       18 阅读
  7. 从零开始学习嵌入式----数据结构

    2024-07-19 22:02:04       19 阅读
  8. 【笔记-软考】软件架构风格

    2024-07-19 22:02:04       21 阅读
  9. 小一保姆级 python函数基础详解

    2024-07-19 22:02:04       20 阅读