本文主要是介绍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出现的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!