2016-09-10 9 views
0

저는 주로 Python + Kivy로 간단한 응용 프로그램을 작성하려고합니다. 주로 내 용도로만 사용합니다. 개발을 위해, 나는, Kivy 프로젝트를 컴파일하고 Android 에뮬레이터로 실행하십시오.

안타깝게도 안드로이드 에뮬레이터에서 패키지로

  • 실행하여 응용 프로그램을 컴파일 순간에 나는 매우 루프를 닫을 수 없습니다

    • 수 있도록하고 싶습니다 -와 인터넷 검색은 도움이되지 못했습니다.

      나는 Kivy, buildozer, Android SDK와 관련된 모든 관련 도구를 다운로드했다고 생각합니다. 필자는 Kivy 'hello world'앱을 입력하고 안드로이드 에뮬레이션 없이는 잘 돌아갑니다. 불행히도 에뮬레이터 (x86 아키텍처)에서 실행하면 INSTALL_FAILED_NO_MATCHING_ABIS 오류가 발생합니다. ARM 아키텍쳐 (실행 속도가 꽤 느림)를 사용하는 에뮬레이터 디바이스를 만들면 에뮬레이트 된 디바이스에 앱을 설치할 수 있습니다.하지만로드되면 충돌이 발생합니다. 오류 메시지가 유익하지 않습니다.

      필자는 어떻게 든 Android 에뮬레이터 마법사에서 권장되는 기본 에뮬레이터 인 기본 x86 아키텍처 (?) 용 패키지를 빌드해야한다고 생각합니다. 맞습니까? 그렇다면 buildozer 도구로 어떻게 처리 할 수 ​​있습니까? 아니면 충돌없이 ARM 아키텍처에서 실행할 수 있습니까?

      일부 미세한 세부 사항 :

      • 내가 OSX에서 실행하고
      • 내가 응용 프로그램을 설치하려면 제안 된 명령 buildozer -v android debug
      • 와 패키지를 구축하고, 나는 아마 (에뮬레이터 창에 그것을이 끕니다 더 나은 방법이 ..?)
      • 에뮬레이터는 기본 'Nexus 5X'휴대 전화를 에뮬레이트합니다.
      • Android SDK 버전은 23
      • 012입니다.
  • 답변

    0

    실제 장치에 응용 프로그램을 설치하고 장치를 디버그 모드로 PC에 연결하고 adb logcat을 사용하여 오류의 원인을 알 수 있도록 장치의 로그를 가져 오는 것이 좋습니다. 이렇게하면 코드 또는 에뮬레이터 환경에서 문제가 발생하는지 확인할 수 있습니다.

    +0

    요점은 내 전화기에서 코드를 실행하지 않는 것입니다. 비용이 많이 드는 테스트 베드입니다. 어떤 경우에도 코드는 Kivy 'Hello World'예제에서 복사됩니다. 괜찮아요. – magiiique

    +0

    @magiiique http : // stackoverflow를 확인하십시오.com/questions/24572052/install-failed-no-matching-abis-when-install-apk – Juggernaut

    +0

    Etasamian - 네, 그건 제 문제입니다. 그러나'buildozer '로 빌드 할 때 해결 방법을 설명하지는 않습니다 - 하위 레벨 설정 파일에 대한 가시성이 없습니다. 아니면 내가 어떻게해야합니까? – magiiique

    0

    설치가 잘된 것 같습니다. 즉, 즉각적인 문제는 완전히 아키텍처입니다 (ARM 에뮬레이터의 충돌로 인해 앱에 버그가 있음을 알 수 있지만 logcat 로그를 검사하여 디버깅 할 수 있음).

    python-for-android는 x86을 지원하며이 방법으로 에뮬레이터에서 작동합니다. 이것을 --arch=x86과 함께 사용할 수 있습니다. 그러나, buildozer는 현재이 옵션을 노출하지 않습니다 (armeabi-v7a를 하드 코드합니다). 이 문제를 해결하기는 어렵지 않을 것입니다. buildozer github 저장소에서 문제를 자유롭게 열어보십시오.

    장치를 사용할 수있는 경우이를 사용하여 디버깅하는 것은 에뮬레이터를 사용하는 것보다 전혀 다르지 않거나 속도가 느리지 않습니다. Buildozer/python-for-android는 apk를 자동으로 실행하고 logcat 출력을 보는 것이 두 경우 모두 동일하게 작동합니다.