Eclipse项目怎么迁到Android studio下,网上有很多教程,很简单。
一般来说,迁过来后,会报很多错。
(1)string中,相同字段名重复的问题。
(2)多个module时,有多个manifest,如果处理不好会报错。总的原则是合并到主module的manifest中,其实eclispe能运行,也是eclispe把所有manifest合并到一个中。
(3)编码问题各种坑,方法就是把编码调对了,如果“眼睛”看没有乱码,还是不能运行时,那就把乱码注释删除掉。
android studio 默认是debug模式运行的,当你需要切换到release模式运行时,又会遇到各种坑。怎么切换release模式也会遇到坑,待会说。
在debug模式下能run,切换到release模式下,就各种报错。
最集中的错是同一个XML中重复id的问题,没办法我是手动修正的(在别人的代码上二次开发就是个大坑。。。)
还有个问题是,在代码中直接调用setID给View设置id,eclipse不会报错,android studio就好,具体看下面的帖子
http://www.tuicool.com/articles/ye26biF
还有就是对于一些国际化的app,string存在多语言的设置,可是偏偏有些string在某种语言下不全,报如下错误
Error: "update_apk_appname" is not translated in "en" (English) [MissingTranslation]
是实在不想改了,感觉改为这个以后还有坑,我的想法是,release能不能忽略这些错,像debug版本一样,人家debug版本不是也运行的好好的嘛。
看下面两篇文章
http://bbs.csdn.net/topics/391072001
http://blog.csdn.net/song19891121/article/details/51726750
还有就是用gradle配置release包时也有需要注意的,配置结构如下
android {
signingConfigs {
debug {
storeFile file("debug.keystore")
}
myConfig {
storeFile file("other.keystore")
storePassword "android"
keyAlias "androidotherkey"
keyPassword "android"
}
}
buildTypes {
bar {
debuggable true
jniDebugBuild true
signingConfig signingConfigs.debug
}
foo {
debuggable false
jniDebugBuild false
signingConfig signingConfigs.myConfig
}
}
}
sigingConfigs只是配置签名信息的,buildTypes才是配置构建类型的,这两个要一块使用。
看下面帖子
http://stackoverflow.com/questions/25001479/app-release-unsigned-apk-is-not-signed
http://blog.csdn.net/u011904605/article/details/52145003