Skip to content

Commit ca7a84b

Browse files
author
wugt
committed
Site updated: 2022-07-12 18:18:29
1 parent 19d67f1 commit ca7a84b

File tree

26 files changed

+321
-193
lines changed

26 files changed

+321
-193
lines changed

2022/07/08/rk3288-bt/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ <h2 id="注意事项"><a href="#注意事项" class="headerlink" title="注意
339339
<li>wifi驱动需要在kernel目录通过 <code>make modules</code> 得到</li>
340340
<li>rtk_usb 驱动使能 DBG_FLAG 可以打印更多调试信息</li>
341341
</ol>
342-
</div><div class="p-copyright"><blockquote><div class="p-copyright-author"><span class="p-copyright-key">本文作者:</span><span class="p-copytight-value"><a href="mailto:[email protected]">litreily</a></span></div><div class="p-copyright-link"><span class="p-copyright-key">本文链接:</span><span class="p-copytight-value"><a href="/2022/07/08/rk3288-bt/">https://www.litreily.top/2022/07/08/rk3288-bt/</a></span></div><div class="p-copyright-note"><span class="p-copyright-key">版权声明:</span><span class="p-copytight-value">本博客所有文章除特殊声明外,均采用<a rel="nofollow" target="_blank" href="https://creativecommons.org/licenses/by-nc/4.0/"> CC BY-NC 4.0 </a>许可协议。转载请注明出处 <a href="https://www.litreily.top">litreily的博客</a></span></div></blockquote></div></article><div class="p-info box"><span class="p-tags"><i class="fa fa-tag"></i><a href="/tags/android/">android</a></span></div><aside id="toc"><div class="toc-title">目录</div><nav><ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%9C%80%E6%B1%82%E8%83%8C%E6%99%AF"><span class="toc-number">1.</span> <span class="toc-text">需求背景</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%9B%B8%E5%85%B3%E6%96%87%E4%BB%B6"><span class="toc-number">2.</span> <span class="toc-text">相关文件</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#kernel"><span class="toc-number">3.</span> <span class="toc-text">kernel</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#config"><span class="toc-number">3.1.</span> <span class="toc-text">config</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#dts"><span class="toc-number">3.2.</span> <span class="toc-text">dts</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#wifi"><span class="toc-number">3.3.</span> <span class="toc-text">wifi</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#bt"><span class="toc-number">3.4.</span> <span class="toc-text">bt</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#vendor"><span class="toc-number">4.</span> <span class="toc-text">vendor</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#hci-tools"><span class="toc-number">5.</span> <span class="toc-text">hci tools</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#init-rc"><span class="toc-number">6.</span> <span class="toc-text">init.rc</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9"><span class="toc-number">7.</span> <span class="toc-text">注意事项</span></a></li></ol></nav></aside></div><section class="p-ext"><div class="l-pager l-pager-dtl box"><a class="next" href="/2022/02/24/gitlab-repo/">RK3288 Android 10 系统开发[3] - 结合 gitlab 搭建 repo 代码仓库管理平台 &gt;</a></div><div id="valine-comment"><style type="text/css">.night .v[data-class=v] a { color: #0F9FB4 !important; }
342+
</div><div class="p-copyright"><blockquote><div class="p-copyright-author"><span class="p-copyright-key">本文作者:</span><span class="p-copytight-value"><a href="mailto:[email protected]">litreily</a></span></div><div class="p-copyright-link"><span class="p-copyright-key">本文链接:</span><span class="p-copytight-value"><a href="/2022/07/08/rk3288-bt/">https://www.litreily.top/2022/07/08/rk3288-bt/</a></span></div><div class="p-copyright-note"><span class="p-copyright-key">版权声明:</span><span class="p-copytight-value">本博客所有文章除特殊声明外,均采用<a rel="nofollow" target="_blank" href="https://creativecommons.org/licenses/by-nc/4.0/"> CC BY-NC 4.0 </a>许可协议。转载请注明出处 <a href="https://www.litreily.top">litreily的博客</a></span></div></blockquote></div></article><div class="p-info box"><span class="p-tags"><i class="fa fa-tag"></i><a href="/tags/android/">android</a></span></div><aside id="toc"><div class="toc-title">目录</div><nav><ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%9C%80%E6%B1%82%E8%83%8C%E6%99%AF"><span class="toc-number">1.</span> <span class="toc-text">需求背景</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%9B%B8%E5%85%B3%E6%96%87%E4%BB%B6"><span class="toc-number">2.</span> <span class="toc-text">相关文件</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#kernel"><span class="toc-number">3.</span> <span class="toc-text">kernel</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#config"><span class="toc-number">3.1.</span> <span class="toc-text">config</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#dts"><span class="toc-number">3.2.</span> <span class="toc-text">dts</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#wifi"><span class="toc-number">3.3.</span> <span class="toc-text">wifi</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#bt"><span class="toc-number">3.4.</span> <span class="toc-text">bt</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#vendor"><span class="toc-number">4.</span> <span class="toc-text">vendor</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#hci-tools"><span class="toc-number">5.</span> <span class="toc-text">hci tools</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#init-rc"><span class="toc-number">6.</span> <span class="toc-text">init.rc</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9"><span class="toc-number">7.</span> <span class="toc-text">注意事项</span></a></li></ol></nav></aside></div><section class="p-ext"><div class="l-pager l-pager-dtl box"><a class="prev" href="/2022/07/12/android-perm/">&lt; RK3288 Android 10 系统开发[4] - 提供 app 默认权限</a><a class="next" href="/2022/02/24/gitlab-repo/">RK3288 Android 10 系统开发[3] - 结合 gitlab 搭建 repo 代码仓库管理平台 &gt;</a></div><div id="valine-comment"><style type="text/css">.night .v[data-class=v] a { color: #0F9FB4 !important; }
343343
.night .v[data-class=v] a:hover { color: #216C73 !important; }
344344
.night .v[data-class=v] li { list-style: inherit; }
345345
.night .v[data-class=v] .vwrap { border: 1px solid #223441; border-radius: 0; }

2022/07/12/android-perm/index.html

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
<!DOCTYPE html><html lang="en"><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"><meta content="yes" name="apple-mobile-web-app-capable"><meta content="black-translucent" name="apple-mobile-web-app-status-bar-style"><meta content="telephone=no" name="format-detection"><meta name="description" content="simple life"><meta name="theme-color" content="#2d4356"><meta name="baidu-site-verification" content="pte8o83UGG"><title>RK3288 Android 10 系统开发[4] - 提供 app 默认权限 | LITREILY</title><link rel="stylesheet" type="text/css" href="/css/style.css"><link rel="Shortcut Icon" type="image/x-icon" href="/favicon.png"><link rel="stylesheet" href="//cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css"><script type="text/javascript" src="//cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script><script>var _hmt = _hmt || [];
2+
(function() {
3+
var hm = document.createElement("script");
4+
hm.src = "https://hm.baidu.com/hm.js?d55250b3059d32736607d30baa6e0ca2";
5+
var s = document.getElementsByTagName("script")[0];
6+
s.parentNode.insertBefore(hm, s);
7+
})();</script><meta name="generator" content="Hexo 5.4.0"><link rel="alternate" href="/atom.xml" title="LITREILY" type="application/atom+xml">
8+
</head><link rel="stylesheet" type="text/css" href="/plugins/highlight/atom-one-dark.min.css"><script type="text/javascript" src="/plugins/highlight/highlight.min.js"></script><script>hljs.initHighlightingOnLoad();
9+
</script><script type="text/javascript" src="/js/ready.js" async></script><link rel="stylesheet" href="//cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.css"><body class="night"><div class="mobile-head" id="mobile-head"><div class="navbar-icon"><span></span><span></span><span></span></div><div class="navbar-title"><a href="/">LITREILY</a></div><div class="navbar-search"><!--= show a circle here--></div></div><div class="h-wrapper" id="menu"><nav class="h-head box"><div class="m-hdimg"><a class="hdimg img" href="/"><img class="nofancybox" src="/img/profile.jpg" width="128" height="128"></a><h1 class="ttl"><a href="/">LITREILY</a></h1></div><p class="m-desc">心之所向,无惧无悔,<br>愿求仁得仁,复无怨怼!</p><div class="m-nav"><ul><li><span class="dot"></span><a href="/archives/">归档</a></li><li><span class="dot"></span><a href="/categories/">分类</a></li><li><span class="dot"></span><a href="/tags/">标签</a></li><li><span class="dot"></span><a href="/about/">关于</a></li><li><span class="dot"></span><a href="/notes/">笔记</a></li><li><span class="dot"></span><a href="/atom.xml">RSS</a></li><li class="m-sch"><form class="form" id="j-formsch" method="get"><input class="txt" type="text" id="local-search-input" name="q" value="搜索" onfocus="if(this.value=='搜索'){this.value='';}" onblur="if(this.value==''){this.value='搜索';}"><input type="text" style="display:none;"></form></li></ul><div id="local-search-result"></div></div></nav></div><div id="back2Top"><a class="fa fa-arrow-up" title="Back to top" href="#"></a></div><div class="box" id="container"><div class="l-wrapper"><div class="l-content box"><div class="l-post l-post-art"><article class="p-art"><div class="p-header box"><h1 class="p-title">RK3288 Android 10 系统开发[4] - 提供 app 默认权限</h1><div class="p-info"><span class="p-date"><i class="fa fa-calendar"></i><a href="/2022/07/12/android-perm/">2022-07-12</a></span><span class="p-category"><i class="fa fa-folder"></i><a href="/categories/Android/">Android</a></span><span class="p-view" id="busuanzi_container_page_pv"><i class="fa fa-eye"></i><span id="busuanzi_value_page_pv"></span></span></div></div><div class="p-content"><h2 id="禁用旧版本SDK弹框"><a href="#禁用旧版本SDK弹框" class="headerlink" title="禁用旧版本SDK弹框"></a>禁用旧版本SDK弹框</h2><p>如果在Android10系统上安装旧版本的app,会提示以下信息。</p>
10+
<blockquote>
11+
<p>此应用专为旧版 Android 打造,因此可能无法正常运行。请尝试检查更新或与开发者联系。</p>
12+
</blockquote>
13+
<p>为了去掉这个弹框提示,需要添加以下修改, 将 <code>onStartActivity</code> 函数中的 <code>showDeprecatedTargetDialogIfNeeded</code> 禁用。</p>
14+
<pre><code class="patch">--- a/services/core/java/com/android/server/wm/AppWarnings.java
15+
+++ b/services/core/java/com/android/server/wm/AppWarnings.java
16+
@@ -166,7 +166,8 @@ class AppWarnings &#123;
17+
public void onStartActivity(ActivityRecord r) &#123;
18+
showUnsupportedCompileSdkDialogIfNeeded(r);
19+
showUnsupportedDisplaySizeDialogIfNeeded(r);
20+
- showDeprecatedTargetDialogIfNeeded(r);
21+
+ //showDeprecatedTargetDialogIfNeeded(r);
22+
&#125;
23+
24+
/**
25+
</code></pre>
26+
<h2 id="安装app默认提供权限"><a href="#安装app默认提供权限" class="headerlink" title="安装app默认提供权限"></a>安装app默认提供权限</h2><p>对于安装app是自动提供的权限,可以添加以下修改。 在 <code>PackageManagerService.java</code> 文件中添加白名单.</p>
27+
<pre><code class="patch">--- a/services/core/java/com/android/server/pm/PackageManagerService.java
28+
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
29+
@@ -1872,7 +1872,8 @@ public class PackageManagerService extends IPackageManager.Stub
30+
// for legacy apps in permission review mode we clear the permission
31+
// review flag which is used to emulate runtime permissions for// legacy apps.
32+
- if (grantPermissions) &#123;
33+
+ if (grantPermissions || res.name.contains(&quot;com.customPackage&quot;) || res.name.contains(&quot;com.baidu.input&quot;)) &#123;
34+
final int callingUid = Binder.getCallingUid();
35+
mPermissionManager.grantRequestedRuntimePermissions(
36+
res.pkg, res.newUsers, grantedPermissions, callingUid,
37+
</code></pre>
38+
<h2 id="运行时权限"><a href="#运行时权限" class="headerlink" title="运行时权限"></a>运行时权限</h2><p>对于运行时的权限,在Android10里目前只找到对指定app进行权限配置的方法。以百度输入法为例,添加权限如下。</p>
39+
<pre><code class="patch">--- a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
40+
+++ b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
41+
@@ -744,6 +744,16 @@ public final class DefaultPermissionGrantPolicy &#123;
42+
grantPermissionsToSystemPackage(systemCaptionsServicePackageName, userId,
43+
MICROPHONE_PERMISSIONS);
44+
&#125;
45+
+
46+
+ PackageInfo mBaiduPackageInfo = getPackageInfo(&quot;com.baidu.input&quot;);
47+
+ if (mBaiduPackageInfo != null &amp;&amp; doesPackageSupportRuntimePermissions(mBaiduPackageInfo)) &#123;
48+
+ grantPermissionsToPackage(mBaiduPackageInfo, userId, false, true, true, STORAGE_PERMISSIONS);
49+
+ grantPermissionsToPackage(mBaiduPackageInfo, userId, false, true, true, ALWAYS_LOCATION_PERMISSIONS);
50+
+ grantPermissionsToPackage(mBaiduPackageInfo, userId, false, true, true, PHONE_PERMISSIONS);
51+
+ grantPermissionsToPackage(mBaiduPackageInfo, userId, false, true, true, CONTACTS_PERMISSIONS);
52+
+ &#125;
53+
&#125;
54+
55+
private String getDefaultSystemHandlerActivityPackageForCategory(String category, int userId) &#123;
56+
</code></pre>
57+
<h2 id="参考"><a href="#参考" class="headerlink" title="参考"></a>参考</h2><ul>
58+
<li><a target="_blank" rel="noopener" href="https://blog.csdn.net/u010867436/article/details/107223787">高通android10.0默认赋予第三方apk权限</a></li>
59+
<li><a target="_blank" rel="noopener" href="https://blog.csdn.net/wjh8914320/article/details/104613522">[九鼎RK3399Pro] Android 8.1默认自动给APP普通权限</a></li>
60+
<li><a target="_blank" rel="noopener" href="https://www.jianshu.com/p/9dc825ac1c58">应用弹窗“此应用专为旧版Android打造,因此可能无法正常运行...”的原因</a></li>
61+
</ul>
62+
</div><div class="p-copyright"><blockquote><div class="p-copyright-author"><span class="p-copyright-key">本文作者:</span><span class="p-copytight-value"><a href="mailto:[email protected]">litreily</a></span></div><div class="p-copyright-link"><span class="p-copyright-key">本文链接:</span><span class="p-copytight-value"><a href="/2022/07/12/android-perm/">https://www.litreily.top/2022/07/12/android-perm/</a></span></div><div class="p-copyright-note"><span class="p-copyright-key">版权声明:</span><span class="p-copytight-value">本博客所有文章除特殊声明外,均采用<a rel="nofollow" target="_blank" href="https://creativecommons.org/licenses/by-nc/4.0/"> CC BY-NC 4.0 </a>许可协议。转载请注明出处 <a href="https://www.litreily.top">litreily的博客</a></span></div></blockquote></div></article><div class="p-info box"><span class="p-tags"><i class="fa fa-tag"></i><a href="/tags/android/">android</a></span></div><aside id="toc"><div class="toc-title">目录</div><nav><ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%A6%81%E7%94%A8%E6%97%A7%E7%89%88%E6%9C%ACSDK%E5%BC%B9%E6%A1%86"><span class="toc-number">1.</span> <span class="toc-text">禁用旧版本SDK弹框</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%AE%89%E8%A3%85app%E9%BB%98%E8%AE%A4%E6%8F%90%E4%BE%9B%E6%9D%83%E9%99%90"><span class="toc-number">2.</span> <span class="toc-text">安装app默认提供权限</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E8%BF%90%E8%A1%8C%E6%97%B6%E6%9D%83%E9%99%90"><span class="toc-number">3.</span> <span class="toc-text">运行时权限</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%8F%82%E8%80%83"><span class="toc-number">4.</span> <span class="toc-text">参考</span></a></li></ol></nav></aside></div><section class="p-ext"><div class="l-pager l-pager-dtl box"><a class="next" href="/2022/07/08/rk3288-bt/">RK3288 Android 6.0 适配 RTL8821CU wifi&amp;BT 功能 &gt;</a></div><div id="valine-comment"><style type="text/css">.night .v[data-class=v] a { color: #0F9FB4 !important; }
63+
.night .v[data-class=v] a:hover { color: #216C73 !important; }
64+
.night .v[data-class=v] li { list-style: inherit; }
65+
.night .v[data-class=v] .vwrap { border: 1px solid #223441; border-radius: 0; }
66+
.night .v[data-class=v] .vwrap:hover { box-shadow: 0 0 6px 1px #223441; }
67+
.night .v[data-class=v] .vbtn { border-radius: 0; background: none; }
68+
.night .v[data-class=v] .vlist .vcard .vh { border-bottom-color: #293D4E; }
69+
.night .v[data-class=v] .vwrap .vheader .vinput { border-bottom-color: #223441; }
70+
.night .v[data-class=v] .vwrap .vheader .vinput:focus { border-bottom-color: #339EB4; }
71+
.night .v[data-class=v] code, .night .v[data-class=v] pre,.night .v[data-class=v] .vlist .vcard .vhead .vsys { background: #203240 !important; }
72+
.night .v[data-class=v] code, .night .v[data-class=v] pre { color: #F0F0F0; font-size: 95%; }
73+
.v[data-class=v] .vcards .vcard .vh {border-bottom-color: #223441; }
74+
.night .v[data-class=v] .vcards .vcard .vcontent.expand:before {background: linear-gradient(180deg,rgba(38,57,73,.4),rgba(38,57,73,.9));}
75+
.night .v[data-class=v] .vcards .vcard .vcontent.expand:after {background: rgba(38,57,73,.9)}
76+
</style><div id="vcomment"></div><script src="//cdn.bootcdn.net/ajax/libs/valine/1.4.14/Valine.min.js"></script><script>var notify = 'false' == true ? true : false;
77+
var verify = 'false' == true ? true : false;
78+
var GUEST_INFO = ['nick','mail','link'];
79+
var guest_info = 'nick,mail,link'.split(',').filter(function(item){
80+
return GUEST_INFO.indexOf(item) > -1
81+
});
82+
guest_info = guest_info.length == 0 ? GUEST_INFO :guest_info;
83+
window.valine = new Valine({
84+
el:'#vcomment',
85+
notify:notify,
86+
verify:verify,
87+
appId:'1ecKy4yk4u1R7C4tScKbnyq9-gzGzoHsz',
88+
appKey:'uvA3xgqNW3q8TGR483lxXcpB',
89+
lang: 'zh-cn',
90+
placeholder:'ヾノ≧∀≦)o Come on, say something...',
91+
avatar:'identicon',
92+
guest_info:guest_info,
93+
pageSize:'10'
94+
})</script></div></section><footer><p>Copyright © 2016 - 2022 <a href="/." rel="nofollow">LITREILY</a> | <strong><a rel="nofollow" target="_blank" href="https://creativecommons.org/licenses/by-nc/4.0/">CC BY-NC 4.0</a></strong><br><span id="busuanzi_container_site_uv"><i class="fa fa-user"></i><span id="busuanzi_value_site_uv"></span></span> <span id="busuanzi_container_site_pv"><i class="fa fa-eye"></i><span id="busuanzi_value_site_pv"></span></span> | Powered by<a rel="nofollow" target="_blank" href="https://hexo.io"> Hexo.</a>Theme with<a rel="nofollow" target="_blank" href="https://github.com/litreily/snark-hexo"> snark.</a></p></footer></div></div></div><script type="text/javascript" src="/js/search.js"></script><script type="text/javascript" src="/js/top.js"></script><script type="text/javascript" src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js" async></script><script>var search_path = 'search.xml';
95+
if (search_path.length == 0) {
96+
search_path = 'search.xml';
97+
}
98+
var path = '/' + search_path;
99+
searchFunc(path, 'local-search-input', 'local-search-result');
100+
</script><script type="text/javascript" src="//cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.js"></script><script type="text/javascript" src="/js/fancybox.js?v=0.0.1" async></script></body></html>

0 commit comments

Comments
 (0)