手机扫一扫访问本页内容

微信扫描点右上角"···"分享到好友或朋友圈

关闭
微信扫一扫可打开小程序

微信长按图片或搜“分享录”可打开小程序

关闭
安卓,经验

把安卓SDK升到32时报构建工具已损坏需要重新安装

当我把安卓SDK从30升到32本以为直接打包就可以搞定的时候,却发现报错了,而且也没法build和run了,直接提示“Installed Build Tools revision 32.0.0 is corrupted. Remove and install again using the SDK Manager.”!

找资料说是SDK里面少了dx(Windows叫dx.bat)和dx.jar这两个文件,解决办法很简单,将d8和d8.jar分别复制一份然后把d8改名dx即可。

改完要是右上角运行那里app的安卓logo显示“x”打开Configurations还提示“Error: Please select Android SDK”,就点File->Invalidate caches勾选后点“Invalidate and Restart”即可解决问题。

需要注意的是使用Android SDK Platform 32在AndroidManifest.xml配置文件中使用到intent得在activity加上“android:exported=”true””不然会报“Manifest merger failed : Apps targeting Android 12 and higher are required to specify an explicit value for android:exported when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.”。

其实android:exported 并不是Android 12的新属性,在以前的版本中就已经有它了。它是Android中的四大组件Activity、Service、Provider、Receiver中都会有的一个属性。在Activity中该属性用来标示:“当前Activity是否可以被另一个Application的组件启动:true允许被启动;false不允许被启动”。如果它写在service中并且为false则表示则该服务不能够跨进程使用。它的作用就是判断是否支持其它应用调用当前组件,在Android 12中他会默认添加并且默认为true,所以如果是新建项目就不会报这个问题。

关注我带你实战解决更多问题。


历史上的今天:

展开阅读全文


上一篇:

下一篇:

服务器又要到期了鼓励一下吧
您还可以访问本站的小程序、公众号等所有端,或者下载APP, 在小程序、APP上可以评论文章以及保存图片还有在线客服哦,如您有任何疑问或建议可向作者提出意见反馈
扫码打开小程序可评论文章保存图片,在“我的”有实时在线客服哦,看效果?
关注我的公众号为您分享各类有用信息
分享录多端跨平台系统