2017-11-01 1 views
1

새로운 android gradle plugin으로 Android Studio 3.0.0으로 업데이트되었습니다. buildin 프로젝트는 메시지를 받았습니다 동안 :Gstreamer 빌드로 안드로이드 스튜디오가 업데이트되었습니다.

What went wrong: 
Execution failed for task `':app:externalNativeBuildDebug'`. 

Expected output file at `gst-build-arm64-v8a/libgstreamer_android.so` for target `gstreamer_android` but there was none 

하지만 libgstreamer_android.so 라이브러리 파일이 이미 존재한다. 네이티브 코드의 경우 ndk-build를 사용합니다. 누구든지이 문제가 있습니까?

+0

나는 똑같은 문제를 안고 있는데 알아 내려고 노력하고 있습니다 ... 나는 이미 4.1 대신에 gradle 4.3을 사용하려고했습니다. 깨끗하고, 재구성하고, 프로젝트를 다시 연결합니다 ... 나는 안드로이드 플러그인 3.0 다운 그레이드를 시도해보십시오. 더 나은 솔루션을 찾을 수 없습니다. –

+0

@EduardoFernando, 내 대답 좀보세요. – Valery

답변

3

Google 안드로이드 모듈 필드 타겟의 build.gradle 파일에 추가하십시오.

android { 
    defaultConfig { 
    externalNativeBuild { 
     ndkBuild { 
     targets "name_of_native_module_in_android_mk_file" 
     } 
    ... 
} 

gstreamer_android을 추가하지 마십시오.

+0

나는 몇 가지 질문을 가지고있다. 첫째로 : on (build.grade Module : app) rigth? 둘째로 : 내 externalNativeBuild {}가 defaultConfig {} 안에 있지 않습니다 ... android {} ... android {}에서 지우고 android {defaultConfig {}}에 넣어야합니까 ?? 셋째 : externalNativeBuild {ndkBuild {}} 내부에 "src/main/jni/Android.mk '경로가 있습니다."계속 지켜야합니까? 아니면 지우려면 "targets"명령 만 추가해야합니까? 네임 : "name_of_native_module_in_android_mk_file"은 무엇이고 어디에 있나요? "LOCAL_MODULE"변수에 있습니까? –

+1

@EduardoFernando, 1. gstreamer 사용 모델입니다. 2. externalNativeBuild는 Android.mk 파일의 응용 프로그램 보류 경로에 있으며 externalNativeBuild는 기본 구성으로 대상 (원시 모듈) 및 abi 필터를 설명했습니다. 나는 그것이 도움이되기를 바랍니다. 당신 – Valery

0

업데이트 : 발레리의 답변 작품!

폐기 답 : 나는이 문제에 깊은 살펴보고 시간이 될 때까지 완벽한 수정 아니다
, 그냥 일시적입니다. 당신의 Gradle을 플러그인 다운 그레이드
: -

  1. 파일 "프로젝트" "Gradle을 버전"필드 넣어에서
  2. 에서> 프로젝트 구조
  3. 클릭 :
    • 3.3
  4. 에서 'Android Plugin Version'입력란 :

    는 메시지를 수락 등 프로젝트를 동기화

  5. 2.3.3
  6. 히트 "OK"... 안드로이드 스튜디오, 다시 갱신 Gradle을 플러그인을 묻는 windown를 묻는 메시지를 표시 할 수 있습니다 단지 돈 ' t는 ...
    내가 어쩌면 Android.mk에 뭔가 변경하거나 build.grade에 다른 매개 변수를해야합니다, 만들어진 빌드 방식을 변경 Gradle을에 업데이트를 추측 ... 지금
    에게 이용 약관을 읽고 동의를

    편집 : 나는 약간의 clu를 발견했다. 에서 E : https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html

    API는 3.0.0이 API를 소개
    안드로이드 플러그인 이 특정 기능을 제거하고 기존이를 구축 깰 수 변경 변경됩니다. 나중에 플러그인의 버전이 기능을 대체하는 새로운 공용 API를 도입 할 수 있습니다.

    빌드시 변형 출력 수정이 적용되지 않을 수도 있습니다. 변형 출력을 조작하기 위해 변형 API를 사용하면 새 플러그인에서 오류가 발생합니다. 아래 그림과 같이 는 여전히, 빌드 시간 동안 APK 이름 변경과 같은 간단한 작업, 작동 : 그래서 ...

    을, 우리가 (Gradle을의 버전을 업데이트하지 않음) 임시 수정 프로그램을 계속 사용한다 같아요 ...

  7. +0

    'app/build/intermediates/ndkBuild/debug/obj/local/arm64-v8a/objs-debug/*. so'에있는 * .so 파일을 찾았습니다. 그러나 프로젝트를 빌드하는 동안 이들을 사용하는 방법을 모릅니다. – Valery

    관련 문제