当前位置: 首页 > wzjs >正文

响应式布局网站开发北京发生大事了

响应式布局网站开发,北京发生大事了,扬中王老大,鄄城住房和城乡建设局网站背景: app半年前引入了一个第三方aar,过了很久用户反馈崩溃,但是最开始的版本是不崩溃的。使用二分法查找出问题出现的那次提交是引入了一个三方库 宿主app compileSdkVersion 29 targetSdkVersion 28 三方库使用了权限 解决方案 接下来…

背景:

app半年前引入了一个第三方aar,过了很久用户反馈崩溃,但是最开始的版本是不崩溃的。使用二分法查找出问题出现的那次提交是引入了一个三方库

宿主app

compileSdkVersion 29
targetSdkVersion 28

三方库使用了权限

解决方案

接下来的问题就是

android 第三方库AndroidManifest声明了 <uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />权限,会不会合并到主app的AndroidManifest中

答:

在 Android 构建过程中,第三方库(包括 AAR 或依赖库)中声明的 `AndroidManifest.xml` 权限 **会被自动合并到主 APP 的最终清单文件** 中。以下是关键点说明:

---

### 1. **合并机制**
- **默认行为**:通过 Gradle 的 `manifest merger` 工具,所有模块(包括第三方库)的清单文件会被合并到主 APP 的 `AndroidManifest.xml`。
- **权限继承**:如果第三方库声明了 `<uses-permission>`,主 APP 的最终清单会包含这些权限(即使主 APP 未显式声明)。

---

### 2. **验证方式**
- **查看合并结果**:  
  在 `app/build/intermediates/merged_manifests/{variant}/AndroidManifest.xml` 中查看最终合并后的清单文件。
- **Android Studio 工具**:  
  双击主 APP 的 `AndroidManifest.xml`,点击底部 **Merged Manifest** 标签,可直观看到权限来源(如下方红框标注第三方库的权限)。

---

### 3. **特殊情况处理**
如果主 APP **不需要** 这些权限,可通过以下方式移除:
```xml
<!-- 在主 APP 的 AndroidManifest.xml 中添加 -->
<uses-permission
    android:name="android.permission.BLUETOOTH_SCAN"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.BLUETOOTH_CONNECT"
    tools:node="remove" />
```


---

### 4. **注意事项**
- **运行时权限**:  
  `BLUETOOTH_SCAN` 和 `BLUETOOTH_CONNECT` 是 Android 12(API 31)引入的运行时权限,即使清单中声明了,仍需在代码中动态请求:
  ```java
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
      requestPermissions(
          new String[]{
              Manifest.permission.BLUETOOTH_SCAN,
              Manifest.permission.BLUETOOTH_CONNECT
          }, 
          REQUEST_CODE
      );
  }
  ```

- **兼容性**:  
  若主 APP 的 `targetSdkVersion < 31`,系统会忽略这些权限,但 Google Play 上架时仍需声明权限用途。

---

### 总结
| 场景 | 结果 |
|------|------|
| 第三方库声明权限 ✅ | 自动合并到主 APP 清单 ✅ |
| 主 APP 显式移除权限 ✅ | 最终清单中不包含 ❌ | 
| 未动态请求权限 ❌ | 功能无法正常使用 ❌ | 

建议通过 **Merged Manifest** 工具确认最终权限列表,避免冗余权限影响隐私合规性。

http://www.dtcms.com/wzjs/223915.html

相关文章:

  • 网站开发教育类近期新闻事件
  • 网站建设公司业务人员岗位职责工具大全
  • 招聘网站怎么做推广做了5天游戏推广被抓了
  • 本网站建设在美国网络零售的优势有哪些
  • 怎样向搜索引擎提交网站银川网站seo
  • 做公益网站的说明seo助理
  • 手机微信网站怎么做的好seo排名赚app下载
  • 做业务不花钱的网站有哪些谷歌收录查询工具
  • 哪个网络公司比较好北京seo培训
  • 微网站和网站的区别块链友情链接平台
  • 建设银行怎么在网站设置限额神点击恶意点击软件
  • 小说网页设计代码模板网站关键词优化推广
  • 网络营销的网站建设报告周口网络推广哪家好
  • 济宁网站制作公司官网制作开发
  • 如何建设众筹网站厦门百度快速优化排名
  • 为什么建新闻网站百度优化是什么
  • 能免费做微信群推广的网站西安seo盐城
  • 苹果网站用什么做的吗搜索引擎营销案例
  • 瑞安做微网站网页设计工资一般多少
  • 怎么做网站外贸快速搭建网站的工具
  • 济南微信网站制作免费建站哪个网站最好
  • 国家网站备案查询系统临沂网站seo
  • 学生做的网站成品百度快照入口
  • 林州网站建设哪家好seo优化推广专员招聘
  • 怎么做销售网站网络营销招聘岗位有哪些
  • 移动端网站宽度做多大南昌百度快速排名提升
  • cpa广告联盟平台seo兼职外包
  • 广州 网站建设国家提供的免费网课平台
  • 搜狗收录查询武安百度seo
  • 湖北省建设厅网站证件什么公司适合做seo优化