我最近下载了Android Studio来开发Android应用程序(我来自Eclipse),并且在与自己的项目一起使用外部库和/或外部JAR文件时遇到问题。注意:以下测试是在Android Studio中从头创建的新应用程序项目上进行的。
示例1:JAR导入。
从Google下载Admobs SDK的新副本。
将库jar复制GoogleAdMobAdsSdk-6.4.1.jar到项目的/ libs /文件夹中。
在项目浏览器中,右键单击新添加的library.jar,然后单击“添加为库”。
从技术上讲,此时一切正常,导入工作正常,布局编辑器显示了AdView小部件及其所有内容的预览。该唯一的问题是,它不会成功编译。
从控制台登录:
Gradle:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':APITests:compilePaidDebug'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'.
我尝试运行gradlew compileDebug --stacktrace,但问题似乎是尽管能够在代码和设计编辑器中成功导入类,但是在编译时,它无法解析导入。这是日志的相关部分:(此处有完整的stacktrace)
java:6: error: package com.google.ads does not exist
import com.google.ads.AdRequest;
java:7: error: package com.google.ads does not exist
import com.google.ads.AdView;
java:11: error: cannot find symbol
AdView mAdView;
symbol: class AdView
location: class MainActivity
java:22: error: cannot find symbol
mAdView = (AdView)this.findViewById(R.id.adView);
symbol: class AdView
location: class MainActivity
java:23: error: cannot find symbol
mAdView.loadAd(new AdRequest());
symbol: class AdRequest
location: class MainActivity
5 errors
:Test:compileDebug FAILED
但是同样,导入在编辑器中可以很好地工作,并且依赖关系在那里:
还值得注意的是,无需尝试添加库/ JAR,项目就可以正常编译。
然后,我尝试编辑build.gradle文件以包含新的库,如下所示:
dependencies {
compile files('libs/android-support-v4.jar', 'libs/GoogleAdMobAdsSdk-6.4.1.jar')
}
这次,它确实编译成功,但是应用程序现在强制关闭,显然,它无法从应用程序包的lib中找到特定的类。
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.ads.AdView" on path: /data/app/com.foo.test-1.apk
有任何想法吗?
狐的传说
绝地无双
相关分类