gpt4 book ai didi

android - 如何在Android Studio中将jar文件放置在SDK之前?

转载 作者:行者123 更新时间:2023-12-03 04:39:22 25 4
gpt4 key购买 nike

我们正在将已有多年历史的Android项目从Eclipse移至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
}
}

有任何想法吗?

最佳答案

将您只想将编译时间的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
}
}

关于android - 如何在Android Studio中将jar文件放置在SDK之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30105420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com