赞
踩
这篇文章不包含Python的安装教程,请确保你已经安装好Python解释器。
在 /build.gradle
中添加如下语句:
plugins {
id 'com.chaquo.python' version '14.0.2' apply false
}
在 /app/src/build.gradle
中添加如下语句:
plugins {
id 'com.android.application'
id 'com.chaquo.python'
}
在 /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”是测试用的
}
}
启动Python环境:
if (!Python.isStarted()) {
Python.start(new AndroidPlatform(this));
}
...
python 代码
...
利用 Java equivalent
调用Python代码,详见 Java API
设置联网权限,在 /app/src/main/AndroidManifest.xml
中的 manifest
块中添加如下语句:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
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 选项卡查看输出。 } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。