今天遇到一个错误就是在蒲公英发布新的版本,然后APP检测到有新的就提示更新,但是更新完弹不出安装,闪退
报错信息:
Process: com.kooun.dio.agent, PID: 25841
java.lang.IllegalArgumentException: Couldn't find meta-data for provider with authority com.kooun.dio.agent.fileProvider
一开始以为是权限,但是权限给了呀,怎么琢磨都不会,还是会闪退,最终还是搞定了,哈哈
添加了下面这句话
```javascript
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileProvider"
android:grantUriPermissions="true"
tools:replace="android:authorities"
android:exported="false">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"
tools:replace="android:resource"
/>
</provider>
在project下的build.gradle文件中:
allprojects {
repositories {
jcenter()
maven {
url "https://raw.githubusercontent.com/Pgyer/mvn_repo_pgyer/master" }
}
}
在module下的build.gradle文件中添加依赖
dependencies {
implementation files('libs/pgyer_sdk_3.0.10.jar')
}
清单文件:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileProvider"
android:grantUriPermissions="true"
tools:replace="android:authorities"
android:exported="false">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"
tools:replace="android:resource"
/>
</provider>
<provider
android:name="com.pgyersdk.PgyerProvider"
android:authorities="${applicationId}.com.pgyer.provider"
android:exported="false"/>
<meta-data
android:name="PGYER_APPID"
android:value="" />
更新方法:
//手动申请文件读取权限
public void verifyStoragePermissions() {
int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE);
} else {
checkUpdate();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
int permission = ActivityCompat.checkSelfPermission(this, Manifest