【发布时间】:2014-10-30 16:09:17
【问题描述】:
我使用的是 Android Studio 0.8.9
最近,我正在将 Eclipse 项目迁移到 Android Studio 项目中。我从File -> Import Project...开始
我遇到了一个非常奇怪的问题,Android Studio 无法编译我的主项目,原因是找不到符号。这些符号假设可以在我的一个库项目中找到:https://code.google.com/p/android-lockpattern/(版本 3.0.1)
这是错误消息之一
C:\projects\xxx.java:4: error: cannot find symbol
import group.pals.android.lib.ui.lockpattern.prefs.DisplayPrefs;
这是我奇怪的观察
我可以确认在构建 androidlockpattern 时没有错误
:androidlockpattern:compileLint
:androidlockpattern:copyReleaseLint UP-TO-DATE
:androidlockpattern:preBuild
:androidlockpattern:preReleaseBuild
:androidlockpattern:checkReleaseManifest
:androidlockpattern:preDebugBuild
:androidlockpattern:preDebugTestBuild
:androidlockpattern:prepareComActionbarsherlockActionbarsherlock440Library UP-TO-DATE
:androidlockpattern:prepareReleaseDependencies
:androidlockpattern:compileReleaseAidl UP-TO-DATE
:androidlockpattern:compileReleaseRenderscript UP-TO-DATE
:androidlockpattern:generateReleaseBuildConfig UP-TO-DATE
:androidlockpattern:generateReleaseAssets UP-TO-DATE
:androidlockpattern:mergeReleaseAssets UP-TO-DATE
:androidlockpattern:generateReleaseResValues UP-TO-DATE
:androidlockpattern:generateReleaseResources UP-TO-DATE
:androidlockpattern:mergeReleaseResources UP-TO-DATE
:androidlockpattern:processReleaseManifest UP-TO-DATE
:androidlockpattern:processReleaseResources UP-TO-DATE
:androidlockpattern:generateReleaseSources UP-TO-DATE
:androidlockpattern:compileReleaseJava UP-TO-DATE
:androidlockpattern:proguardRelease UP-TO-DATE
:androidlockpattern:mergeReleaseProguardFiles UP-TO-DATE
:androidlockpattern:compileReleaseNdk UP-TO-DATE
:androidlockpattern:packageReleaseJniLibs UP-TO-DATE
:androidlockpattern:packageReleaseRenderscript UP-TO-DATE
:androidlockpattern:packageReleaseResources UP-TO-DATE
:androidlockpattern:bundleRelease
我的主要项目确实包含 androidlockpattern 作为模块
dependencies {
compile project(':androidlockpattern')
...
Android Studio 编辑器可以识别 androidlockpattern。没有突出显示红线
我还有其他图书馆项目。它们都与我的主要项目一起编译得很好。到目前为止唯一的错误是 androidlockpattern。
这是详细的错误信息
C:\projects\xxx.java:4: error: cannot find symbol
import group.pals.android.lib.ui.lockpattern.prefs.DisplayPrefs;
^
symbol: class DisplayPrefs
location: package group.pals.android.lib.ui.lockpattern.prefs
C:\projects\xxx.java:195: error: cannot find symbol
Intent intent = new Intent(LockPatternActivity.ACTION_COMPARE_PATTERN, null,
^
symbol: variable ACTION_COMPARE_PATTERN
location: class LockPatternActivity
C:\projects\xxx.java:198: error: cannot find symbol
DisplayPrefs.setMaxRetry(this, Integer.MAX_VALUE);
^
symbol: variable DisplayPrefs
location: class JStockFragmentActivity
C:\projects\xxx.java:199: error: cannot find symbol
intent.putExtra(LockPatternActivity.EXTRA_PATTERN, startupLockPattern);
^
symbol: variable EXTRA_PATTERN
location: class LockPatternActivity
C:\projects\xxx.java:1239: error: cannot find symbol
case LockPatternActivity.RESULT_FAILED:
对于androidlockpattern 中的build.gradle,如下所示
apply plugin: 'com.android.library'
android {
compileSdkVersion 19
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "group.pals.android.lib.ui.lockpattern"
minSdkVersion 10
targetSdkVersion 10
}
buildTypes {
release {
runProguard true
proguardFiles 'proguard.cfg'
}
}
}
dependencies {
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile 'com.android.support:support-v4:19.1.0'
}
这是我的项目设置。我觉得很好。
知道我可以采取哪些其他步骤来诊断根本原因吗?
【问题讨论】:
-
模块的 build.gradle 是什么样子的?
-
@PedroOliveira 我更新了我的问题。谢谢。
-
将
targetSdkVersion 10更改为targetSdkVersion 19:) -
也许你在其他地方覆盖了目标。就像在清单什么的。我应该用它发布答案吗?
-
对不起。我犯了一个错误。同样的错误仍然...
标签: android eclipse gradle android-studio android-gradle-plugin