我能够创建一个新的AndroidStudio项目并将旧代码移植到它。
但是现在我得到了一些关于某些库的编译错误,如Flurry无法识别。
请参阅此屏幕截图,其中Flurry的引用为红色:
这就是我以前的旧版.jars:
我需要什么方式移植罐子?现在应该通过Gradle处理吗?我该怎么办?现在我的Gradle文件如下所示:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "problemio.com.problemionew"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
}
我应该添加如下行:
compile 'com.android.support:acra-4.2.3'
compile 'com.android.support:android-support-v4'
compile 'com.android.support:FlurryAgent'
compile 'com.android.support:gcm-server'
compile 'com.android.support:gcm'
答案 0 :(得分:2)
如果您想将罐子添加到项目中,请将您的罐子移到libs
文件夹和成绩档案中,执行以下操作:
compile files 'your.jar.file.name.here.jar'
为您要导入的每个jar。
这应该可以解决问题。
文件夹看起来像:
然后依赖块看起来像:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile files('libs/android_antlib_4-12-0.jar')
}
答案 1 :(得分:2)
如果您想继续使用这些罐子,请在行
指示的目录中找到它们compile fileTree(dir: 'libs', include: ['*.jar'])
这会编译位于jar
文件夹中的所有libs
文件,其中libs
文件夹直接位于app
文件夹中:
如果要交换存储在远程maven存储库(例如jCenter或Maven Central)中的依赖关系版本,那么您可以使用在问题末尾列出的单独compile
语句并让Gradle执行努力工作。但是,您需要为每个依赖项指定一些版本信息;请参阅compile 'com.android.support:design:23.1.1'
以获取完全指定的依赖项版本的正确格式。