android多dex打包问题

将android-support-multidex.jar放到libs下然后编译,出现如下错误:

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry: android/support/multidex/MultiDex.class

原因是引入了多个相同的包,但是libs下明明就只有这一个包啊,经过各种尝试,最终解决方案如下:
1. 将本机的sdk的support升级到最新版本:
sdk mgr
如果因为网络原因无法下载的可以从这里下载,然后将下载的jar包放到本地sdk目录下的~\extras\android\support\multidex\library\libs目录下;
2. 在gradle脚本的dependencies中加入compile 'com.android.support:multidex:1.0.0',并从工程的libs目录下删除multidex包,gradle会自动去sdk目录下面找(注意并不是去repositories下载,repositories中是没有这个包的,所以我们需要做第一步);
3. 再次编译就可以正常工作了。

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
Unity 支持Plugin ,有一些代码我们可以用C++ 来编写成 Plugin 供C#调用,但是对于不同语言之间的类型转换就会很纠结。比如说 C# 里面的 string 到C++ 里面是什么?C++里面的string到C#里面是什么? 引自Unity官方的例子 C++咯平台代码如下: Win32/64 #if _MSC_VER // this is defined when compiling with Visual Studio#define EXPORT_API __declspec(dllexp

自己实现notifyDatasetChanged - 2015-06-25 20:06:16

今天这篇博客,我们来实现一下adapter那个最常用的notifyDatasetChanged功能,我们利用一个继承一个LinearLayout来实现一个可能在日常工作中很常用的功能。 大家在工作中可能经常遇到这样的功能: 需要定义一个列表来展示菜单,但是这个菜单并不一定适合ListView,然后,我们可能就通过一个LinearLayout来实现。 如何让我们的LinearLayout使用起来更像ListView呢? 那就是设置Adapter。那你的代码可能是这样的。 扩展LinearLayout: pu

Cocos2d-x 3.x 之 坐标系 - 2015-06-25 20:06:16

***************************************转载请注明出处: http://blog.csdn.net/lttree ******************************************** 继续夯一下基础, 今天研究下——坐标系 内容: UI坐标 OpenGLzuobiao  世界坐标和模型坐标 1.关于 坐标系 在图形图像和游戏应用开发中坐标系是非常重要的。 在 Android 和 iOS等平台应用开发的时候,它们所使用的二维坐标系的 原点 是在 左上

linux so库生成(一) - 2015-06-25 20:06:06

Dear! 先贴个大众版,希望逐字理解,有益! $gcc -shared -Wl,-soname,libhello.so.1 -o libhello.so.1.0 hello.o 另外再建立两个符号连接: $ln -s libhello.so.1.0 libhello.so.1 $ln -s libhello.so.1 libhello.so 这样一个libhello的动态连接库就生成了。最重要的是传gcc -shared 参数使其生成是动态库而不是普通执行程序。 -Wl 表示后面的参数也就是-sonam
让物体延任意方向移动 实现需注意: 三角函数 正弦 余弦 弧度 计算机程序使用弧度 避免产生极大的弧度值 using UnityEngine; using System.Collections; //实现一个box从原点向每次变化(2.0f * Mathf.PI) / 10.0f的角度方向移动 //移动出屏幕后再由原点开始下次移动 public class AnyDirectionMotionTest : MonoBehaviour { //物体的X位置 float posX = 0 ; //物体的Y位置
1、首先关闭eclipse。无法关闭则使用进程管理将其kill掉 2、打开本地的用户目录,找到.android 文件夹。 3、删除.android下面的cache文件夹 4、删除.android下面的ddms.cfg文件 5、重新启动eclipse,解决问题。
一.GreenDao概述:     greenDAO 是一个可以帮助 Android 开发者快速将 Java 对象映射到 SQLite 数据库表单中的 ORM 解决方案。greenDAO的特点运行效率最高、内存消耗最少,官网:http://greendao-orm.com/。。。 github 下载地址:https://github.com/greenrobot/greenDAO。       1、  DaoCore:greenDAO的核心库。 2、  DaoExample:greenDAO使用范例项目。
Android快速开发之appBase——(5).BasePresenter的使用 Presenter是来自MVP中的概念,是用来处理与用户交互的逻辑。在这里更加简单化,Presenter中的方法是根据业务来定义,比如获取消息列表,那么业务常常会这样:先去请求网络,网络正常请求到数据返回并展示在UI层,网络错误没有拿到数据,看看缓存中有没有,然后从缓存中拿到数据并返回并展示在UI层;突然,有一天业务需求发生变化,只允许获取网络,网络错误UI上显示没有消息。如果之前在UI层已经做过数据为空的处理,那么UI层
      我们查看jar源码时,一般是安装个jd-gui,把jar拷出来,然后从jd-gui中打开jar再查看源码,这个过程不免有些麻烦,当然,本篇所讲的快速查看的方法也没什么高科技手段,只是将jd-gui集成在Eclipse中,然后就可以在Eclipse中直接打开class了,这样会不但操作方便也会节省不少时间,具体步骤: 下载插件: jd-eclipse-site-1.0.0-RC2.zip 打开Eclipse--Help--Install New Software: 在Name框中命名,然后点击A
编译器支持 谷歌和苹果公司都使用Clang作为它们的C++前段。为了使他们的代码运行在Windows上,微软不得不将Visual C++的后端C2和Clang结合起来。 (Clang是一个C语言、C++、Objective-C、Objective-C++语言的轻量级编译器,源代码发布于BSD协议下。译者注) IDE支持 在Visual Studio中Objective-C具有语法高亮、代码完成和调试支持等功能。C++和C#文件可以包含在同一个项目中,允许程序来直接跨区域进行调用。编译器将处理所有的细节所以