精华内容
下载资源
问答
  • 如何在手机上对文件进行打包
    千次阅读
    2021-02-09 17:09:46

    更新:打包后运行exe提示no model named usb,同样把site-packages下USB文件夹拷到打包的根目录,打包后exe是能正常打开的。但是实际上USB无法正常使用,提示Nobackendavailable。查了资料,原因是缺少libusb*.dll。网上解决办法也很多,大多比较复杂。这里依旧简单粗暴,把libusb0.dll拷贝到打包后的Mainwindow根目录下,USB通信不再报错。

    (检索libusb0.dll可用Everything,超级好用)

    作为一个硬件工程师,最近不务正业搞了个三轴机械臂工装,搞了底层MCU代码,上位机用python开发。

    此前python仅用于工作中的数据处理,这是第一次正经用python写上位机,因此需要打包成exe可以给其他人用。

    代码用pycharm写的,打包需要先“win+r”,运行cmd,通过“pip install pyinstaller”来安装这个打包工具。

    网上打包的方式大概看了下,主流有两种,一种是直接pyinstaller -F main.py -p xxx.py打包,打包后main.exe自己独立在dist路径下,其他文件依旧在外面。另一种是先生成.spec中间文件,通过修改这个spec再来打包成最终的exe。

    试了两种方式,第一种自己其实也会生成spec,但是打包后文件太乱,不好传递给别人,这里选择第二种。

    打包后长这样

    这里我的主文件是Mainwindow.py,其他文件放在Mechanical_arm里面。

    cd进这个目录,执行pyi-makespec Mainwindow.py,生成spec文件。打开spec文件,

    这里需要修改的只有红框处,把你需要打包的其他副文件一起包进去,如果跟Mainwindow在同一路径下则不需要加路径。然后在同一路径下,再执行pyinstaller -D Mainwindow.spec

    打包完成后,在dist\Mainwindow可以找到这个可执行文件。给别人时,整个Mainwindow拷贝走就好,很方便。

    双击这个exe运行我们的程序, 很完美,一个乌漆嘛黑的调试窗口一闪而过,如果不是我眼睛采样率够高,我都不知道它实际是有反应的。发生了什么错误呢?不知道...

    旁边坐了一个软件的同事,随口问了下他打包python后执行一闪而过,怎么处理。他告诉我用截图工具,在窗口一闪而过时把它截图截下来,看下报错内容是什么。好家伙,这是要拼手速,窗口停留时间目测在0.5s内啊!截了几次,总算截到一点,看到“most call...”没了...遂百度,方法一是在main文件里加一个输入语句input("please input any key to exit!"),方法二是直接cd进目录,用'.\xxx.exe'执行。直接采用方法二,总算看到了,原来是no model named serial。

    早就听说这个打包工具常丢包,这是把串口包给丢了。遂百度,各种 -p xxx ----hidden-import xxx 试了各种方式,包括增加环境变量把模块路径\Lib\site-packages,无果,依旧提示找不到。

    直接把site-packages目录下的serial文件夹拷贝到打包的根目录一试,竟然OK了...

    记录于此,当做自己的调试笔记吧

    不定期更新技术文章

    更多相关内容
  • 当Android系统的所有模块都编译好之后,我们就可以编译出来的模块文件进行打包了。打包结果是获得一系列的镜像文件,例如system.img、boot.img、ramdisk.img、userdata.img和recovery.img等。这些镜像文件最终可以...
  • 最近使用webpack + vue做个人娱乐项目时,发现npm run build后,css js img静态资源文件均找不到路径,报404错误。...此时的问题原因是,使用了相对地址后,css进行引入的图片路径,其相对的是css文件的路径 此时的
  • 手机打包文件

    2015-08-17 11:06:19
    手机打包文件,用户手机端html5开发
  • 最近用vue写一个小项目,其中就用到了vue脚手架工具vue-cli,测试打包后能否运行过程中遇到不少问题,而且在网上这些问题答案都不太好找,废话不多说,进入正题。 a.执行打包命令:npm run build b.打包之后...
  • 点击上方“码农的后花园”,选择“星标”公众号精选文章,第一时间送达Android程序开发完后,如果要发布互联网上供别人使用,就要将自己的程序打包成Android安装包文件(Androi...

    点击上方码农的后花园”,选择星标” 公众号

    精选文章,第一时间送达

    Android程序开发完后,如果要发布在互联网上供别人使用,就要将自己的程序打包成Android安装包文件(Android Package 简称APK),其后缀名为“.apk”。这是每个应用程序发布前必做的一项工作。

    Android 打包

    其实我们现在Android手机上所有的应用都是.apk文件,只不过分为系统自带和第三方,一个.apk文件本质其实就对应于你手机上的一个应用App程序,比如支付宝,淘宝。

    .apk文件就是一个包,打包就是要生成apk文件,有了apk别人才能安装使用。打包分debug版和release包,通常所说的将Android程序打包指生成release版的apk安装文件,也就是最后能安装在我们自己手机上的App的安装包。而Degug版的.apk文件的是指对我们做好的Android程序在我们电脑端的虚拟手机模拟器或者通过数据线或者Wi-Fi将自己的手机设备连接电脑作为一个虚拟手机设备进行运行调试生成的App的安装包,这个安装包只能在我们电脑端的虚拟手机模拟器和通过数据线连接电脑的。(本质上debug版本的.apk文件是Android通过调试桥adb运行调试生成的)

    release版App的.apk安装包文件会比debug版的小,release版的还会进行混淆和用自己的keystore签名,以防止别人反编译后重新打包替换你的应用。

    Android 打包签名

     Android项目以它的包名作为唯一标识,如果同一台手机上安装两个包名相同的应用,后面安装的应用就可以覆盖前面安装的应用。为了避免这种情况发生,Android要求对作为产品发布的App应用进行签名,也就是把自己的密钥keystore添加到打包生成的release版本的.apk文件上,相当于开发者对这个即将发布的应用App添加一个私有标识,进行一个专属签名。

    签名的主要作用

    • 确定发布者的身份:由于应用开发者可以通过使用相同包名来替换已经安装的程序,因此使用签名可以避免发生这种情况

    • 确保应用的完整性:签名会对应用包中的每个文件进行处理,从而确保程序包中的文件不会被替换。

    第一次对自己的Android程序打包,我们是没有密钥的,需要自己生成一个自己的密钥,用于对应用进行私有签名,生成的方式如下,在菜单栏里选择Build->Generate Signed Bundle/APK

    ace351d991b0fb51f877791915fde19d.png

    这里有两种打包和签名的方式,第一种是Android App Bundle,它将APK文件的生成和应用签名交由Google Play来完成。第二种是自己生成和管理自己的签名Keystore。

    1dbd44c5fe049751522e8e595ce017c5.png

    这里选择第二种打包签名方式,然后点击Next,会出现下面的界面。这里我之前已经创建了一个密钥key.jks,我将其保存在了D盘的key_store文件下,直接选择就可以了。但是如果你是第一次对Android程序打包是没有的,需要自己创建。这里选择Greate new...,重新再创建一个新的密钥。

    5d1e6f9d7a781e785e13dc1ccbcac5d2.png

    创建一个新的密钥的保存路径和密钥文件名称,以及密钥的密码,Certificate里面是一些官方的东西,自己的App的话可以随便填一个就可以了,不用管 太多。

    84c0974570c3590d95437c08bb1b4482.png

    填好后,选择OK,出现我们创建好了的新的密钥界面

    ce1102e4e38c5f54343b0914898931e8.png

    然后点击Next,选择发布版本的release,Destination Folder是生成release版的App安装包文件默认保存路径,可以修改,也可以不改

    ff18970767d097bee07a879eaf410cd5.png

    点击Finish,就开始对我们的App打包了,可以在build窗口中查看打包进度,打包的速度根据网速和电脑性能。

    687ffa716abca5eabea7e5e612283100.png

    打包完成后,可以在Event Log窗口中可以查看到打包完成信息。

    06ccc23d60a1af3a00f471234af00701.png

    打包完成后 ,点击Event Log窗口的locate或者analyze可以跳转查看到打包生成release版本的App的app-release.apk文件,如下所示。

    8d38e86b22b8c8f2a0cd906ad4dde2d8.png

    将上面的这个app-release.apk安装文件发送到自己或者别人的手机上,就可以直接安装你设计的App应用了。后台回复,关键字“生日快乐”,获得已经打包好了的生日快乐App和安卓开发入门手册。

    75e156ee594fcfbe4605c3deafa7f889.png

    往期精彩:

    Android App 开发的三种姿势 ~

    模型部署,移动端安卓App开发环境搭建和配置教程 ~

    运你的第一个“Hello World” 安卓App(附赠:安卓开发入门手册)

    展开全文
  • 最近要管理系统,添加一个帮助文档;就是点击”?”或者点击帮助,可以执行新窗口打开pdf文件,同时执行打包下载; 也是在网上各种查找,也参考了很多方法;诸多的就是借用jar包; 这也是一种很有效的方法,...

    java通过读取pdf文件下载

    新人一枚,有错的多包涵,也可以指出错误;多为自己留着回忆,方便直接查询。
    最近要在管理系统上,添加一个帮助文档;就是点击”?”或者点击帮助,可以执行在新窗口打开pdf文件,同时执行打包下载;
    也是在网上各种查找,也参考了很多方法;诸多的就是借用jar包;
    这也是一种很有效的方法,下面就贴出自己执行打包下载的方式
    首先观看前端代码,很简单:
    如果不是要考虑压缩包形式下载,其实可以直接考虑js就可以完全实现


    通过点击a标签onclick执行操作

    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <div>
        <a class="easyui-linkbutton help" onclick="helpWindow();downPDF();" href="javascript:;" data-options="iconCls:'icon-help-white',plain:true,iconAlign:'top',"></a>
    </div>

    onclick要同时执行2个操作时,可以通过”;”达到同时实现的功能
    通过js就可以实现读取,同时执行下载功能;不需要借助第三方jar,也不用后端代码就可以实现

    <script>
    //帮助手册
    function helpWindow(){
        var url = jsPath + "upload/帮助手册V2.0.pdf";
        window.open(url,'width:100%,height:100%,top=0, left=0, toolbar=no, menubar=no, scrollbars=no,directories=no, resizable=no,location=no, status=no,scrollbars=no,resizable=no')
    }
    function downPDF(){
        window.location=jsPath + "upload/帮助手册V2.0.rar";
    }

    这样简单,但是会对项目内存加大,同样的文件,要有pdf文件,也要有压缩文件;
    看到一些方法后,适合自己的,进行了简单的优化下符合项目结构,同样通过点击,前端通过url进行后端处理,压缩打包下载;主要通过流实现,也不需要考虑预先给出一个压缩包所在的位置,动态选择下载存放位置,也包含了对诸多浏览器功能正常。
    js依然相同,只是把function 做了简单修改,来请求url

    function downPDF(){
        //window.location=jsPath + "upload/帮助手册V2.0.rar";
        window.location.href="<%=basePath%>HelpDocumentController/downPDF.do";
    }

    Controller 代码:

    @RequestMapping("downPDF")
    public void downPDF(HttpServletRequest request,HttpServletResponse response) throws FileNotFoundException, IOException{
            //响应头的设置
            response.reset();
            response.setCharacterEncoding("utf-8");
            response.setContentType("multipart/form-data");
    
            String str = null ;
            PageData pd = new PageData(request);
            //获取服务器下要下载文件打包的路径
            String realPath = request.getRealPath("")+"\\upload\\";
            String urlPath = request.getRequestURL()+"/upload/";//获取路径 
            urlPath = urlPath.replaceAll("/HelpDocumentController/readPdfFile.do", "");
            String fileSerialno = MD5.MD5Encode(java.util.UUID.randomUUID().toString());
            File file = new File(realPath);
            File filelist[] = file.listFiles();
            for(File f : filelist){
                String filename = f.getName();
                if(filename.endsWith("pdf")){
                    //logger.info("Existence of txt file : " + f.getAbsolutePath());
                    String pdfPathname = f.getAbsolutePath();
                    //pdfPathname = pdfPathname.replaceAll("D:\\soft\\apache-tomcat-7.0.53\\webapps\\pos\\upload", "");
                    str = pdfPathname.substring(pdfPathname.lastIndexOf("\\")+1,pdfPathname.length());
                }
            }
            //String pdfpath = urlPath + str;
            String billname = str.substring(0,str.lastIndexOf("."));
            //设置压缩包的名字
             //解决不同浏览器压缩包名字含有中文时乱码的问题
            String downloadName = billname+".zip";
            //返回客户端浏览器的版本号、类型
            String agent = request.getHeader("USER-AGENT");  
            try {
                //针对IE或者以IE为内核的浏览器:  
                if (agent.contains("MSIE")||agent.contains("Trident")) {
                    downloadName = java.net.URLEncoder.encode(downloadName, "UTF-8");
                } else {
                    //非IE浏览器的处理:
                    downloadName = new String(downloadName.getBytes("UTF-8"),"ISO-8859-1");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            response.setHeader("Content-Disposition", "attachment;fileName=\"" + downloadName + "\"");
    
            //设置压缩流:直接写入response,实现边压缩边下载
            ZipOutputStream zipos = null;
            try {
                zipos = new ZipOutputStream(new BufferedOutputStream(response.getOutputStream()));
                zipos.setMethod(ZipOutputStream.DEFLATED); //设置压缩方法 
            } catch (Exception e) {
                e.printStackTrace();
            }
            //循环将文件写入压缩流
            DataOutputStream os = null;
            String modipath = request.getSession().getServletContext().getRealPath("/upload/"+str);
            File files = new File(modipath);
            if(files.exists()){
                try {
                    //添加ZipEntry,并ZipEntry中写入文件流
                    //这里,加上i是防止要下载的文件有重名的导致下载失败
                    zipos.putNextEntry(new ZipEntry(str));
                    os = new DataOutputStream(zipos);
                    InputStream is = new FileInputStream(files);
                    byte[] b = new byte[100];
                    int length = 0;
                    while((length = is.read(b))!= -1){
                        os.write(b, 0, length);
                    }
                    is.close();
                    zipos.closeEntry();
                } catch (IOException e) {
                    e.printStackTrace();
                } 
            }
             //关闭流
            try {
                os.flush();
                os.close();
                zipos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }    
        }

    流的使用,之前学的不好,这次操作,更让自己学到了很多有用的知识;java压缩打包下载,是借鉴了
    https://blog.csdn.net/wy123123000/article/details/73800866
    做了稍微修改,使得更符合自己!
    尊重知识原创,这就是实现压缩打包下载的整个流程!
    直接读取压缩包文件,还在优化,后期会更新

    展开全文
  • Android 系统镜像文件打包过程分析 前面一篇文章中我们分析了 Android 模块的编译过程当 Android 系统的所有模块都编 译好之后 我们就可以编译出来的模块文件进行打包打包结果是获得一系列的镜像文 件例如 ...
  • 但是更换了 python3.9后,发现打包后的文件,解压后,有个 @PaxHeader 文件。 查看tar包,发现里面多了一个. 目录,linux下,一般当前目录为【.】, 上级目录为【..】。 python 3.9 打的tar包,里面包含一个【本地...

    问题描述

    平台:Win 10 64位

     

    def tar_pak(out_filename, source_dir):
        if not os.path.exists(source_dir):
            sys.stdout.write("[tar.err] source dir is null!\n")
            return
        with tarfile.open(out_filename, "w") as tar:
            tar.add(source_dir, os.path.basename(source_dir))

     

     

    使用python 3.7 tarfile tar打包,发现生成的tar包正常。

     

     

    但是更换了 python3.9后,发现打包后的文件,解压后,有个 @PaxHeader 文件。

    查看tar包,发现里面多了一个. 目录,linux下,一般当前目录为【.】, 上级目录为【..】。

    python 3.9 打的tar包,里面包含一个【本地磁盘】的【.】目录!!

    展开全文
  • vue中如果需要引入外部js文件,避免被打包我们可以放到public文件下: public 下新建文件夹 json 中有 xmlList.js 文件 此时xmlList就不会被打包编译。 组件中使用数据 html文件中引入 <script src="json...
  • 关于python打包py文件成exe文件

    千次阅读 2022-01-25 18:16:23
    详细的介绍了常规的pyinstaller打包方法以及常见的打包问题及解决方法
  • 在网上也有很多把依赖文件打包进exe的方法,不过都只能打包一些图片或者文本而已。 另一种方法是通过修改PyInstaller配置文件*.spec来实现打包的方法,虽然挺不错,但是似乎不能移植到其他设备。所以我翻阅文献后...
  • apk文件以及打包流程

    万次阅读 2019-06-24 20:07:11
    前言:今天的文章挺简单的,也是最应该最开始写的内容,就是简单的说明一下apk的编译打包流程,只是今天刚想到这个事。想要了解apk的打包流程的同学可以看看该篇文章。 .apk文件 .apk文件其实就是一个压缩文件,...
  • 修改jar包文件,重新打包jar

    千次阅读 2020-12-29 16:43:41
    一、网上搜到的下列替换方案都不行: 1、直接用WinRAR拖拽替换jar包内文件 失败,报错:压缩文件已损坏。 我以前替换成功过,但是启动的时候报错。这种方式可能会伤害到jar包的一些标识。 2、解压jar包,然后...
  • 一、APK 文件结构、 二、APK 打包流程、 三、APK 安装流程、 四、安卓虚拟机、
  • webpack打包文件在本地与线上运行

    千次阅读 2022-03-30 20:05:42
    根据一篇webpack打包优化之后,想将成果物本地打开运行,发现只能展示空白页面。为何将成果包扔在线可以正常运行呢,本文探讨一下。 本地运行 打包后的成果物文件如下图所示。 直接打开index.html文件,页面...
  • 1、普通tar压缩命令tar -zcvf andywang.tar.gz andywang//将andywang文件夹压缩成andywang.tar.gz2、压缩后的文件太大,需要将andywang.tar.gz分割成N个指定大小的文件split -b 4000M -d -a 1 andywang.tar.gz andy...
  • 我相信很多小伙伴都知道怎么将Python的文件打包成exe,而且这个也非常的简单,一行代码就能轻松搞定:pyinstaller -F xxx.py 但是如果我们用Python开发一个小游戏或者一个GUI桌面应用小程序,想在手机上面运行试玩...
  • 文件打包需要使用软件操作,建议安装WinRAR软件后,再进行文件打包。步骤:1、打开文件夹,选择几个要压缩的图片文件,可以看到现在几个文件的总大小是3.09MB。2、右键点击这些图片,菜单选择‘添加到压缩文件’...
  • Python 程序打包成 exe 可执行文件

    千次阅读 2020-12-08 21:11:50
    可执行文件:对于非码农用户...比较麻烦的是需要针对不同平台需要打包不同的可执行文件(Windows, Linux, Mac,…)。.py 和.pyc 都比较简单,Python 本身就可以搞定。将 Python 脚本打包成可执行文件有多种方式。Py...
  • 1、打开HBuilder X ...再到natapp.exe同级目录下给以下config.ini配置文件 #将本文件放置于natapp同级目录 程序将读取 [default] 段 #命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置 #命
  • 用LabVIEW打包EXE应用文件打包程序安装文件的方法

    千次阅读 多人点赞 2019-02-12 13:20:53
    借此机会,我把几种打包方案和区别整理一下发布这里,欢迎大家批评指正,互相学习。 1、打包方式比对表 表1 打包方式比对 打包方式 优点 缺点 1、VI打包 快捷; 目标计算机中必须...
  • 今天记录一下关于uniapp开发出来的项目怎么进行打包,到本地手机上,这篇文章将从注册苹果开发者开始记录,一直到安装到iPhone手机上整个完整的过程,之所以写这篇文章第一是我自己需要记录一下,第二是很多博主也...
  • Android Studio中打包生成APK文件

    千次阅读 2020-08-02 21:42:39
    刚开始学Android,把AndroidStudio 和虚拟器Adk安装好后就想着怎么把一个简单的项目打包成apk安装到手机上 首先建立好一个简单的项目,然后点开Buind 然后选择apk 然后点Create new... 然后选择路径,和...
  • ​Linux 系统 tar 文件压缩打包命令

    千次阅读 2020-08-18 22:13:17
    专属目录Linux 系统 tar 文件压缩打包命令引言tar 命令定义tar 打包格式含义注意⚠️示例打包文件和目录onetwothree打包并压缩目录onetwotar 解打包格式含义示例解打包到当前目录下解打包到指定位置只查看文件包内容...
  • xcode打包iap文件安装到手机上

    千次阅读 2020-02-28 04:03:15
    如果版本匹配可以手机与电脑连接数据线进行真机测试 因为Xcode版本低,手机ios版本较新所以无法直接连接电脑进行真机测试,只能导出iap文件进行安装 ...如果已经编译出文件,可以直接调出窗口打包 ...
  • 将python文件打包成dll文件,并调用

    千次阅读 2021-07-01 17:49:21
    对于py文件,可以执行下面命令来生成pyc文件,转化后的.pyc文件当前目录的__pycache__文件夹下. python -m compileall <dir> 另外一种方式是通过代码来生成pyc文件,同样转化后的.pyc文件当前目录...
  • Android 打包流程之aapt打包资源文件

    千次阅读 2019-02-27 11:33:44
    Android应用最终是以apk的形式放在手机上安装并运行的,而负责将资源文件和代码进行打包的工具就叫appt,全称Android Asset Packaging Tool,翻译过来就是Android资源打包工具,是Android打包流程中不可或缺的一环。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 149,768
精华内容 59,907
关键字:

如何在手机上对文件进行打包