0

必要なすべての依存関係を持つAARファイルの生成に問題があります。私は、ファイル>新規モジュール>インポート.JAR/.AARパッケージを使用して生成されたAARファイルを追加しようとしていますすべての依存関係を持つAARファイルを生成する

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 25 
    buildToolsVersion '25.0.3' 

    defaultConfig { 
     minSdkVersion 15 
     targetSdkVersion 25 
     versionCode 1 
     versionName "3.5.0" 
     multiDexEnabled true 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 

    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 

} 

dependencies { 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.facebook.android:facebook-android-sdk:4.14.1' 
    compile 'com.squareup.retrofit2:retrofit:2.3.0' 
    compile 'com.google.code.gson:gson:2.8.1' 
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1' 
    compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0' 
    compile 'com.google.android.gms:play-services:11.0.4' 
} 

:build.gradleのための構成を示します。しかし、FacebookとGoogle Playサービスが特定の外部依存関係をすべて含むことはできません。エラーメッセージ:

Error:No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version'). 

AndroidManifest.xmlにcom.facebook.FacebookActivityが見つかりません。

この問題を解決するのに手伝ってください。

更新

はなく、役に立たないの、のpom.xmlを使用して構築しようとしました。

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.loginradius.androidsdk</groupId> 
    <artifactId>loginradius-android-sdk</artifactId> 
    <version>3.5.0</version> 
    <packaging>aar</packaging> 

    <properties> 
     <!-- use UTF-8 for everything --> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>com.facebook.android</groupId> 
      <artifactId>facebook-android-sdk</artifactId> 
      <version>4.27.0</version> 
     </dependency> 
     <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>google-play-services</artifactId> 
      <version>r22</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>android-maven-plugin</artifactId> 
       <version>3.9.0-rc.1</version> 
       <configuration> 
        <sdk> 
         <platform>19</platform> 
        </sdk> 
        <deleteConflictingFiles>true</deleteConflictingFiles> 
        <undeployBeforeDeploy>true</undeployBeforeDeploy> 
       </configuration> 
       <extensions>true</extensions> 
      </plugin> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

</project> 
+0

https://stackoverflow.com/questions/24325333/no-resource-found-integer-google-play-services-version-whats-this – Lingeshwaran

+0

@Lingeshwaran:私はそれが適切な解決策ではないかもしれないと信じています –

答えて

0

すべての依存関係が保存されるpomファイルを生成する必要があります。

+0

私は、私はpomファイルを生成しようとしましたが、正常にビルドできませんでした。それについてもっと詳しく教えていただけますか? –

+0

@HiteshPamnani ok、試してみたところ – shmakova

+0

@HiteshPamnaniこのpomはあなたのライブラリーからのものではありません(例えばversion facebook sdkのため)。ここにそれを生成する方法を見てみてください:https://stackoverflow.com/a/34914603/4141049 – shmakova

0

libをリリースする予定の場合は、パッケージ化されたaarに依存ライブラリを含めず、代わりにlibビルドスクリプトにある同じcompileの依存関係を、アプリケーションのビルドスクリプト内に追加することをお勧めします。

app build.gradle

dependencies { 
    compile ':my-lib' 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.facebook.android:facebook-android-sdk:4.14.1' 
    compile 'com.squareup.retrofit2:retrofit:2.3.0' 
    compile 'com.google.code.gson:gson:2.8.1' 
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1' 
    compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0' 
    compile 'com.google.android.gms:play-services:11.0.4' 
} 

彼らはあなたのライブラリーのような公共のライブラリを使用する場合、あなたのライブラリーのユーザーがマージ競合に直面することはありません方法は、Gradleでは、自動的にそれらを解決しますありません。

+0

に公開する必要があります。しかし、私は単一のライブラリにすべての依存関係を含めるためのより良い方法を探しています。 –

+0

あなたのライブラリのユーザーが次のような問題に直面しないようにすることをお勧めします。https://stackoverflow.com/q/38658378/2949966 https://stackoverflow.com/q/29628067/2949966 Gradleで解決できないアプリケーションがlibに依存し、libからコードを呼び出すメソッドが含まれている間に、aarに内部にパッケージ化された特定のlibが含まれている場合、競合をマージする。 – ahasbini

関連する問題