Egret打包Apk出现的问题

2024-02-14 01:08
文章标签 问题 打包 apk egret

本文主要是介绍Egret打包Apk出现的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

build.gradle文件修改:

buildscript {repositories {jcenter()google()}dependencies {classpath 'com.android.tools.build:gradle:3.5.3'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
}allprojects {repositories {google()jcenter()flatDir {dirs 'libs'}}
}task clean(type: Delete) {delete rootProject.buildDir
}

app->build.gradle文件修改:

apply plugin: 'com.android.application'android {compileSdkVersion 29defaultConfig {applicationId "com.companyname"minSdkVersion 22targetSdkVersion 29versionCode 1versionName "1.0"ndk {abiFilters 'armeabi-v7a'}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}sourceSets {main {assets.srcDirs = ['../assets']jniLibs.srcDirs = ['libs']}}buildToolsVersion '29.0.3'compileOptions {sourceCompatibility JavaVersion.VERSION_1_7targetCompatibility JavaVersion.VERSION_1_7}
}dependencies {compile(name: 'egret', ext: 'aar')
}

修改完后重新编译就可成功,之后 Build->Build Bundle(s)/APK(s)->Build APK 打包即可

包的位置在 "项目文件夹\app\build\outputs\apk\debug\app-debug.apk"

 

去除包中显示的fps等调试信息

到项目  java->com.companyname->MainActivity.java  修改

nativeAndroid.config.showFPS = false;

 

正式包打包方法

正式包方法:Build->Generate Signed Bundle or APK->APK

然后根据提示填信息就行

正式包的位置:"项目文件夹\app\release\app-release.apk"

*中国大陆的country code是86

jar signature和full apk signature的选择

这是从 Android 7.0引入的一个新的签名机制,它为APK附加了一些特性使其更具安全性,所以这个选项虽然不是强制性的,但最好两个都选,如果选择V2会产生错误可以不选V2

Android Studio 编译错误 Received close_notify during handshake解决

修改build.gradle
buildscript{repositories{//jcenter() //把这里注释掉,换成阿里的源maven{ url'http://maven.aliyun.com/nexus/content/groups/public/' }maven{ url'http://maven.aliyun.com/nexus/content/repositories/jcenter'}google()}
}
allprojects{repositories{//jcenter() //把这里注释掉,换成阿里的源maven{ url'http://maven.aliyun.com/nexus/content/groups/public/' }maven{ url'http://maven.aliyun.com/nexus/content/repositories/jcenter'}} 
}

apk名(安装后的名字)修改

<applicationandroid:allowBackup="true"android:icon="@drawable/icon"//apk名字,用egret打包引用路径是//文件主路径\app\src\main\res\values\strings.xmlandroid:label="@string/app_name"android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >

记得一定要修改包名(不是apk名和apk文件名)

文件路径\app\src\main\AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="你的包名">

android studio自定义修改应用打包的apk文件的名字

gradle 3.0以上的版本:

android.applicationVariants.all {variant ->variant.outputs.all {//在这里修改apk文件名,引号内的字符串都可以随便定义outputFileName = "${variant.name}-v${variant.versionName}.apk"}
}

gradle 3.0以下的版本:

gradle的版本可以到工程下的build.gradle查看:

我的是 classpath 'com.android.tools.build:gradle:3.1.2'

在app的build.gradle文件的android{}括号里添加

android.applicationVariants.all { variant ->variant.outputs.each { output ->def outputFile = output.outputFileif (outputFile != null && outputFile.name.endsWith('.apk')) {             //在这里修改apk文件名def fileName = "想要的文件名.apk"output.outputFile = new File(outputFile.parent, fileName)               }}
}

 

这篇关于Egret打包Apk出现的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/707113

相关文章

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

MySQ中出现幻读问题的解决过程

《MySQ中出现幻读问题的解决过程》文章解析MySQLInnoDB通过MVCC与间隙锁机制在可重复读隔离级别下解决幻读,确保事务一致性,同时指出性能影响及乐观锁等替代方案,帮助开发者优化数据库应用... 目录一、幻读的准确定义与核心特征幻读 vs 不可重复读二、mysql隔离级别深度解析各隔离级别的实现差异

C++ vector越界问题的完整解决方案

《C++vector越界问题的完整解决方案》在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选,然而,数组越界访问始终是威胁程序稳定性的... 目录引言一、vector越界的底层原理与危害1.1 越界访问的本质原因1.2 越界访问的实际危害二、基