我最近下载了 Android Studio 来开发 Android 应用程序(我来自 Eclipse),但在使用外部库和/或外部 JAR 文件以及我自己的项目时遇到了问题。注:以下测试是在 Android Studio 中从头开始创建的新应用程序项目上进行的。
示例 1:JAR 导入。
1.从 Google 下载一份全新的 Admobs SDK。
2.将库 jar GoogleAdMobAdsSdk-6.4.1.jar
复制到项目的 /libs/ 文件夹。
3.3. 在项目浏览器中,右键单击新添加的 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
,问题似乎是,尽管在代码&设计编辑器中都能成功导入类,但在编译时却无法解析导入。以下是日志的相关部分:(完整堆栈跟踪)
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
但是,导入在编辑器中运行良好,依赖关系也存在:
[此处输入图片描述][4]
值得注意的是,在没有添加库/JAR 的情况下,项目编译也很正常。
然后,我试着编辑 build.gradle 文件,像这样将新库包含进来:
dependencies {
compile files('libs/android-support-v4.jar', 'libs/GoogleAdMobAdsSdk-6.4.1.jar')
}
这一次,编译成功了,但应用程序现在强制关闭了,因为显然它无法在应用程序软件包中找到该库中的某个特定类。
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.ads.AdView" on path: /data/app/com.foo.test-1.apk
有什么办法吗?
那么
使用 Android Studio 0.1.1 将 JAR 成功导入项目的步骤:
编译文件('libs/android-support-v4.jar', 'libs/GoogleAdMobAdsSdk-6.4.1.jar')</code>;
gradlew clean
,等待完成。你可以从 Eclipse 导出项目,然后从 Android Studio 导入项目,这应该可以解决你的问题: (请原谅我的语言,我说的是西班牙语)。 http://developer.android.com/intl/es/sdk/installing/migrate.html