Có cách nào để chạy Python trên Android không?


2093

Chúng tôi đang làm việc trên một phiên bản S60 và nền tảng này có API Python đẹp ..

Tuy nhiên, không có gì chính thức về Python trên Android, nhưng vì Jython tồn tại, có cách nào để con rắn và robot làm việc cùng nhau không ??

Câu trả lời:


1061

Một cách là sử dụng Kivy :

Thư viện Python mã nguồn mở để phát triển nhanh chóng các ứng dụng sử dụng giao diện người dùng sáng tạo, chẳng hạn như các ứng dụng đa chạm.

Kivy chạy trên Linux, Windows, OS X, Android và iOS. Bạn có thể chạy cùng mã [python] trên tất cả các nền tảng được hỗ trợ.

Ứng dụng trưng bày Kivy


63
Nếu bạn sử dụng Kivy, đây là một công cụ giúp gói dự án của bạn vào APK: github.com/kivy/python-for-android
gdw2

17
Tôi đã chơi xung quanh với Kivy tuần trước khi cố gắng viết một trò chơi. Các nhà phát triển chính của họ đã rất nhanh chóng trả lời các câu hỏi trên IRC tuy nhiên nếu bạn đã lập trình GUI trước Kivy sẽ khiến bạn nói WTF khá nhiều. Một số ví dụ về những điều không có giấy tờ kỳ lạ đối với tôi: Tất cả các tiện ích đều nhận được mọi sự kiện on_touch_down ngay cả khi sự kiện xảy ra bên ngoài khu vực của chúng, Không có tiện ích nào có phương thức vẽ (), hầu hết mọi thứ xảy ra thông qua mẫu quan sát tùy chỉnh trên Thuộc tính tùy chỉnh mà chúng tạo ra ( lưu ý những cái này chia sẻ tên với thuộc tính của Python, nhưng không giống nhau)
Trey Stout

7
@Trey: Còn những thứ không liên quan đến GUI thì sao? Có bất kỳ hạn chế nào liên quan đến việc sử dụng các mô-đun của Python không? Điều gì về quyền truy cập vào các tính năng dành riêng cho Android, chẳng hạn như khả năng đọc tin nhắn, thêm thông báo, làm việc ở chế độ nền, tạo ảnh, đọc danh sách liên lạc, xác định vị trí GPS, v.v.?
Tadeck

7
Và bây giờ cũng có hỗ trợ iOS!
rubik

16
Bây giờ, gần một năm sau, hỗ trợ nào tốt hơn? Ở đây đã có bất kỳ cải tiến đáng chú ý?
TankorSmash

347

Ngoài ra còn có dự án Môi trường kịch bản Android (ASE / SL4A) mới. Nó trông tuyệt vời, và nó có một số tích hợp với các thành phần Android gốc.

Lưu ý: không còn dưới "phát triển tích cực", nhưng một số nhánh có thể.


70
Đúng, nhưng họ phải cài đặt ASE, đó không phải là giải pháp cho phép bạn viết ứng dụng Android bằng python mà không cần cài đặt gì (người dùng bình thường sẽ là tất cả "wtf có phải là ASE này không?)
Stuart Axon

20
Hơn nữa, ASE là một môi trường hạn chế; bạn không thể viết các ứng dụng Android đầy đủ ngay cả khi ASE được cài đặt sẵn. Xem stackoverflow.com/questions/2076381
Sridhar Ratnakumar

10
Tôi nghĩ nó đã được đổi tên thành SL4A.
Vanuan

9
Bạn có thể viết ứng dụng, đóng gói chúng và thậm chí bán chúng trên Play Store nếu bạn thích, với SL4A ngày nay. Nó đi cùng tốt kể từ khi các ý kiến ​​trên được đăng. Nếu bạn muốn Python trên Android, thì PY4A, chạy trên SL4A có lẽ là lựa chọn tốt nhất.
Carl Smith

2
Tôi xác nhận, SL4A hiện cho phép viết các gói ứng dụng đã sẵn sàng để sử dụng, tôi đã thử với perl nó hoạt động
ubugnu

216

Đúng! : Môi trường tập lệnh Android

Một ví dụ thông qua Matt Cutts qua SL4A - "đây là máy quét mã vạch được viết bằng sáu dòng mã Python:

import android
droid = android.Android()
code = droid.scanBarcode()
isbn = int(code['result']['SCAN_RESULT'])
url = "http://books.google.com?q=%d" % isbn
droid.startActivity('android.intent.action.VIEW', url)

46
s / CÓ / meh. có lẽ / ... nó cực kỳ hạn chế. bất cứ điều gì đồ họa hoặc cảm ứng đa? một KHÔNG lớn.
gcb

2
@gcb bạn không thể sử dụng bộ tiện ích Android bình thường, nhưng bạn có thể sử dụng "webview" (ví dụ như ứng dụng gmail gốc sử dụng).
gdw2

28
đánh gôn:import android as a;d=a.Android();d.startActivity('android.intent.action.VIEW',"http://books.google.com?q=%d"%int(d.scanBarcode()['result']['SCAN_RESULT']))
Alex L

12
@ gdw2, chắc chắn ứng dụng Gmail gốc chỉ sử dụng WebView để phân tích email, chứ không phải cho giao diện người dùng thực tế. Điều đó làm cho sự so sánh hơi vô lý.
Veselin Romić

88

Tập hợp con Pygame cho Android

Pygame là một công cụ trò chơi 2D cho Python (trên máy tính để bàn) rất phổ biến với các lập trình viên mới. Các Pygame tập hợp con dành cho Android mô tả bản thân như ...

... một cổng của một tập hợp con chức năng Pygame cho nền tảng Android. Mục tiêu của dự án là cho phép tạo ra các trò chơi dành riêng cho Android và để dễ dàng chuyển các trò chơi từ các nền tảng giống như PC sang Android.

Các ví dụ bao gồm một trò chơi hoàn chỉnh được đóng gói dưới dạng APK, khá thú vị.


4
Một số khía cạnh đã bị hỏng trên Droid X của tôi (các nút hoặc màn hình cảm ứng, không thể nhớ), vì vậy tôi đã không đi được rất xa với tuyến đường này.
gdw2

78

Biên dịch chéo & Ignifuga

Blog của tôi có hướng dẫn và bản vá để biên dịch chéo Python 2.7.2 cho Android.

Tôi cũng đã mở Ignifuga , Công cụ trò chơi 2D của tôi. Nó dựa trên Python / SDL và nó biên dịch chéo cho Android. Ngay cả khi bạn không sử dụng nó cho các trò chơi, bạn có thể nhận được những ý tưởng hữu ích từ mã hoặc tiện ích trình tạo (có tên Schafer , sau Tim ... bạn biết ai).


4
Ấn tượng. +1 cho điều này. Không được chấp nhận vì bạn không thể viết bất cứ điều gì cho công chúng với điều này.
e-satis

1
Nếu bạn có nghĩa là bạn không thể làm các ứng dụng đồ họa với nó, thì chắc chắn bạn có thể, tất nhiên, cần nhiều công việc hơn. Tôi thực sự sử dụng cổng này kết hợp với SDL 1.3, việc chuyển từ trình thông dịch python sang ứng dụng tương tác không phải là chuyện nhỏ, nhưng có thể thực hiện được.
gabomdq

77

Lớp kịch bản cho Android

SL4A làm những gì bạn muốn. Bạn có thể dễ dàng cài đặt nó trực tiếp lên thiết bị của mình từ trang web của họ và không cần root.

Nó hỗ trợ một loạt các ngôn ngữ. Python là người trưởng thành nhất. Theo mặc định, nó sử dụng Python 2.6, nhưng có một cổng 3.2 bạn có thể sử dụng thay thế. Tôi đã sử dụng cổng đó cho tất cả các loại trên Galaxy S2 và nó hoạt động tốt.

API

SL4A cung cấp một cổng androidthư viện của họ cho mỗi ngôn ngữ được hỗ trợ. Thư viện cung cấp giao diện cho API Android bên dưới thông qua một Androidđối tượng.

from android import Android

droid = Android()
droid.ttsSpeak('hello world') # example using the text to speech facade

Mỗi ngôn ngữ có khá nhiều API giống nhau. Bạn thậm chí có thể sử dụng API JavaScript trong các lần xem web.

let droid = new Android();
droid.ttsSpeak("hello from js");

Giao diện người dùng

Đối với giao diện người dùng, bạn có ba tùy chọn:

  • Bạn có thể dễ dàng sử dụng các hộp thoại và menu chung, gốc thông qua API. Điều này là tốt cho các hộp thoại xác nhận và đầu vào cơ bản của người dùng khác.
  • Bạn cũng có thể mở một webview từ bên trong tập lệnh Python, sau đó sử dụng HTML5 cho giao diện người dùng. Khi bạn sử dụng các lần xem web từ Python, bạn có thể chuyển các thông điệp qua lại, giữa quá trình xem web và quy trình Python sinh ra nó. Giao diện người dùng sẽ không phải là bản địa, nhưng nó vẫn là một lựa chọn tốt để có.
  • một số hỗ trợ cho giao diện người dùng Android gốc, nhưng tôi không chắc nó hoạt động tốt như thế nào; Tôi chưa bao giờ sử dụng nó.

Bạn có thể kết hợp các tùy chọn, do đó bạn có thể có một webview cho giao diện chính và vẫn sử dụng các hộp thoại gốc.

QPython

Có một dự án của bên thứ ba tên là QPython . Nó xây dựng trên SL4A và ném vào một số thứ hữu ích khác.

QPython cung cấp cho bạn giao diện người dùng đẹp hơn để quản lý cài đặt của bạn và bao gồm một trình chỉnh sửa mã màn hình cảm ứng nhỏ, trình bao Python và trình bao PIP để quản lý gói. Họ cũng có một cổng Python 3. Cả hai phiên bản đều có sẵn từ Cửa hàng Play, miễn phí. QPython cũng gói các thư viện từ một loạt Python trên các dự án Android, bao gồm Kivy, vì vậy nó không chỉ là SL4A.

Lưu ý rằng QPython vẫn phát triển ngã ba SL4A của họ (mặc dù, không trung thực lắm). Bản thân dự án SL4A đã chết khá nhiều.

Liên kết hữu ích


1
Bạn có thể sử dụng bất kỳ cái nào để chạy script python từ terminal hoặc tasker không? Tôi không thể tìm ra cách :(
Pitto

1
Bạn có thể khởi chạy một tập lệnh SL4A từ Tasker. Có một số ví dụ trên trang này có các đoạn Python được khởi chạy từ Tasker. Nó thực sự là một câu hỏi hoàn toàn khác.
Carl Smith

77

Là một người yêu thích Python và lập trình viên Android, tôi rất buồn khi nói rằng đây không phải là một cách hay. Có hai vấn đề:

Một vấn đề là có rất nhiều ngôn ngữ lập trình cho các công cụ phát triển Android. Rất nhiều đồ họa Android liên quan đến các tệp XML để định cấu hình hiển thị, tương tự như HTML. Các đối tượng java tích hợp được tích hợp với bố cục XML này và việc viết mã của bạn đi từ logic sang bitmap dễ dàng hơn nhiều.

Vấn đề khác là G1 (và có lẽ các thiết bị Android khác trong tương lai gần) không nhanh như vậy. Bộ xử lý 200 MHz và RAM rất hạn chế. Ngay cả trong Java, bạn phải thực hiện một số lượng đáng kể việc viết lại để tránh nhiều đối tượng hơn nếu bạn muốn làm cho ứng dụng của mình hoàn toàn trơn tru. Python sẽ quá chậm trong một thời gian vẫn còn trên thiết bị di động.


48
Không có một từ java nào trên điện thoại Android, nó được biên dịch thành mã byte trong quá trình đóng gói. Tốc độ không phải là vấn đề: Google có thể cung cấp các công cụ sản xuất mã byte đúng từ mã python (như đối với Jython). BTW, Dalvik không phải là máy ảo Java nên đây không phải là về Java VS Python.
e-satis

6
Mã byte JAVA vẫn cần được xử lý bởi JVM và ngôn ngữ Java vẫn yêu cầu trình thu gom rác. Tốc độ thực tế chỉ có thể đến từ C ++.
LtWorf

19
@Touzen 2 năm sau, chúng tôi đang chạy bộ xử lý Intel Atom hoặc bộ xử lý octa-core. ;)
Rohan Kandwal

2
Do sự khác biệt về sức mạnh mà họ có thể vẽ, điện thoại sẽ luôn có độ lớn chậm hơn so với máy tính để bàn. Tuy nhiên, đừng từ bỏ Python cho thiết bị di động, vì thông thường chỉ một phần mã chịu trách nhiệm cho công việc đòi hỏi nhiều bộ xử lý và phần này có thể được tối ưu hóa bằng cách viết lại bằng ngôn ngữ khác.
Evgeni Sergeev

2
Bằng cách Google thúc đẩy Kotlin ngày nay - một ngôn ngữ khá lạ đối với hầu hết người dùng - rõ ràng là có thể hỗ trợ các ngôn ngữ khác ngoài Java (Tôi là một nhà phát triển Java và một người hâm mộ Python). Vì vậy, tôi nghĩ rằng câu trả lời là một chính trị hơn là một thực tế.
Alex

49

Kivy

Tôi muốn thêm vào những gì @JohnMudd đã viết về Kivy. Đã nhiều năm kể từ khi tình huống mà anh mô tả, và Kivy đã phát triển đáng kể.

Điểm bán hàng lớn nhất của Kivy, theo tôi, là khả năng tương thích đa nền tảng của nó. Bạn có thể mã hóa và kiểm tra mọi thứ bằng bất kỳ môi trường máy tính để bàn nào (Windows / * nix, v.v.), sau đó đóng gói ứng dụng của bạn cho một loạt các nền tảng khác nhau, bao gồm Android, iOS, MacOS và Windows (mặc dù các ứng dụng thường thiếu giao diện gốc).

Với ngôn ngữ KV riêng của Kivy , bạn có thể mã hóa và xây dựng giao diện GUI một cách dễ dàng (giống như Java XML, nhưng thay vì TextView, v.v., KV có ui.widgetscách dịch tương tự), theo ý kiến ​​của tôi khá dễ chấp nhận.

Hiện tại Buildozerpython-for-android là những công cụ được khuyên dùng nhất để xây dựng và đóng gói các ứng dụng của bạn. Tôi đã thử cả hai và có thể nói chắc chắn rằng họ làm cho việc xây dựng các ứng dụng Android với Python trở nên dễ dàng. Hướng dẫn của họ cũng được ghi chép lại.

iOS là một điểm bán hàng lớn khác của Kivy. Bạn có thể sử dụng cùng một cơ sở mã với một vài thay đổi cần thiết thông qua các công cụ Homebrew của kivy-ios , mặc dù Xcode là bắt buộc cho bản dựng, trước khi chạy trên thiết bị của họ (AFAIK Trình mô phỏng iOS trong Xcode hiện không hoạt động cho bản dựng kiến ​​trúc x86) . Ngoài ra còn có một số vấn đề phụ thuộc phải được biên dịch thủ công và xử lý xung quanh trong Xcode để có bản dựng thành công, nhưng chúng sẽ không quá khó để giải quyết và mọi người trong Kivy Google Group cũng thực sự hữu ích.

Với tất cả những gì đã nói, người dùng có kiến ​​thức Python tốt sẽ không gặp vấn đề gì trong việc tiếp thu những điều cơ bản một cách nhanh chóng.

Nếu bạn đang sử dụng Kivy cho các dự án nghiêm trọng hơn, bạn có thể thấy các mô-đun hiện tại không đạt yêu cầu. Có một số giải pháp khả thi mặc dù. Với các pyjas (đang tiến hành) cho Android và pyobjus , giờ đây người dùng có thể truy cập các lớp Java / Objective-C để kiểm soát một số API gốc.


Tôi vừa tải Kivy từ trang của nó. Hiển thị hỗ trợ cho Python 3.4 32 và 64 bit và bản demo của đầu vào cảm ứng hoạt động.
codeReview 29/07/2015

1
@codeReview, tôi chỉ sử dụng Kivy với Python2 và không có kinh nghiệm về nó với Python3, mọi thứ có chạy trơn tru không?
Anzel

Tôi sẽ cho bạn biết hy vọng sớm. Nhưng tôi không có kinh nghiệm với Python ngoài các tệp .py shell lệnh CPython 3.4 để giải quyết nhanh chóng các vấn đề về tính toán hoặc thuật toán. Đây sẽ là ứng dụng đầu tiên của tôi với GUI. Tôi cần đọc thêm tài liệu, để hiểu ngôn ngữ Kivy và cẩn thận làm theo các bước cài đặt, vì vậy tôi biết cách cài đặt Kivi vào IDE Python mà tôi chọn và đóng gói APK để chuyển sang Android. Đây là một quá trình gồm nhiều bước, vì vậy tôi có thể không thể sớm tin được.
codeReview 29/07/2015

1
@codeReview, chúc may mắn cho hành trình của bạn. Nếu đây là ứng dụng đầu tiên của bạn, tôi thực sự khuyên bạn nên sử dụng .kv làm tệp bố cục. Nó giống như một tệp yaml hoặc đơn giản là cây để xác định các widget bố cục. Nếu ứng dụng của bạn là đa màn hình / bố cục, hãy sử dụng ScreenManagervì điều này sẽ giúp bạn tiết kiệm hàng tấn thời gian. Ngoài ra một lời khuyên là hãy đọc danh sách gửi thư của họ, một nhóm người hiểu biết ở đó sẵn sàng giúp đỡ bạn.
Anzel

1
@codeReview, thay vì học từ ứng dụng demo của Kivy, bạn có thể hiểu thêm về việc tìm kiếm một số ứng dụng kivy hiện có và xem cách mọi người quản lý "widget" và gọi lại trong kịch bản trong thế giới thực. Kivy không khó học chút nào, tôi sẽ nói về mặt học tập dễ hơn nhiều so với nói, trong Java + Android hoặc object-C + iOS
Anzel

40

Termux

Bạn có thể sử dụng ứng dụng Termux , cung cấp môi trường POSIX cho Android, để cài đặt Python.

Lưu ý rằng apt install pythonsẽ cài đặt Python3 trên Termux. Đối với Python2, bạn cần sử dụng apt install python2.


5
+1 cho Termux. Môi trường hoàn toàn tuyệt vời để làm việc. Lựa chọn gói tuyệt vời trong repos, các phím tắt nút âm lượng tiện dụng. Đó là thứ gần gũi nhất với Debian trên điện thoại mà tôi từng tìm thấy.
James

39

Không phải lúc này và bạn sẽ may mắn có được Jython để làm việc sớm. Nếu bạn đang có kế hoạch bắt đầu phát triển ngay bây giờ, bạn sẽ tốt hơn nếu chỉ gắn bó với Java ngay bây giờ.


39

Sử dụng SL4A (đã được đề cập đến trong các câu trả lời khác), bạn có thể chạy một phiên bản web2py đầy đủ (các khung web python khác cũng có khả năng là ứng cử viên). SL4A không cho phép bạn thực hiện các thành phần UI gốc (nút, thanh cuộn và tương tự), nhưng nó hỗ trợ WebViews . Một WebView về cơ bản không có gì khác hơn là một trình duyệt web bị sọc chỉ vào một địa chỉ cố định. Tôi tin rằng ứng dụng Gmail gốc sử dụng WebView thay vì đi theo lộ trình widget thông thường.

Tuyến đường này sẽ có một số tính năng thú vị:

  • Trong trường hợp của hầu hết các khung web python, bạn thực sự có thể phát triển và thử nghiệm mà không cần sử dụng thiết bị Android hoặc trình giả lập Android.
  • Bất cứ mã Python nào bạn kết thúc bằng cách viết cho điện thoại cũng có thể được đặt trên máy chủ web công cộng với rất ít sửa đổi (nếu có).
  • Bạn có thể tận dụng tất cả những thứ điên rồ trên mạng: truy vấn, HTML5, CSS3, v.v.

2
Cherrypy hoạt động tốt, với sự hỗ trợ websocket ws4py. Chai cũng tốt trên SL4A.
Carl Smith

33

QPython

Tôi sử dụng ứng dụng QPython . Nó miễn phí và bao gồm trình chỉnh sửa mã, trình thông dịch tương tác và trình quản lý gói, cho phép bạn tạo và thực hiện các chương trình Python trực tiếp trên thiết bị của mình.


2
Bây giờ qpython đã thêm hỗ trợ Django! Đó là tất cả những gì tôi cần! Kinh ngạc!
swdev

27

Từ trang Python cho android :

Python cho android là một dự án để tạo bản phân phối Python của riêng bạn bao gồm các mô-đun bạn muốn và tạo apk bao gồm python, libs và ứng dụng của bạn.


1
@ e-satis: Cảm ơn bình luận của bạn. Tôi không thấy câu trả lời nào tôi đang nhân đôi. Tôi chỉ có thể đoán rằng bạn nghĩ PFA giống với Kivy. Mặc dù nó được lưu trữ trong dự án Kivy, bạn thậm chí không phải sử dụng Kivy để sử dụng PFA.
gdw2

Kiểm tra câu trả lời đã bị xóa của @ Tito ở điểm dưới cùng với PFA. Thêm vào đó, có rất ít sự quan tâm là chạy PFA mà không có kivy vì đó là bộ công cụ duy nhất bạn có.
e-satis

Không phải vì kivy hiện là bộ công cụ duy nhất có sẵn (một số người đang làm việc để tích hợp những người khác) hơn là bản sao. Vui lòng xem xét các tùy chọn khác như nó, và không hợp nhất tất cả vào một bài: |
Tito

21

Chaquopy

Chaquopy là một plugin cho hệ thống xây dựng dựa trên Gradle của Android Studio. Nó tập trung vào sự tích hợp chặt chẽ với các công cụ phát triển Android tiêu chuẩn.

  • Nó cung cấp các API hoàn chỉnh để gọi Java từ Python hoặc Python từ Java , cho phép nhà phát triển sử dụng ngôn ngữ nào là tốt nhất cho từng thành phần trong ứng dụng của họ.

  • Nó có thể tự động tải xuống các gói PyPI và xây dựng chúng thành một ứng dụng, bao gồm các gói gốc được chọn như NumPy.

  • Nó cho phép truy cập đầy đủ vào tất cả các API Android từ Python, bao gồm cả bộ công cụ giao diện người dùng gốc ( ví dụ: hoạt động thuần Python ).

Đây là một sản phẩm thương mại, nhưng nó miễn phí cho sử dụng nguồn mở và sẽ luôn duy trì như vậy.

(Tôi là người tạo ra sản phẩm này.)



20

Dưới đây là một số công cụ được liệt kê trong trang web python chính thức


Có một ứng dụng có tên QPython3 trong playstore có thể được sử dụng cho cả chỉnh sửa và chạy tập lệnh python.

Liên kết cửa hàng


Một ứng dụng khác có tên Termux, trong đó bạn có thể cài đặt python bằng lệnh

pkg install python

Liên kết cửa hàng


Nếu bạn muốn phát triển ứng dụng, có Python Script Script Layer ( SL4A ) .

The Scripting Layer for Android, SL4A, is an open source application that allows programs written in a range of interpreted languages to run on Android. It also provides a high level API that allows these programs to interact with the Android device, making it easy to do stuff like accessing sensor data, sending an SMS, rendering user interfaces and so on.


Bạn cũng có thể kiểm tra PySide cho Android , đây thực sự là các ràng buộc Python cho Qt 4.


Có một nền tảng được gọi là PyMob nơi các ứng dụng có thể được viết hoàn toàn bằng Python và luồng công cụ trình biên dịch (PyMob) chuyển đổi chúng trong mã nguồn gốc cho các nền tảng khác nhau.


Đồng thời kiểm tra python-for-android

python-for-android is an open source build tool to let you package Python code into standalone android APKs. These can be passed around, installed, or uploaded to marketplaces such as the Play Store just like any other Android app. This tool was originally developed for the Kivy cross-platform graphical framework, but now supports multiple bootstraps and can be easily extended to package other types of Python apps for Android.


Dùng thử Chaquopy SDK Python cho Android


Và ... BeeWare

BeeWare allows you to write your app in Python and release it on multiple platforms. No need to rewrite the app in multiple programming languages. It means no issues with build tools, environments, compatibility, etc.


2
sử dụng Termux, bạn có thể cài đặt python 2 cũng như $ apt cài đặt python2
M.Hefny 16/07/17


13

Bạn có thể sử dụng QPython :

Nó có Bảng điều khiển Python, Trình chỉnh sửa, cũng như Trình quản lý / Trình cài đặt Gói

http://qpython.com/

Đây là một dự án nguồn mở với cả hai triển khai Python 2 và Python 3. Bạn có thể tải xuống nguồn và các tệp .apk Android trực tiếp từ github.

QPython 2: https://github.com/qpython-android/qpython/release

QPython 3: https://github.com/qpython-android/qpython3/release


12

Một tùy chọn khác nếu bạn đang tìm kiếm 3.4.2 hoặc 3.5.1 là kho lưu trữ này trên GitHub.

Python3-Android 3.4.2 hoặc Python3-Android 3.5.1

Hiện tại nó hỗ trợ Python 3.4.2 hoặc 3.5.1 và phiên bản 10d của NDK. Nó cũng có thể hỗ trợ 3,3 và 9c, 11c và 12

Thật tuyệt khi bạn chỉ cần tải xuống, chạy make và bạn nhận được .so hoặc .a

Tôi hiện đang sử dụng điều này để chạy Python thô trên thiết bị Android. Với một vài sửa đổi cho các tệp xây dựng, bạn cũng có thể tạo x86 và armeabi 64 bit


11

Không thấy điều này được đăng ở đây, nhưng bạn có thể làm điều đó với Pyside và Qt bây giờ Qt hoạt động trên Android nhờ vào NESEitas.

Nó có vẻ giống như một loại bùn tại thời điểm này nhưng cuối cùng có thể là một tuyến đường khả thi ...

http://qt-project.org/wiki/PySide_for_Android_guide


9

Một tùy chọn nữa dường như là pyqtdeploy trong đó trích dẫn các tài liệu là:

một công cụ kết hợp với các công cụ khác được cung cấp với Qt, cho phép triển khai các ứng dụng PyQt4 và PyQt5 được viết bằng Python v2.7 hoặc Python v3.3 trở lên. Nó hỗ trợ triển khai cho các nền tảng máy tính để bàn (Linux, Windows và OS X) và cho các nền tảng di động (iOS và Android).

Theo triển khai ứng dụng PyQt5 cho Android thông qua pyqtdeploy và Qt5, nó được phát triển tích cực, mặc dù rất khó tìm thấy các ví dụ về các ứng dụng Android đang hoạt động hoặc hướng dẫn về cách biên dịch chéo tất cả các thư viện cần thiết cho Android. Đó là một dự án thú vị để ghi nhớ mặc dù!


6

Hãy xem BeeWare . Tại thời điểm trả lời câu hỏi này, nó vẫn đang được phát triển sớm. Mục đích của nó là có thể tạo các ứng dụng gốc với Python cho tất cả các hệ điều hành được hỗ trợ, bao gồm cả Android.


Sự khác biệt toi Kivy là gì? Nó là con trăn di động ổn định dựa trên Gui
Carsten Thielepape

5

Kiểm tra enaml -igen lấy khái niệm Reac -igen và áp dụng nó cho python.

Nó cho phép người dùng xây dựng các ứng dụng với các widget Android gốc và cung cấp API để sử dụng các thư viện android và java từ python.

Nó cũng tích hợp với android-studio và chia sẻ một vài tính năng dev tuyệt vời của phản ứng như tải lại mã và gỡ lỗi từ xa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.