2016-08-03 4 views
0

이클립스에서 앱을 개발했으며 최근에 안드로이드 스튜디오로 작업하기 시작했습니다. 처음 앱을 옮길 때 모든 종속성이 문제없이 부드럽게 움직였습니다. 이제 추가하려고합니다. Facebook과 twitter를 통해 공유하는 기능이지만 build.gradle에서 플러그인을 사용하려고 할 때마다 트위터에 대해 매니페스트가 사라집니다. 아래의 코드와 같이안드로이드 스튜디오에서 플러그인을 사용할 때 매니 페스트가 누락되었습니다

build.gradle (프로젝트 : 프로젝트 이름) 문제는이 파일에 있습니다

// Top-level build file where you can add configuration options common to all sub-projects/modules. 
apply plugin: com.android.application 

buildscript { 
repositories { 
    jcenter() 
    //maven { url 'https://maven.fabric.io/public' } 
} 
dependencies { 
    classpath 'com.android.tools.build:gradle:2.1.0' 
    //classpath 'io.fabric.tools:gradle:1.+' 

    } 
} 
//apply plugin: 'io.fabric' 

allprojects { 
repositories { 
    jcenter() 
    // maven { url 'https://maven.fabric.io/public' } 
    } 
} 
/*dependencies { 
compile('com.twitter.sdk.android:twitter:[email protected]') { 
    transitive = true; 
} 
} 

android { 
sourceSets { 
    main { 
     manifest.srcFile 'app/src/main/AndroidManifest.xml' 
    } 
    } 
}*/ 

build.gradle (모듈 : 응용 프로그램)

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion '24.0.0 rc4' 

    defaultConfig { 
     applicationId "com.nwf.ICDLeKitab" 
     minSdkVersion 14 
     targetSdkVersion 14 
    } 

    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'),    'proguard-project.txt' 
     } 
    } 
} 

dependencies { 
    compile files('libs/icu4j-4_4_2_2.jar') 
    compile files('libs/jsoup-1.6.3.jar') 
    compile files('libs/ksoap2-android-assembly-2.6.0-jar-with-dependencies.jar') 
    compile files('libs/zip4j_1.2.6.jar') 
    //compile project('com.facebook:facebook-android-sdk-4.0.1') 
} 

누군가가 내게 어떤 일이 일어 났는지 설명 할 수 있습니까? android studio에서 라이브러리 및 종속성을 어떻게 사용해야합니까?

고맙습니다.

+0

는 "매니페스트 사라"무엇을 의미합니까? – Sufian

+0

일반적으로 프로젝트에 app : manifest와 java가 있습니다. 매니페스트 부분은 더 이상 표시되지 않지만 메인 폴더에는 여전히 존재하지만 안드로이드 스튜디오에서는 표시가 중단되고 Gradle 동기화가 실패합니다. – coder

+0

이것은 플러그인을 추가하려고 할 때마다 발생합니다. 적용 플러그인을 추가하는 경우에도 com.android.application을 온라인으로 여러 예제에서 보았지만 동일한 오류가 발생합니다. – coder

답변

1

잘못하고 있습니다. buildscript 안에는 가져 오기가 하나만 있어야합니다. 그래서 같이 :

buildscript { 
    repositories { 
     maven { url 'https://maven.fabric.io/public' } 
     // do not add any more things here! 
    } 

    dependencies { 
     classpath 'io.fabric.tools:gradle:1.21.5' 
     // do not add any more things here, either! 
    } 
} 

당신이 더 라이브러리를 가져올 당신의 dependencies 블록 내부를 추가하려면

.

그래서 모양을 build.gradle 업데이트 :

// Top-level build file where you can add configuration options common to all sub-projects/modules. 
apply plugin: com.android.application 

repositories { 
    maven { url 'https://maven.fabric.io/public' } 
} 

apply plugin: 'io.fabric' 
buildscript { 
    repositories { 
     maven { url 'https://maven.fabric.io/public' } 
    } 

    dependencies { 
     classpath 'io.fabric.tools:gradle:1.+' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     // maven { url 'https://maven.fabric.io/public' } 
    } 
} 
dependencies { 
    compile('com.twitter.sdk.android:twitter:[email protected]') { 
     transitive = true; 
    } 
    // replace following with your imports 
    compile 'com.facebook.android:facebook-android-sdk:4.5.0' 

} 

android { 
    sourceSets { 
     main { 
      manifest.srcFile 'app/src/main/AndroidManifest.xml' 
     } 
    } 
} 
+0

코드로 gradle을 게시했다면 gradle 파일의 모습을 정확히 보여줬을 것입니다. – Sufian

+0

코드로 추가하고 그림과 같이 모든 플러그인을 주석 처리하고 플러그인을 적용해도 com.android.application이 있습니다. 플러그인을 적용 할 때 com.android.application을 주석 처리 할 때 오류가 표시됩니다. 그것은 완벽하게 작동합니다.도와 주셔서 감사합니다. – coder

+0

팁을 주셔서 감사합니다. 실제로 실제로 작성하지 않았지만, Eclipse에서 Android Studio로 처음 이동했을 때의 기본값과 비슷했지만 가능하면 변경할 수 있습니다. – coder