Eclipse项目迁移到Android studio下遇到的各种坑

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



猜你喜欢

转载自blog.csdn.net/lizhongyisailang/article/details/70845905