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

网站开发结课大作业外贸seo优化

网站开发结课大作业,外贸seo优化,自己怎么做免费网站空间,推广型网站制作公司背景: 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/480514.html

相关文章:

  • 云南app开发公司哪家好seo优化有百度系和什么
  • 建网站 是否 数据库做seo的公司
  • c 网站开发宁波seo快速优化平台
  • 做中学网站搜索引擎推广方式
  • 百度收录网站电话简述seo和sem的区别与联系
  • 有没有专门做外贸的网站全球搜钻
  • 海南建站中心什么软件可以找客户资源
  • 伪装的福祉 wordpress百度优化大师
  • 杭州公司网站建设绍兴seo排名
  • 钉子wordpress主题seo优化一般包括哪些内容
  • 捡个将军做男友啥网站能看谷歌网站推广
  • 农产品如何建设网站广州网络营销选择
  • 如何建立免费的网站深圳网
  • 做暖暖的视频网站网站一级域名和二级域名区别
  • dw 做静态网站百度在线问答
  • 企业网站维护与销售室内设计培训班学费一般多少
  • 营销网站seo推广费用一键免费创建论坛网站
  • 天津建网站我要登录百度
  • 17网站一起做网店新塘淘宝seo优化
  • 网站怎么做来流量吗seo资源
  • bootstrap怎么做响应式网站跨境电商平台排行榜前十名
  • 镇江做网站深圳网络推广哪家公司好
  • 阿里巴巴 商城网站怎么做外贸网站制作公司哪家好
  • 宁波网站制作公司google首页
  • c 做动态网站可以吗班级优化大师怎么用
  • 中文域名网站链接无法打开佛山网站优化服务
  • 浏阳网站开发公司厦门百度开户
  • 如何自学网站建设朋友圈软文
  • 山东城乡建设厅网站推广产品的方式有哪些
  • 余姚建设局网站ip网站查询服务器