Android 设置apk之间不覆盖安装,7.0版本问题

设置apk不覆盖安装,只需要修改build.gradle中的applicationId即可,

但是在安装7.0以上版本时,

需要把AndroidManifest.xml文件中关于7.0的私有目录配置中的路径修改成和applicationId一样

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="${APP_APPLICATION_FILEPROVIDER}"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths" />
provider>
defaultConfig {
    applicationId APP_APPLICATION_PACKAGE_PATH
    minSdkVersion 19
    targetSdkVersion 28
    versionCode 1.0
    versionName "1.0"
    
    //AndroidManifest 占位符
    manifestPlaceholders = [APP_APPLICATION_FILEPROVIDER: APP_APPLICATION_FILEPROVIDER]
}

buildTypes {
	//BuildConfig常量参数
    release {
        buildConfigField "String", "APP_APPLICATION_FILEPROVIDER", "\"" + APP_APPLICATION_FILEPROVIDER + "\""
    }

    debug {
        buildConfigField "String", "APP_APPLICATION_FILEPROVIDER", "\"" + APP_APPLICATION_FILEPROVIDER + "\""
    }
}
/**
 * 7.0私有目录访问权限
 */
public static final String fileprovider_path = BuildConfig.APP_APPLICATION_FILEPROVIDER;

然后在gradle.properties中设置两个常量参数,就可以全局调用了,

你可能感兴趣的:(Android开发)