我最近下载了androidstudio来开发Android应用程序(我来自Eclipse),在我自己的项目中使用外部库和/或外部JAR文件时遇到了问题注意:以下测试是在Android Studio中从头创建的一个新的应用程序项目上进行的
示例1:JAR导入
-
从Google下载Admobs SDK的新副本
-
将库jar
GoogleedMobadSDK-6.4.1.jar
复制到项目的/libs/文件夹中 -
在项目浏览器中,右键单击新添加的library.jar并单击“添加为库”
从技术上讲,一切正常,导入工作正常,布局编辑器显示AdView
小部件的预览以及所有这些。唯一的问题是它没有成功编译
从控制台登录:
渐变:
失败:生成失败,出现异常。
*出了什么问题:
任务“:APITests:compilePaidDebug”的执行失败。
&燃气轮机;编译失败;有关详细信息,请参阅编译器错误输出。
*尝试:
使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。
无法使用Gradle分发版本“”执行生成http://services.gradle.org/distributions/gradle-1.6-bin.zip'.
我试着运行gradlew compileDebug--stacktrace
,问题似乎是,尽管能够在代码和;设计编辑器,在编译时,它无法解析导入。以下是日志的相关部分:(此处为完整stacktrace)
java:6:error:package com.google.ads不存在
导入com.google.ads.AdRequest;
java:7:错误:包com.google.ads不存在
导入com.google.ads.AdView;
java:11:错误:找不到符号
AdView mAdView;
符号:类AdView
地点:班级活动
java:22:错误:找不到符号
mAdView=(AdView)this.findviewbyd(R.id.AdView);
符号:类AdView
地点:班级活动
java:23:错误:找不到符号
mAdView.loadAd(new AdRequest());
符号:类地址
地点:班级活动
5个错误
:测试:CompiledBug失败
但同样,导入在编辑器中运行良好,并且依赖性存在:
还值得注意的是,在不尝试添加库/JAR的情况下,这些项目可以很好地编译
然后,我尝试编辑build.gradle文件以包含新库,如下所示:
依赖项{
编译文件(’libs/android-support-v4.jar’,’libs/GoogleedMobadSDK-6.4.1.jar’)
}
这一次,它确实成功地编译了,但应用程序现在强制关闭,因为显然,它无法从应用程序包的lib中找到特定的类
原因:java.lang.ClassNotFoundException:在路径:/data/app/com.foo.test-1.apk上未找到类“com.google.ads.AdView”
有什么想法吗
所以
要使用Android Studio 0.1.1成功地将JAR导入项目,请执行以下步骤:
- 下载library.jar文件并将其复制到应用程序项目中的/libs/文件夹中
- 打开build.gradle文件并编辑依赖项以包含新的.jar文件:
编译文件('libs/android-support-v4.jar','libs/GoogleedMobadSDK-6.4.1.jar')
- 文件->关闭项目
- 在项目的根位置打开命令提示符,即
'C:\Users\Username\AndroidStudioProjects\MyApplicationProject\'
- 在命令提示下,键入
gradlew clean
,等待完成 - 在Android Studio中重新打开应用程序项目
- 测试运行您的应用程序,它应该可以成功运行