使用 chaquopy 开发的应用程序会在部署时产生问题吗?

Posted

技术标签:

【中文标题】使用 chaquopy 开发的应用程序会在部署时产生问题吗?【英文标题】:Will apps developed using chaquopy create issues while deployment? 【发布时间】:2021-10-01 01:34:42 【问题描述】:

我想使用 chaquopy 在 android Studio 中进行 java/kotlin 和 python 代码之间的通信。下面显示的是我的构建 gradle 文件:

    plugins 
    id 'com.android.application'
    id 'com.chaquo.python'
    

    android 
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig 
        applicationId "com.example.image_processing_using_chaquopy"
        python
            pip
                install "numpy"
                install "opencv-contrib-python-headless"
                install "pillow"
          

            
        
        sourceSets
            main
                python
                    srcDirs = ["src/main/python"]
                
            
        
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        ndk 
            abiFilters "armeabi-v7a", "x86"
        

        python
            buildPython "C:/Users/hp/AppData/Local/Programs/Python/Python39/python.exe"
        
    

    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        
    
    compileOptions 
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    


dependencies 

    implementation 'androidx.appcompat:appcompat:1.3.0'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

在这里,我们提供了 python.exe 本地路径,并且 chaquopy 也没有在依赖项中列出。在安卓手机或其他一些外部设备上部署这个应用程序会导致任何问题吗?

【问题讨论】:

【参考方案1】:

这里,我们给出 python.exe 本地路径

这只影响构建过程:运行时不使用此路径。事实上,即使我们愿意,它也无法在运行时使用,因为 Android 应用无法直接访问您计算机的文件系统,即使您使用的是模拟器。

但是,为了让其他开发人员更容易构建您的源代码,最好删除 buildPython 行并允许 Chaquopy 在 PATH 上找到 Python,正如它在 the documentation 中所说的那样。如果您使用默认设置从 python.org 安装 Python,那么 py 启动器将已经在 PATH 上,因此这将自动运行。

chaquopy 也没有在依赖项中列出

没问题:文件顶部的 Chaquopy 插件会添加任何必要的依赖项。

【讨论】:

以上是关于使用 chaquopy 开发的应用程序会在部署时产生问题吗?的主要内容,如果未能解决你的问题,请参考以下文章

在 android studio 中使用 chaquopy 运行 python 脚本

如何在使用 Chaquopy 时在 android 中显示加载动画

chaquopy 中的语言检查工具

Android Studio 无法使用 chaquopy python 打开 COM 端口

如何使用 chaquopy 在颤振中包含 python .py 文件?

颤振,Chaquopy 示例