在Android Eclipse 开发如何 使用 (*.aar)文件

来源:互联网 发布:圆弧倒角和刀具的算法 编辑:程序博客网 时间:2024/05/16 07:31

开场白:其实这篇文章有点白费心机。

详细说明是:http://blog.csdn.net/qiujuer/article/details/39754517?utm_source=tuicool

1.(*.aar)几乎是Android Studio的东西,所以你要用eclipse来使用 基于“IntelliJ IDEA”的Android Studio,必须要了解这个玩意里面是什么!

2.说退一万步,既然Android Studio使用的(*.aar),你就好好的去学使用Android Studio,为何要使用eclipse 来弄这(*.aar)呢?

3.什么?因为github的开源项目用 “Gradle ” 构建项目 来 依赖 这些 包 (*.aar)。 

4.而Android Studio本来就用Gradle ,所以直接github的URL一导入,花上一两分钟就能跑起项目了。

哎,没有办法了。看来eclipse以后都不知道怎么怎么办。(如果新开的Android项目的话,要大力建议使用Android Studio,毕竟别人github上的大牛都用Gradle 了,更别说Android Studio)

 

看完上面的吐槽,还想自找麻烦使用Eclipse 使用 (*.aar)包的话,就继续看下面吧。

 

前提:我假设 (*.aar)的包是从“%ANDROID_HOME%\extras\android\m2repository” 中的 v4 或者 v7中获取到的。

什么? 你的SDK没有 更新到“ m2repository ”文件夹 或者 “被大天朝拦住网络无法更新”。

好吧!你赢了,你去看 http://www.cnblogs.com/shortboy/archive/2012/10/25/2738294.html这篇吧。

更新完你的SDK再回来看吧。

(其实我还没有用Android Studio时,在eclipse开发时,都是没有更新到“m2repository ”文件夹)

更新完后如图:

 

言归正传:

1.我们以appcompat-v7来举例吧,又什么你不知道appcompat-v7有什么?

请看这篇吧:http://blog.csdn.net/xyz_lmn/article/details/12623609

2.我们看到下面的图片的文件,就看到客官们的的(*.arr)文件了

 

3.我们直接双击看里面是什么?

如图,里面有一个jar,和其他类似在Eclipse的工作目录,例如res,assets,AndroidManifest.xml这些文件

4.如果这样的话,我们是否可以考虑当这个(*.arr) 里面的res,assets,AndroidManifest.xml是一个在eclipse中的Android 的 libs项目的文件,复制过去后再把这个项目声明为libs

5.然后在你想要使用的项目中导入你的class.jar(当然,你需要改变成相应的名字,如果你不改我也耐不了你如何)

6.现在你再引入刚才的libs项目,再启动一下你的项目。(如果你没有引入刚才的libs项目,估计只加入jar的话,肯定会报找不到某资源的异常)。

 

经过这六步,你还感觉用eclipse来导(*.arr)使用不麻烦的话。我只能说。你赢了。拜拜






因为我这没有Android Studio, 所以我把Demo中的资源和代码导入到我新创建的APP里面.
一切都ok, 运行起来以后, 会报错.

10-29 15:29:16.234: E/AndroidRuntime(4921): Process: com.alibaba.wukong.demo, PID: 4921
10-29 15:29:16.234: E/AndroidRuntime(4921): java.lang.RuntimeException: Unable to create application com.alibaba.wukong.demo.DemoApplication: java.lang.NullPointerException
10-29 15:29:16.234: E/AndroidRuntime(4921):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4331)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at android.app.ActivityThread.access$1500(ActivityThread.java:135)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at android.os.Handler.dispatchMessage(Handler.java:102)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at android.os.Looper.loop(Looper.java:136)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at android.app.ActivityThread.main(ActivityThread.java:5001)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at java.lang.reflect.Method.invokeNative(Native Method)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at java.lang.reflect.Method.invoke(Method.java:515)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at dalvik.system.NativeStart.main(Native Method)
10-29 15:29:16.234: E/AndroidRuntime(4921): Caused by: java.lang.NullPointerException
10-29 15:29:16.234: E/AndroidRuntime(4921):     at com.alibaba.wukong.im.cn.init(AppStatusTracker.java:38)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at com.alibaba.wukong.im.IMEngine.launch(IMEngine.java:83)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at com.alibaba.wukong.demo.DemoApplication.initWukongIM(DemoApplication.java:71)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at com.alibaba.wukong.demo.DemoApplication.onCreate(DemoApplication.java:48)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
10-29 15:29:16.234: E/AndroidRuntime(4921):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4328)
怎么破?


请确认一下 aar里面AndroidManifest.xml里的配置也拷过去了吗
回复引用
举报
 
微风催泪
级别: 新人
发帖
5
云币
9
  • 加关注
  • 写私信
只看该作者板凳  发表于: 10-29
回1楼zhongkun的帖子
wukongim  的AndroidManifest信息没有导入
现在解决了, 谢谢!

0 0
原创粉丝点击