Commit 08aa26b928592bbd7f1661e2bffa57459175062b
1 parent
6c476972
1.Android 13 存储权限适配
Showing
9 changed files
with
37 additions
and
26 deletions
app/build.gradle
| @@ -5,11 +5,12 @@ static def stringValue(def value) { | @@ -5,11 +5,12 @@ static def stringValue(def value) { | ||
| 5 | } | 5 | } |
| 6 | 6 | ||
| 7 | android { | 7 | android { |
| 8 | - compileSdkVersion 29 | 8 | + compileSdkVersion 33 |
| 9 | + buildToolsVersion = '30.0.3' | ||
| 9 | defaultConfig { | 10 | defaultConfig { |
| 10 | applicationId "com.cnlive.strike" | 11 | applicationId "com.cnlive.strike" |
| 11 | minSdkVersion 18 | 12 | minSdkVersion 18 |
| 12 | - targetSdkVersion 29 | 13 | + targetSdkVersion 33 |
| 13 | versionCode 1 | 14 | versionCode 1 |
| 14 | versionName "1.0" | 15 | versionName "1.0" |
| 15 | testInstrumentationRunner "android.test.runner.AndroidJUnitRunner" | 16 | testInstrumentationRunner "android.test.runner.AndroidJUnitRunner" |
| @@ -63,12 +64,9 @@ android { | @@ -63,12 +64,9 @@ android { | ||
| 63 | javaMaxHeapSize '4g' | 64 | javaMaxHeapSize '4g' |
| 64 | } | 65 | } |
| 65 | compileOptions { | 66 | compileOptions { |
| 66 | - sourceCompatibility = 1.8 | ||
| 67 | - targetCompatibility = 1.8 | 67 | + sourceCompatibility JavaVersion.VERSION_1_8 |
| 68 | + targetCompatibility JavaVersion.VERSION_1_8 | ||
| 68 | } | 69 | } |
| 69 | - | ||
| 70 | - | ||
| 71 | - buildToolsVersion = '29.0.2' | ||
| 72 | } | 70 | } |
| 73 | 71 | ||
| 74 | dependencies { | 72 | dependencies { |
build.gradle
| @@ -8,7 +8,7 @@ buildscript { | @@ -8,7 +8,7 @@ buildscript { | ||
| 8 | 8 | ||
| 9 | } | 9 | } |
| 10 | dependencies { | 10 | dependencies { |
| 11 | - classpath 'com.android.tools.build:gradle:3.5.1' | 11 | + classpath 'com.android.tools.build:gradle:3.3.2' |
| 12 | classpath "com.alibaba:arouter-register:1.0.2" | 12 | classpath "com.alibaba:arouter-register:1.0.2" |
| 13 | // NOTE: Do not place your application dependencies here; they belong | 13 | // NOTE: Do not place your application dependencies here; they belong |
| 14 | // in the individual module build.gradle files | 14 | // in the individual module build.gradle files |
| @@ -44,10 +44,10 @@ ext { | @@ -44,10 +44,10 @@ ext { | ||
| 44 | versionCode = versionMajor * 1000 + versionMinor * 100 + versionPatch * 10 + versionBuild | 44 | versionCode = versionMajor * 1000 + versionMinor * 100 + versionPatch * 10 + versionBuild |
| 45 | versionName = "${versionMajor}.${versionMinor}.${versionPatch}.${versionBuild}" | 45 | versionName = "${versionMajor}.${versionMinor}.${versionPatch}.${versionBuild}" |
| 46 | 46 | ||
| 47 | - compileSdkVersion = 28 | 47 | + compileSdkVersion = 33 |
| 48 | buildToolsVersion = "28.0.3" | 48 | buildToolsVersion = "28.0.3" |
| 49 | minSdkVersion = 18 | 49 | minSdkVersion = 18 |
| 50 | - targetSdkVersion = 27 | 50 | + targetSdkVersion = 33 |
| 51 | 51 | ||
| 52 | //support 相关 | 52 | //support 相关 |
| 53 | supportV4 = '28.0.0' | 53 | supportV4 = '28.0.0' |
config.gradle
gradle.properties
| @@ -11,10 +11,9 @@ org.gradle.jvmargs=-Xmx1536m | @@ -11,10 +11,9 @@ org.gradle.jvmargs=-Xmx1536m | ||
| 11 | # This option should only be used with decoupled projects. More details, visit | 11 | # This option should only be used with decoupled projects. More details, visit |
| 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects | 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects |
| 13 | # org.gradle.parallel=true | 13 | # org.gradle.parallel=true |
| 14 | -# AndroidX package structure to make it clearer which packages are bundled with the | ||
| 15 | -# Android operating system, and which are packaged with your app's APK | ||
| 16 | -# https://developer.android.com/topic/libraries/support-library/androidx-rn | 14 | +#android.useAndroidX=true |
| 15 | +#android.enableJetifier=true | ||
| 16 | +android.injected.testOnly=false | ||
| 17 | android.useAndroidX=true | 17 | android.useAndroidX=true |
| 18 | -# Automatically convert third-party libraries to use AndroidX | ||
| 19 | android.enableJetifier=true | 18 | android.enableJetifier=true |
| 20 | 19 |
gradle/wrapper/gradle-wrapper.properties
| 1 | -#Tue Aug 27 10:06:28 CST 2019 | 1 | +#Mon May 06 14:30:22 CST 2019 |
| 2 | distributionBase=GRADLE_USER_HOME | 2 | distributionBase=GRADLE_USER_HOME |
| 3 | distributionPath=wrapper/dists | 3 | distributionPath=wrapper/dists |
| 4 | zipStoreBase=GRADLE_USER_HOME | 4 | zipStoreBase=GRADLE_USER_HOME |
| 5 | zipStorePath=wrapper/dists | 5 | zipStorePath=wrapper/dists |
| 6 | -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip | 6 | +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip |
module_xiaojiaSoundBox/build.gradle
| @@ -6,12 +6,12 @@ static def stringValue(def value) { | @@ -6,12 +6,12 @@ static def stringValue(def value) { | ||
| 6 | } | 6 | } |
| 7 | 7 | ||
| 8 | android { | 8 | android { |
| 9 | - compileSdkVersion 28 | ||
| 10 | - | 9 | + compileSdkVersion 33 |
| 10 | + buildToolsVersion = '30.0.3' | ||
| 11 | 11 | ||
| 12 | defaultConfig { | 12 | defaultConfig { |
| 13 | minSdkVersion 18 | 13 | minSdkVersion 18 |
| 14 | - targetSdkVersion 28 | 14 | + targetSdkVersion 33 |
| 15 | versionCode 1 | 15 | versionCode 1 |
| 16 | versionName "1.0" | 16 | versionName "1.0" |
| 17 | 17 |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/activity/ShareFriendActivity.java
| @@ -8,6 +8,8 @@ import android.graphics.Bitmap; | @@ -8,6 +8,8 @@ import android.graphics.Bitmap; | ||
| 8 | import android.graphics.BitmapFactory; | 8 | import android.graphics.BitmapFactory; |
| 9 | import androidx.core.content.ContextCompat; | 9 | import androidx.core.content.ContextCompat; |
| 10 | import androidx.appcompat.app.AppCompatActivity; | 10 | import androidx.appcompat.app.AppCompatActivity; |
| 11 | + | ||
| 12 | +import android.os.Build; | ||
| 11 | import android.os.Bundle; | 13 | import android.os.Bundle; |
| 12 | import android.util.Base64; | 14 | import android.util.Base64; |
| 13 | import android.view.View; | 15 | import android.view.View; |
| @@ -118,8 +120,15 @@ import java.io.ByteArrayOutputStream; | @@ -118,8 +120,15 @@ import java.io.ByteArrayOutputStream; | ||
| 118 | .withActivity(this) | 120 | .withActivity(this) |
| 119 | .getPermissions(this | 121 | .getPermissions(this |
| 120 | , 100 | 122 | , 100 |
| 121 | - , Manifest.permission.WRITE_EXTERNAL_STORAGE | ||
| 122 | - , Manifest.permission.READ_EXTERNAL_STORAGE | 123 | + , Build.VERSION.SDK_INT >= 33 ? |
| 124 | + new String[]{ | ||
| 125 | + Manifest.permission.READ_MEDIA_IMAGES, | ||
| 126 | + Manifest.permission.READ_MEDIA_AUDIO, | ||
| 127 | + Manifest.permission.READ_MEDIA_VIDEO, | ||
| 128 | + Manifest.permission.WRITE_EXTERNAL_STORAGE} : | ||
| 129 | + new String[]{ | ||
| 130 | + Manifest.permission.READ_EXTERNAL_STORAGE, | ||
| 131 | + Manifest.permission.WRITE_EXTERNAL_STORAGE} | ||
| 123 | ); | 132 | ); |
| 124 | } | 133 | } |
| 125 | 134 |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/util/utilcode/constant/PermissionConstants.java
| @@ -63,9 +63,15 @@ public final class PermissionConstants { | @@ -63,9 +63,15 @@ public final class PermissionConstants { | ||
| 63 | permission.SEND_SMS, permission.RECEIVE_SMS, permission.READ_SMS, | 63 | permission.SEND_SMS, permission.RECEIVE_SMS, permission.READ_SMS, |
| 64 | permission.RECEIVE_WAP_PUSH, permission.RECEIVE_MMS, | 64 | permission.RECEIVE_WAP_PUSH, permission.RECEIVE_MMS, |
| 65 | }; | 65 | }; |
| 66 | - private static final String[] GROUP_STORAGE = { | ||
| 67 | - permission.READ_EXTERNAL_STORAGE, permission.WRITE_EXTERNAL_STORAGE, | ||
| 68 | - }; | 66 | + private static final String[] GROUP_STORAGE = Build.VERSION.SDK_INT >= 33 ? |
| 67 | + new String[]{ | ||
| 68 | + Manifest.permission.READ_MEDIA_IMAGES, | ||
| 69 | + Manifest.permission.READ_MEDIA_AUDIO, | ||
| 70 | + Manifest.permission.READ_MEDIA_VIDEO, | ||
| 71 | + Manifest.permission.WRITE_EXTERNAL_STORAGE} : | ||
| 72 | + new String[]{ | ||
| 73 | + Manifest.permission.READ_EXTERNAL_STORAGE, | ||
| 74 | + Manifest.permission.WRITE_EXTERNAL_STORAGE}; | ||
| 69 | 75 | ||
| 70 | @StringDef({CALENDAR, CAMERA, CONTACTS, LOCATION, MICROPHONE, PHONE, SENSORS, SMS, STORAGE,}) | 76 | @StringDef({CALENDAR, CAMERA, CONTACTS, LOCATION, MICROPHONE, PHONE, SENSORS, SMS, STORAGE,}) |
| 71 | @Retention(RetentionPolicy.SOURCE) | 77 | @Retention(RetentionPolicy.SOURCE) |
settings.gradle