[英]Android Gradle include local JAR file
我正在嘗試編譯一個使用JAR文件中的舊版lib的APK。
我已經通過其他問題上了SO,沒有幫助我: 1 , 2 , 3和4 。 我什至在github上發現了一個與我受苦的gradle / gradle / issues / 1184相關的開放問題gradle -q dependencies
未列出本地文件依賴項...這很糟糕,因為我浪費了大量時間思考文件依賴項沒有被包括在內。
無論如何,這是我項目的build.gradle文件:
// Project's build.gradle
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
這是應用程序的build.gradle
// app's build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.mycompany.myapp"
minSdkVersion 24
targetSdkVersion 26
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation files('libs/mylib_java.jar')
}
問題是,當我運行./gradlew build
,出現錯誤,好像在mylib_java.jar中實現的包不存在...
任務:app:compileDebugJavaWithJavac失敗/home/donatoaz/my_apk_gradle/app/src/main/java/com/mycompany/myapp/MainActivity.java:18:錯誤:包mycompany.mylib.audiofx不存在導入mycompany.mylib.audiofx .CustomEffect;
現在,我曾經能夠很好地編譯apk,但是那是使用非常老的Android Studio,沒有任何問題(我使用的是API Level 19,Android 4.4)。
我現在正在使用gradle 4.5.1。 PS我沒有使用Android Studio,這是在無間斷的持續集成服務器中構建的。
您應該能夠“提升”文件依賴關系,以便通過設置平面目錄存儲庫將其顯示在依賴關系報告中:
repositories {
flatDir {
dirs "libs"
}
}
dependencies {
implementation ":mylib_java:"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.