2017-10-01 4 views
-1

안드로이드 앱 개발을 위해 안드로이드 스튜디오 2.3.3을 사용하고 있습니다. 오늘 저는 하나의 프로젝트를 만들었습니다. mainactivity와 같은 하나의 활동으로 구성했을 때 USB 디버깅을 사용하여 실제 장치에서이 응용 프로그램을 시도했지만 실행 중이었습니다.안녕하세요 세계 안드로이드 앱 실행 안 함

그런 다음 공유 API를 통해 내 다른 API 인 API 26에 공유했습니다. 그런 다음 오류가 발생했습니다. 불행히도 앱이 작동을 멈췄습니다.

내 앱 gradle 구성. 또한 업데이트됩니다. 즉

compileSdkVersion 26 
buildToolVersion 26.0.2 
minSdkVersion 21 
targetedSdkVersion 26 

또한, 나는 매니페스트 파일의 모든 권한을 정의하지 않았습니다.

이 응용 프로그램에는 복잡한 코드가 없습니다. 그것은 mainactivity에서 텍스트 뷰를 표시하는 것입니다.

하지만 한 가지를 경험했습니다. 내 API 26 기기에서 USB 디버깅을 사용하고 앱을 실행하면 앱이 완벽하게 작동합니다.

그러나 서명 된 APK 파일을 사용하여 API 26에서 실행하면 작동하지 않습니다.

+0

제대로 충돌하는 앱에 서명이되어 있습니까? – kodlan

+0

gradle 버전 2.2.3을 사용해보십시오 2.3.3에 약간의 오류가 있습니다. –

+0

충돌에 대한 logcat의 의미는 무엇입니까? 로그를 공유하십시오. – pleft

답변

0

공유 APK는 기기 구성을 위해 제작되었습니다. APK를 공유하려면 APK 빌드 사용 옵션 또는 서명 된 APK 생성 옵션을 작성해야합니다.

빌드 옵션 -> APK 빌드 옵션에서 APK를 빌드하십시오.

당신이 APK는 모든 사람에게 파일을 즐길 APP->으로 Build-> outputs- 내부의 앱 debug.apk> 앱 debug.apk

공유를 얻을 것이다.

+0

왜 문제가 해결되어야합니까? –

+0

당신의 제안은 효과가 있었지만 대답으로 받아들이 기 전에. 나는 묻고 싶다 ... 내가 서명 한 APK를 만들면 작동 할까? –

+0

나는 그것을 trie ... 그리고 나는 서명 버전 v1과 v2를 사용하여 내 애플 리케이션에 서명했을 때 .... 애플 리케이션 크래시 ... 그럼 난 단지 v2를 서명 버전을 사용하여 시도 ... 여전히 애플 리케이션 추락 .. .theni는 버전 v1의 서명 만 시도했습니다 .... 그 다음에 작동했습니다 ... 그 이유를 설명해 주시겠습니까 ??? –

0

응용 프로그램을 공유하려는 경우 프로젝트 레벨 gradle 파일에서 gradle 버전 2.2.3을 사용해보십시오. gradle 버전 2.3.3에는 오류가 있습니다.

dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.3' 
    } 
+0

그는 왜 이전 버전의 gradle 플러그인을 사용해야합니까? –

+0

잘 모르겠습니다. 그들은 인스턴트 실행을이 Gradle 버전에서 도입했습니다. 그런 다음 디버그 모드에서 안드로이드에 대한 단일 맛을위한 애플리케이션 만 실행할 수 있습니다. 이 링크에 따라 빌드 변형을 정의 할 수 있습니다. https://developer.android.com/studio/build/build-variants.html –

+0

디버그 APK를 공유해야 할 때마다 내가 사용하는 해킹인데 2.3을 사용합니다. 그렇지 않으면 3. –