chaquopy集成django并打包到apk中问题

news/2024/12/4 12:51:00/

我通过以下配置将python对应配置到Android studio中,并通过打包,但是无法启动django,麻烦有经验的大佬帮忙看看,谢谢。

以下是myapplication.java:

package com.example.rs232;import android.app.Application;
import android.util.Log;import com.chaquo.python.PyObject;
import com.chaquo.python.Python;
import com.chaquo.python.android.AndroidPlatform;import io.dcloud.application.DCloudApplication;public class MyApplication extends DCloudApplication {private static Application myApplication;@Overridepublic void onCreate() {super.onCreate();myApplication = this;Log.d("APPTag","myapplication is starting");// 初始化 Python 环境if (!Python.isStarted()) {Log.d("pythonTAG","python is starting");// 启动 Django 服务Python.start(new AndroidPlatform(this)); // 初始化 ChaquopystartDjangoServer();}}public static Application getInstance() {return myApplication;}// 启动 Django 服务private void startDjangoServer() {try {Log.d("djangoTAG","django is starting");Python py = Python.getInstance();PyObject djangoScript = py.getModule("rs232con.start_django"); // 对应 run_django.py 文件djangoScript.callAttr("run_django");} catch (Exception e) {Log.d("djangoErrorTAG","django is error");Log.d("djangoErrormsg",e.toString());e.printStackTrace(); // 打印错误日志}}
}

以下是Android studio :

apply plugin: 'com.android.application'
apply plugin: 'com.chaquo.python'android {compileSdkVersion 30buildToolsVersion '30.0.3'defaultConfig {applicationId "com.example.rs232"minSdkVersion 21targetSdkVersion 30versionCode 1versionName "1.0"multiDexEnabled truecompileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}ndk {abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"}python {// 指定python路径 注意更换为自己的Python路径!!buildPython "D:\\Program Files\\Python38\\python.exe"//安装第三方库pip{install "django==4.2.15"install "pyserial"}}sourceSets{main{
//                python.resources 'src/main/python'//                    setRoot "src/main"assets.srcDirs = ["src/main/assets/rs232con"]
//                python.include "src/main/python"}}
//        source{
//            main{
//                // 设置源代码根目录为 python 文件夹setRoot 'src/main' // 如果 python 文件夹在 src/main 下srcDirs = ['']
//                python.srcDirs  'src/main/python' // 指定 python 文件夹路径
//            }
//        }}// 自定义打包名称android.applicationVariants.all { variant ->variant.outputs.all {outputFileName = "rs232con.apk"}}signingConfigs {config {keyAlias 'key0'keyPassword '123456'storeFile file('test.jks')storePassword '123456'v1SigningEnabled truev2SigningEnabled true}}buildTypes {debug {signingConfig signingConfigs.configminifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}release {signingConfig signingConfigs.configminifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}aaptOptions {additionalParameters '--auto-add-overlay'ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"}
}dependencies {implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])implementation 'androidx.appcompat:appcompat:1.1.0'implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'implementation 'androidx.core:core:1.1.0'implementation "androidx.fragment:fragment:1.1.0"implementation 'androidx.recyclerview:recyclerview:1.1.0'implementation 'com.facebook.fresco:fresco:2.5.0'implementation "com.facebook.fresco:animated-gif:2.5.0"implementation 'com.github.bumptech.glide:glide:4.9.0'implementation 'com.alibaba:fastjson:1.2.83'implementation 'androidx.webkit:webkit:1.3.0'}
但是打包后的apk我解压后还是无法找到对应的打包django项目文件,不知道是不是哪里配置不对?

http://www.ppmy.cn/news/1552275.html

相关文章

【前端开发】小程序无感登录验证

概述 封装的网络请求库,主要用于处理 API 请求并支持自动处理 token 过期 和 token 刷新,适用于需要身份验证的应用场景,特别是在移动端中。 主要功能 自动附加 Token 在每个请求中自动附加 Authorization 头部,使用存储的 acces…

Redis探秘Sentinel(哨兵模式)

概述 Redis的高可用机制有持久化、复制、哨兵和集群。其主要的作用和解决的问题分别是: 持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进…

【人工智能数学应用篇】导数在人工智能中的详细应用场景

目录 导数在人工智能中的详细应用场景 1. 梯度下降法 1.1 概述 1.2 应用示例 2. 反向传播算法 2.1 概述 2.2 应用示例 3. 激活函数的导数 3.1 概述 3.2 常见激活函数和导数 3.3 应用示例 4. 自动微分 4.1 概述 4.2 应用示例 结论 导数在人工智能中的详细应用场景…

GitToolBox插件:让IntelliJ IDEA的Git操作如虎添翼

GitToolBox插件介绍 GitToolBox是一款针对IntelliJ IDEA的插件,旨在增强IDE内置的Git功能,使Git操作更加便捷和高效。无论是单独开发者还是团队中的一员,这个插件都能帮助更好地管理代码和协作流程。 功能特点 分支管理:GitToolBo…

springboot/ssm高校线上心理咨询室系统Java大学生心理健康咨询平台web源码

springboot/ssm高校线上心理咨询室系统Java大学生心理健康咨询平台web源码 基于springboot(可改ssm)htmlvue项目 开发语言:Java 框架:springboot/可改ssm vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据…

React Native 组件详解之SectionList、StatusBar、Switch、Text 、 TextInput

在本文中,我们将详细介绍 React Native 中的五个常用组件:SectionList、StatusBar、Switch、Text 和 TextInput。每个组件都有其独特的用途和特性,我们将通过示例代码和 API 说明来帮助你更好地理解和使用它们。 SectionList SectionList 是…

Python中常用的标准库以及功能

Python 提供了丰富的标准库,这些库为我们提供了常用的工具和功能,涵盖了从操作系统交互、文件处理、数据序列化、网络通信到多线程编程等方方面面。这些标准库大大简化了我们的工作,使得开发高效、稳定、易于维护的应用程序变得更加容易。在实…

模拟器快速上手,助力HarmonyOS应用/服务高效开发

文章目录 1 创建模拟器1)打开设备管理界面2)设置本地模拟器实例存储路径3)创建一个模拟器(1)选择模拟器设备(2)创建模拟器(3)启动模拟器(4)关闭模…