赞
踩
公司项目开发中为了去测试一个东西,需要将应用 applicationId 修改掉。
具体为将 com.sample.package1 修改为 com.sample.package2。
为了做到风险隔离,我直接新开了一个 test 分支,接着将 build.gradle 中的 applicationId 修改掉,测试可以正常打包运行,但是切回原分支后却死活运行不起来,还报以下错误:
- Error while executing: am start -n "com.sample.package2/com.sample.package1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
- Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.sample.package2/com.sample.package1.MainActivity }
- Error type 3
- Error: Activity class {com.sample.package2/com.sample.package1.MainActivity} does not exist.
- Error while Launching activity
回到原分支后明明包名已经回到 com.sample.package1 了,但还是提示 com.sample.package2,就感觉很奇怪。
是不是我新开发的代码对构建有影响,切换到一个比较健康的分支测试。
不行!
是不是有一些缓存需要清理一下,然后再重新构建一下。
不行!
先修改为:com.sample.package111
再修改为:com.sample.package1
成功 !
可能 AS 内部有一些机制,当在 build.gradle 中手动修改的时候,构建系统会自动修改掉底层的一些东西,但直接切换分支后虽然代码变了,却无法触发这些程序。
第一次遇到这种坑,小总结一下 !
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。