我正在尝试将使用Eclipse ADT开发的Android项目迁移到Android Studio。我已经阅读了这里提到的说明http://developer.android.com/sdk/installing/migrate.html,它运行正常!
Gradle构建一个新的android项目,但我需要“硬编码”(手动修改)gradle.build文件,以使库正常工作。所有其他的东西都很好。
这是ADT项目
所有MyApplication /
- >资产/
- >库/
---->机器人支撑-V7-appcompat.jar
---->机器人支撑-design.jar
- > RES /
- > SRC /
- >的AndroidManifest.xml
- > project.properties
第一个库由Gradle自动识别,并用
代替compile 'com.android.support:appcompat-v7:23.2.1'
在grandle.build文件中。 相反,“android-support-design.jar”无法识别,它将被添加到gradle.build中
compile file('libs/android-support-design.jar')
但它根本不起作用。
目前,我需要手动替换
compile file('libs/android-support-design.jar')
与
compile 'com.android.support:design:23.2.1'
为了使构建更有效。
有没有办法强制Gradle识别该库并自动导入它?我可以在任何地方下载可识别的库的版本吗?目前我正在从
中选择两个库< SDK> /额外/机器人/支撑/
谢谢大家。
答案 0 :(得分:0)
我需要“硬编码”gradle.build文件才能使库正常工作
我不确定“识别”和“硬编码”是什么意思,但是如果您只有jar文件而不能像compile
库一样使用support
行,然后你可以使用这一行,它将在libs/
文件夹中获取任何 jar文件并进行编译。您不需要对其中任何一个进行硬编码。
compile fileTree(dir: 'libs', include: ['*.jar'])
否则,您应该已经拥有这些。
compile "com.android.support:appcompat-v7:23.2.1"
compile "com.android.support:design:23.2.1"
但是,如果您想要使用Gradle,您可以执行类似的操作以使所有支持库保持相同的版本。
ext {
supportLibVersion = '23.2.1' // variable that can be referenced to keep support libs consistent
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile "com.android.support:appcompat-v7:${supportLibVersion}"
compile "com.android.support:design:${supportLibVersion}"