上星期,我决定要解决这个问题。理由如下:

  3个月之前,我已经投入一段时间要做好这个迁移工作,直到最后,我发现能够安装了,但是运行不了,这个过程也看不到bugly上传,在找不到原因的情况下,我放弃了。

  后来,我在svn 下载代码后,在esclipse中运行时,发现这个app可以安装,但是不能运行,和之前我遇到的问题一样。后来,我了解到了是.so文件的缺失。然后联想到之前的迁移问题应该也是这个原因,所以我也开始下定决心,去解决这个问题。

   接下来,我整理一下我遇到的问题,和我如何解决:

1.从svn 下载代码  vs  自己从windows  copy  代码到macbook上

  我首先采取对方法是后者,后来我还是决定要使用svn 下载代码,为了以后更好地更新和提交。

  (1)我决定使用svnx 来解决这个问题。

  首先,我混淆了Repositories 和 working copies,然后有一点时间纠结于为什么working copies为什么在加载的地址总是少了一个“\”字母,最后,查了百度,都没有找到原因。

后来,才发现其实我需要打开repositories来作好设置。

  

  (2)下载以后,发现需要注意的是import 后的结果,发现svnx设置下载的文件位置  和 import生成的文件位置不一样,两者的架构也有很大区别。

  这个时候需要考虑的是以后要通过svnx上传下载代码,如何去同步?

注:之前,我没有理解清楚到底哪里提示错误? 到底是event log?Gradle Console ?后来可以确定的是,需要重点关注Gradle Console ,里面可以提示到底哪个文件是有问题的。然后针对性地

2.一开始运行的时候,发现图片的问题

  (1)首先是点九图。点九图的错误基本都在显示图片的地方所显示的红点可以看到。这个可以交给美工去处理。

(2)然后是png的问题。该问题会提示”libpng error: Not a PNG file“,有些是warning,有些是error错误。然后,我就百度,查找到使用“Image Magick”来解决。

  (我在安装Image Magick的时候,有些步骤本来是二选一可以跳过,但是我顺着看,忽略了这个是可选择的。)

  下载安装好以后,我就先尝试一个文件夹中的png文件是否可以转换,然后再逐个文件夹尝试,由于  在终端中,使用的是类似于

java -jar /Users/gengen/Documents/imagestriptool.jar /Users/gengen/Documents/ICT_android/new_IMSChat/iMSChat/src/main/res/drawable-hdpi /Users/gengen/Documents/ICT_android/new_IMSChat/iMSChat/src/main/res/drawable-hdpi

上面黄色表示的是初始文件夹,下面粉红色表示的是目标文件夹

这两个文件位置都是可以是同一个的

(3)使用

  aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false

  忽略其中的png提示错误。

3.共用jar 包的问题

公司的项目是由四个module组成的,其中两个module是公用同一个jar包的。这时候,需要把这jar包提取出来,生成一个新的module。然后在需要使用这个jar包的项目下单击右键,在module setting 去设置引用这个新的module。

4.android studio 的设置问题

接下来,会遇到提示需要在 uses-sdk 添加

tools:overrideLibrary="com.xxx.xxx.xxx",和application中在android:icon后面添加tools:replace=“”。
这个在version control 有提示。

5.gradle build的问题

(1)由于需要优化Dex,而由于处理工具DexOpt对id数目的限制,导致其处理的数目不能超过65536个,因此在Android开发中,需要使用到MultiDex来解决这个问题,MultiDex可以配合Android Studio实现一个apk包含多个dex的功能

  因此在android studio 的build.gradule 的android  下添加了

defaultConfig {
multiDexEnabled true
}

(2)在一个module下,提示各种UTF-8不可映射,因此在每个module的build.gradule添加了:

tasks.withType(JavaCompile) {
options.encoding = "UTF-8"

 (3)引用了

compile ('com.google.http-client:google-http-client-android:1.21.0')
{exclude group: 'com.google.guava'}
compile ('com.google.api-client:google-api-client-android:1.21.0')
{exclude group: 'com.google.guava'}
compile ('com.google.api-client:google-api-client-gson:1.21.0')
{exclude group: 'com.google.guava'}
compile ('com.google.code.gson:gson:2.4')
这个过程需要下载。
其中,exclude 表示了排除之前已经编译过的包
compile 'com.google.guava:guava:18.0'

 6.引入.so 文件,由于没有设置svn可以下载.so文件,我自己copy过去

一开始,还是没有检测到.so文件在哪里使用,后来,我可以查看bugly,然后我上网查到了

首先添加了:

sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
然后是在lib中的armeabi中的名字修改成 armeabi-v7a,
接下来是在src 下新建
名为jniLibs的文件夹,然后把armeabi-v7a整个文件夹移过去。

7.一些方法是过时的,因此需要在gradule.build中添加这个方法所在的库,例如:

useLibrary 'org.apache.http.legacy'
不过,接下来,就是需要使用新的包来适配方法。

8.每次出现问题重新修改以后,都是需要clean build和rebuild

总的来说,我都是需要关注一个android studio 的每个版本升级需要注意的地方

然后,由于自己对于android很多东西都不熟悉,因此需要百度快速找到解决问题的方法,同时我还要多琢磨每个方法的使用逻辑。 

将公司的主要项目从eclipse迁移到android studio for mac环境(1)的更多相关文章

  1. 将公司的主要项目从eclipse迁移到android studio for mac环境(2)

    1.将eclipse 的 代码迁移到android studio的过程中,现在已经有了一个未优化版本能够在android studio使用,这时候,只需要将已优化版本的代码中的libs  res  s ...

  2. 从Eclipse迁移到Android Studio碰到的问题记录

    背景: 1. 一直在做.NET的开发,工作之余,学习了一下Android开发,写了一些Demo,当时用的Eclipse开发工具:这两天,刚好项目不是很忙,就打算把之前写的Demo,迁移到Android ...

  3. 从 Eclipse 迁移至 Android Studio

    从 Eclipse 迁移至 Android Studio 本文内容 Android Studio 基础知识 迁移先决条件 将项目导入 Android Studio 后续步骤 将项目迁移至 Androi ...

  4. Android studio:从Eclipse迁移到Android Studio【一】

    转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=255061&extra=page%3D2%26filter%3Dautho ...

  5. Android studio 使用心得(三)—从Eclipse迁移到Android studio

    断断续续的也算是把eclipse上的代码成功迁移到android studio上来了,现在,我同事继续用eclipse,我用android studio,svn上还是之前eclipse的项目,迁移成功 ...

  6. 如何从Eclipse 迁移到Android Studio 且保持Eclipse项目结构

    本文demo下载:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=531 Android项目 Eclipse与A ...

  7. Eclipse迁移到Android studio步骤如下:

    一.从Eclipse中导出:1.将你的ADT插件版本升级到22.0以上.2.在Eclipse中,选择File-->Export.3.在弹出的导出窗口中,打开Android的文件夹,选择“Gene ...

  8. 从Eclipse迁移到Android Studio

    Google正式推出了Android Studio 1.0,Android默认的开发工具也由Eclipse变成了intellij,对Eclipse的支持肯定会越来越少了,对于Android开发者来说, ...

  9. Eclipse 迁移到Android studio

    步骤: 1.安装 android-studio-bundle-143.2915827-windows https://developer.android.com/studio/install.html ...

随机推荐

  1. nmake geos

    参考:http://blog.sina.com.cn/s/blog_82a2a7d301010f87.html 1 打开visual  studio command prompt 该工具位于 开始程序 ...

  2. 大数运算(python2)

    偶然又遇到了一道大数题,据说python大数运算好屌,试了一发,果然方便-1 a = int( raw_input() ); //注意这里是按行读入的,即每行只读一个数 b = int( raw_in ...

  3. C#回顾 - 3.NET的IO:字节流

    使用 Stream 类管理字节流 使用 FileStream 类管理文件数据 使用 MemoryStream 类管理内存数据 使用 BufferedSream 类提高流性能   3.1 FileStr ...

  4. Android 中 Internal Storage 和 External Storage 的区别

    Android 存储:Internal Storage的用法以及与External storage 的区别 - 庄宏基的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net ...

  5. OpenCV-paper detection & perspective transformation 相关资料

    经过一段时间的搜索,决定把搜过的资料都汇集在此,以免重复劳动,几乎来自stackoverflow OpenCV C++/Obj-C: Detecting a sheet of paper / Squa ...

  6. 如何安装sublime text2以及它的插件?

    下载Sublime Text2的安装包,安装,安装后打开的界面如图   下面我们来给他安装插件,首先安装packagecontrol,打开菜单栏中的View-->show console   在 ...

  7. hdu 4041 2011北京赛区网络赛B 搜索 ***

    直接在字符串上搜索,注意逗号的处理 #include<cstdio> #include<iostream> #include<algorithm> #include ...

  8. Visual Studio Code升级到0.5,提供对ES6的更好支持

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:题目即题记. 自从Visual Studio Code发布之后(最初是0.1),微软就 ...

  9. Flash Media Server 4.0 破解 注册

    Adobe Flash Media Interactive Server 3.5s/n:1373-5047-2985-0514-5175-0098 s/n: 1373-5632-4666-9521-8 ...

  10. loj 1201(最大独立集)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26913 思路:水题一枚,就是求最大独立集.最大独立集=顶点数-最大 ...