记一次在Android studio配置多版本出现的坑爹错误

在Android开发过程中,难免会因为各种原因需要多版本的APP,之前也遇到过这种需求,就是在APP目录下的gradle文件配置一下即可,增加内容如下图:


,配置完成之后build正常,这时候坑爹的事情就来了,运行的时候,始终不能打包出apk,提示是找不到R.class,在目录app\build\generated\source\r\debugERP\debug\com\****\*****发现正常生成了R.class,这是没问题的,不论怎么改applicationId,始终都是同一种错误,就是不能通过编译,在这个问题纠结了两三个小时之后,气急败环的我乱改一通,不小心把名字"debugERP"改掉了,然后就通过了,莫名奇妙的一次解决问题的经历.改动如下图:



我还发现,配置名字除了不能包含"debug",还不能以test开头,我想产生错误的原因应该是左下角那里的Build Variants选项,下拉可看到,在你配置的名字后面,系统会自动加上"Debug"字符串,而AS的开发团队判断的时候是直接用String的contains来判断,恰好我的配置中又有debug字符串,导致不可预期的错误,此处仅仅是我自己的无依据猜测.


总之,解决办法就是检查配置的名字是否带有debug字符串;



另外还得加上下面这一段话:

//配置Android annotations
apt {
    arguments {
        resourcePackageName "com.hoyar.mobileerp"
        androidManifestFile variant.outputs[0]?.processResources?.manifestFile
    }
}

猜你喜欢

转载自blog.csdn.net/onionomelette/article/details/78805835