我试图在
Android Studio(GameBaseUtils)中添加一个目录作为依赖项.我已经看到其他SO答案只是为他们的特定问题发布正确的gradle配置,但是我不明白我如何能够根据我的情况调整他们的答案.
这是我做的:
第一步:文件 – >导入模块 – >导航到目录并选择它.
第二步 – 文件 – >项目结构 – >模块 – >选择我的应用程序 – >依赖关系 – >将模块添加为我的项目的依赖项.
现在我的代码没有任何红线表示导入模块时出错.但是,当我选择构建时,我收到以下错误:
Gradle: package com.google.example.games.basegameutils does not exist Gradle: cannot find symbol class BaseGameActivity Gradle: cannot find symbol variable super ...
这是我的应用程序的build.gradle文件
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' dependencies { compile files('libs/android-support-v4.jar') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 8 targetSdkVersion 17 } }
如何正确导入此外部库,请解释您的解决方案的工作原理和原因?
解决方法
所以这就是我如何解决我的问题:
而不是添加
dependencies { compile files('libs/android-support-v4.jar') compile project(':Module') }
你必须写:
dependencies { compile files('libs/android-support-v4.jar','../Module') }
2个点表示模块(或目录)可以在实际的目录上方的1个目录中找到.所以如果你想访问一个上面有2个目录的模块,你只需要写:’../../ModuleName’
您必须手动将模块添加到build.gradle,因为Android Studio仍在开发中,并且尚未完成用于编辑项目结构的UI.
如果这不能解决你的问题,试着这样做:(我会推荐这种方法.这就是我实际做的方法)
Examplestructure:
>项目
>库(普通文件夹)
>模块2
>模块1
settings.gradle
include ':Module1',':libraries:Module2'
build.gradle(Module1)
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android' dependencies { compile project(':libraries:Module2') } android { compileSdkVersion 18 buildToolsVersion "18.0.1" defaultConfig { minSdkVersion 8 targetSdkVersion 11 } }
build.gradle(Module2)
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android-library' dependencies { compile 'com.android.support:support-v4:18.0.0' } android { compileSdkVersion 18 buildToolsVersion "18.0.1" defaultConfig { minSdkVersion 8 targetSdkVersion 11 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } }
这应该现在很好用.
要使一切正常工作,请按照以下步骤操作:
>删除.idea文件夹
>删除所有* .iml文件
>重新启动Android Studio并按“导入项目”
>选择包含gradle项目的目录
>从外部模型导入项目> Gradle>下一个>完
通过这些步骤,一切都应该很好.如果有任何问题请告诉我:)