我们正在将我们多年前的Android项目迁移到Android Studio并远离日食。
问题是我们有一些jar文件使用特定于我们工作的设备的代码。 (我知道!不要这么说。我正在和整个团队一起努力克服这个问题。)由于这些JAR文件覆盖了一些蓝牙代码,他们必须先在依赖列表中找到SDK。建立。 (这些库仅用于编译时。)
在eclipse上,Android SDK是一个完整的插件,我可以绝对控制库,并确保这些库是第一个。使用Android Studio,我似乎无法在依赖路径中控制SDK的位置。
我编辑了app.iml文件并更改了底部orderEntry标记的顺序。这似乎解决了IDE内部的问题,现在看起来很好。
我仍然无法使用gradle构建项目。
根据此处的反馈,这是我当前的build.gradle
apply plugin: 'com.android.application'
configurations { razrBuild }
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.myapp"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
razrBuild fileTree(dir:'assets',include: ['*.jar'])
provided files('assets/BluetoothGattService.jar')
provided files('assets/BluetoothGatt.jar')
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:22.1.1'
compile files('libs/android-support-v4.jar')
compile files('libs/myapp-util.jar')
}
project.afterEvaluate {
project.android.applicationVariants.all { v ->
v.javaCompile.classpath += configurations.razrBuild
}
}
有什么想法吗?
答案 0 :(得分:0)
将您想要编译时间的jar只放入一个文件夹中(对于我的例子:extlib) 然后将一些配置添加到build.gradle
configurations { providedCompile }
dependencies {
providedCompile fileTree(dir:'extlib',include:['*.jar'])
}
project.afterEvaluate {
project.android.applicationVariants.all { v ->
v.javaCompile.classpath += configurations.providedCompile
}
}