当前位置:   article > 正文

[Android] 在AndroidStudio中使用Python_android studio如何运行python脚本

android studio如何运行python脚本

这篇文章不包含Python的安装教程,请确保你已经安装好Python解释器。

安装Chaquopy

  1. /build.gradle 中添加如下语句:

    plugins {
         id 'com.chaquo.python' version '14.0.2' apply false
     }
    
    • 1
    • 2
    • 3
  2. /app/src/build.gradle 中添加如下语句:

    plugins {
         id 'com.android.application'
         id 'com.chaquo.python'
     }   
    
    • 1
    • 2
    • 3
    • 4
  3. /app/src/build.gradle 中的 android 中添加如下语句:

     defaultConfig {
         ndk {
         abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
         }
         python{
             version "3.8" //python版本,建议使用3.8
             buildPython "C:\\python.exe" //设置python解释器位置,注意版本对应
             pip{
                 install "libgen-api"
             }//安装python库,“libgen-api”是测试用的
         }
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

调用Python代码

  1. 启动Python环境:

        if (!Python.isStarted()) {
            Python.start(new AndroidPlatform(this));
        }
        ...
        python 代码
        ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  2. 利用 Java equivalent 调用Python代码,详见 Java API

  3. 设置联网权限,在 /app/src/main/AndroidManifest.xml 中的 manifest 块中添加如下语句:

     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    
    • 1
    • 2

测试代码

import android.widget.Toast;
import com.chaquo.python.PyObject;
import com.chaquo.python.Python;
import com.chaquo.python.android.AndroidPlatform;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (!Python.isStarted()) {
            Python.start(new AndroidPlatform(this));
        }
        if(Python.isStarted()){
            Toast.makeText(MainActivity.this, "this is debug message!", 5000).show();
            System.out.println("This is debug msg!");

        }
        Python py = Python.getInstance();   //获得Python实例
        PyObject libgen_api = py.getModule("libgen_api"); //import libgen_api
        PyObject libgen = libgen_api.callAttr("LibgenSearch"); //调用libgen_api.LibgenSearch()
        try{
        PyObject result = libgen.callAttr("search_author","Jane Austen");
        System.out.println(result);
        }catch (RuntimeException runtimeException){
            System.out.println("网络异常");
        }
        //测试时请连接VPN
        //虚拟机可能有网络问题,建议使用真实机
        //可通过Android Studio 下方 Logcat 选项卡查看输出。

    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

参考资料

  1. Gradle Plugin
  2. Java API
  3. Class Python

原文链接:在AndroidStudio中使用Python

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/418711
推荐阅读
相关标签
  

闽ICP备14008679号