2017-03-06 42 views
0

我有一系列我在Artifactory上託管的庫。一個圖書館在創建新方法的地方引入了最近的變化。將AAR指向它自己而不是Maven版本

我有我的項目設置,其中我的核心項目擁有其他幾個庫,並且有一個配置更改指向我的本地版本,而不是用於開發而不是Artifactory版本。

因此......調用庫B中的新方法可以很好地從核心庫A中正常工作。但是,從庫中的另一個類庫中調用庫B中的方法失敗。

它試圖從最新版本的緩存中加載爆炸的aar。這是停止構建,並最終停止產品發佈。

這裏是圖書館的build.gradle

apply plugin: 'com.android.library' 
apply from: '../../gradle/script/dependencies.gradle' 

buildscript { 
    apply from: '../../gradle/script/buildscript.gradle' 
    repositories { 
     myMaven() 
    } 

    dependencies { 
     classpath "com.android.tools.build:gradle:$ext.gradleBuildToolsVersion" 
     classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.0.0' 
    } 
} 

apply from: "../../gradle/script/buildscript.gradle" 
repositories { 
    myMaven() 
} 



def globalConf = rootProject.ext 

// Artifactory versions 
ext { 
    artifactPackageName = "com.foo.library" 
    artifactVersion = "5.9.25" 
    artifactName = "foo" 
    artifactoryRepo = 'android' 
} 

android { 
    compileSdkVersion globalConf.androidTargetSdkVersion 
    buildToolsVersion globalConf.androidBuildToolsVersion 
    defaultConfig { 
     minSdkVersion globalConf.androidMinSdkVersion 
     targetSdkVersion globalConf.androidTargetSdkVersion 
     versionCode 1 
     versionName project.ext.artifactVersion 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile('com.android.support:appcompat-v7:23.1.1') { exclude module: 'support-v4' } 

    compile('com.foo.library:core:[email protected]') { transitive = true } 
    compile 'com.internal.dependency.one:i-d-o:[email protected]' 
    compile 'com.internal.dependency.two:i-d-t:[email protected]' 
} 

apply from: '../../gradle/script/artifactory.gradle' 

什麼gradle這個配置,我需要以建立,以確保Java類,當他們呼籲在它自己的包裝的另一個類/方法,是指向該類的本地開發版本,而不是來自Maven的最新AAR?

+0

問題不明確。它是什麼意思「爲了將圖書館指向自己」? –

+0

對不起,我將嘗試編輯 –

回答

0
  1. 首先檢查是否合適的人工版本發佈了正確的版本號。
  2. 轉到您的主項目並檢查依賴關係。對版本進行更改以反映正確的工件。
  3. 如果您使用的是Android Studio,則可以使用File - > Invalidate Cache and Restart。這應該帶來你最新的文物和清理舊的。
  4. 您可以隨時前往app-> build-> intermediates-> exploded-aar-> 在這裏您可以看到aars的列表。
  5. 確保每個庫指向正確的工件版本。
+0

#1不是問題... #3我已經完成 #5我很確定不是問題 –

相關問題