概述

这是新浪微博官方 Android SDK Demo 使用 Android Studio 导入、编译并运行通过的版本。

源码:WeiboSdkDemo

官方项目请点击: weibo_android_sdk,当前版本 V3.0.1。

说明

在使用 Android Studio 导入新浪微博 SDK 时,遇到了一些问题,通过查看官方项目的 Issues 及 Google 后终于将问题解决,记录下来仅供参考。

运行环境

  • Android Studio 1.2.1.1
  • Android SDK 22
  • JDK 1.7
  • Gradle 2.2.1

请根据自己的开发环境修改 build.gradle 的配置。

使用说明

其实没什么好说的,直接拿来导入到 Android Studio 里用就行了,主要是根据 Demo 参考一下 SDK 的用法。

Project 说明

官方项目中有两个 Project:

  • WeiboSDK
  • WeiboSDKDemo

WeiboSDKDemo 中引用了 WeiboSDK,我们在自己的实际项目中引用 WeiboSDK 即可。

问题及解决

官方项目导入到 Android Studio 后,WeiboSDK 没什么问题,问题主要出现在 WeiboSDKDemo,具体如下:

jniLibs

需要在src\main目录下创建jniLibs目录,并将原 WeiboSDKDemo 中 libs 目录下三个文件夹及其中 so 文件拷贝至 src\main\jniLibs

图片资源报错

编译时,会有一个 png、三个 .9.png 报错。

一个png:修改后缀为 jpg 后,用 PhotoShop 将背景处理为透明再保存为 png 格式。

三个.9.png:在 Android Studio 直接打开,然后重新处理一下。(.9.png制作请 Google)

编译错误 com.android.dex.DexException: Multiple dex files define

Windows:用 Winrar 等压缩工具直接打开 weibosdkcore.jar,找到 com/sina/weibo/sdk/BuildConfig 并将其删除。

Mac OS:据 Issues里说用 Mac 自带的解压、压缩工具会有问题,请自己尝试。

debug.keystore

如果不设置 debug.keystore,Demo App 可以成功运行,但是不能授权、分享,会有 sso package error 的报错。

设置方法:

1.选中 Project 根目录点击 F4 打开 Project Structure,选中 Modules 下面的 app, 再点击右边的Signing,点击绿色‘+’按钮,然后进行设置。如下图:

2.再选中 Build Types,并选择 Signing Config,如下图:

版权

所有版权信息请参考官方项目: weibo_android_sdk

Thanks

使用 Android Studio 跑新浪微博SDK Demo遇到的问题及解决的更多相关文章

  1. Android Studio更改项目SDK的版本

    Elipse 中的安卓项目,在Android Studio中可以通过File -->new -- > Import Project的方法建立起来.但是有时候需要用到更改项目的API Lev ...

  2. Android Studio无法下载sdk的问题

    参考自:解决Android Studio无法下载sdk的问题 国内网站无法登进google,android sdk无法下载. 尝试使用FQ,重装软件都没有成功. 最后找到了解决办法:http://pi ...

  3. Android Studio AVD和SDK Manager灰色不能点击的问题。

    之前安装完Android Studio之后,迫不及待的打开,新建项目,发现模板新建之后里面没有文件,并且AVD Manager和SDK Manager 那一排的按钮灰色不能点. 之后查阅资料无果,最后 ...

  4. mac android studio 出现 Error: SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

      Error: SDK location not found. Define location with sdk.dir in the local.properties file or with a ...

  5. Android Studio下载/更新SDK

    今天安装配置Android Studio的时候,用SDK Manager下载SDK的时候只显示了一个7.0,别的都刷新不出来(被墙了).去网上搜索怎么解决,发现很多帖子的方法已经过时了(跟现在的AS版 ...

  6. Android Studio 下载地址 & SDK 更新教程

    Android Studio 下载地址: http://www.android-studio.org/ SDK 更新教程: http://www.androiddevtools.cn/ SDK 推荐使 ...

  7. android App使用新浪微博sdk的使用总结

    问题1:注册app的key 问题2:在微博开放平台,我的应用中心中,设置应用的基本信息的时候其中有一项,是设置你的应用的签名,签名是需要在安卓设备上安装一个生成签名的app(这个app界面很丑,这点我 ...

  8. Android Studio 设置/更改 SDK 路径

    网上看到有人说需要重启 Android Studio,感觉麻烦,就自己试了试其他方法,果然还是有的! 很简单,只需打开 File 菜单下的 Project Structure 就可以设置了,如图所示:

  9. Android Studio多Module使用 aar 依赖包 丢包解决

    FAQ: AAR打包引用丢包问题, jar, aar, dependency 嵌套层级依赖的丢失 问: aar包中,如何包含第三方依赖库? 如果直接作为module 依赖是没有问题的,但是如果打包成a ...

随机推荐

  1. java下实现调用oracle的存储过程和函数

    在Oracle下创建一个test的账户,然后 1.创建表:STOCK_PRICES --创建表格 CREATE TABLE STOCK_PRICES( RIC VARCHAR() PRIMARY KE ...

  2. C#使用HttpHelper万能框架,重启路由器

    首先声明,不是所有路由器都可以通过下面的代码来让路由器执行重启. 下面的代码测试的路由器是(TP-LINK TD-W89841N增强型).要根据自己的路由器来写代码. using CsharpHttp ...

  3. javascript基础知识--函数定义

    函数声明式 function funname( 参数 ){ ...执行的代码 } 声明式的函数并不会马上执行,需要我们调用才会执行:funname(); * 分号是用来分隔可执行JavaScript语 ...

  4. JMS - QueueBrowser

    QueueBrowser 是一个专用对象,提供提前浏览 Queue 上的排队消息的功能,而实际上并没有真正消费这些消息.这是点对点消息传送模型的独有特性.从 QueueBrowser 获得消息是该队列 ...

  5. HttpClient(4.3.5) - HTTP Request & HTTP Response

    HTTP Request All HTTP requests have a request line consisting a method name, a request URI and an HT ...

  6. Quartz Scheduler(2.2.1) - Integration with Spring

    1. maven 依赖: <properties> <spring.version>3.2.3.RELEASE</spring.version> <quart ...

  7. IIS服务器应用程序不可用的解决办法

    转载:http://www.cnblogs.com/caicainiao/archive/2010/11/29/1891085.html 这个问题见了好几次,在.net下 Microsoft visu ...

  8. C#winform MDI子窗体打开时内容显示不全

    出现这种情况一般是 打开了多个MDI的子窗体,打开新窗体的时候关闭其他的子窗体就OK了, 具体代码: foreach (Form form in main.MdiChildren)           ...

  9. iOS开发--UIKit控件之UISearchBar(搜索栏)

    今天因为需求原因,需要用到搜索控件:之前一直没有用到过这个控件,所以去百度了一下,找到一篇可以说很齐全的资料,感谢这位作者. 然而,我并没有找到可以更改字体大小的属性或方法,希望有知道的告诉我一声,谢 ...

  10. Objective-C 【关于导入类(@class 和 #import的区别)】

    之前我们分析过 #include 和 #import 的区别,#import不会引起交叉编译,#import 确定一个文件只能被导入一次,使在递归包含中不会出现问题. 那么 #import 和 @cl ...