uniapp打包成安卓-金沙1005

uniapp打包成安卓_uniapp最多打包几次本文使用cli方式一、android原生配置官方文档0安装开发环境必备软件:androidstudiohbuilderx小程序android离线sdk,下载版本sdk(一般是最新版。版本要与hbuilderx版本一致,检查版本的方法看下面导出app资源小节)申请appkey登录开发者中心。如果没有账号,就注册一个。申请appkey需要进行邮箱和手机号的实名认证。在左侧菜单中选择我创建的应用,点击应用左侧选择离线打包key管理,选择对应平台iosandroid

本文使用cli 方式

0 安装开发环境

必备软件:

  • , 下载版本sdk (一般是最新版。版本要与 hbuilder x版本一致,检查版本的方法看下面导出app资源小节)

申请

  • 登录。如果没有账号,就注册一个。申请appkey需要进行邮箱和手机号的实名认证。
  • 在左侧菜单中选择我创建的应用,点击应用
  • 左侧选择离线打包key管理,选择对应平台 ios android,输入包名和sha1 (包名是自定义的,),确认无误点击保存,即可获取到对应平台的app.

替换 xxx为你的名称

// 生成 keystore 签名文件
keytool -genkey -alias xxx -keyalg rsa -keysize 2048 -validity 36500 -keystore xxx.keystore
// 查看 sha1 信息
keytool -list -v -keystore xxx.keystore  

-alias xxx : xxx是别名
xxx.keystore : 文件名
在这里插入图片描述

配置

android
打开android项目,配置主app的androidmanifest.xml文件, 导航到application节点,创建meta-data节点,name为dcloud_appkey,value为申请的appkey如下:

    
        
            

ios
点击参考ios平台的配置appkey章节.

查看版本

!!! 首先请确保uni-app编译器的版本号和离线 sdk 的版本号一致。
如果版本不一致,app启动时会弹出版本不一致的提示框

  1. 通过 hbuilder x 创建的项目
    帮助 —— 关于
    在这里插入图片描述
  2. 通过 vue cli 创建的项目
    cmd命令行 cd 到项目的根目录,执行 npm run info
    在这里插入图片描述
    3.1.18是它的版本, 那么在上面时,也要选择3.1.18的版本。
    在这里插入图片描述

1. 通过 hbuilderx 创建的项目

选择项目 -> 发行 -> 原生app-本地打包 -> 生成本地打包app资源
在这里插入图片描述

2. 通过 vue-cli 创建的项目

命令行 cd 到项目根目录,执行 npm run build:app-plus,会在 项目目录/dist/build/app-plus 下生成app打包资源。

在项目根目录新建一个文件夹,以 src/manifest.json 中的 appid 字段为文件名,然后在文件夹中创建一个 www 目录,将 app-plus 文件夹下的资源拷贝到 www 目录中。
在这里插入图片描述
如果 manifest.json 中appid 字段为空,需要将项目拖进 hbuilderx 中重新获取一个 appid。注意:appid不能随便填写,必须重新获取。

hbuilderx 重新获取 appid 的方法:

  1. 打开 hbuilderx ,文件 —— 导入 —— 从本地目录导入,将项目导入进来
    在这里插入图片描述
  2. 打开 src 目录,点击 manifest.json,点击基础配置右边的重新获取
    在这里插入图片描述
    登录,查看appkey是否生成了,以及包名是否为空。如果没有appkey,那么要填写下面的内容,生成。
    在这里插入图片描述
    重新运行npm run build:app-plus,生成新的app-plus内容,替换之前的www文件夹里的内容,并且打开里面的manifest.json 应该能看到id已经变成重新获取的appid了。
    在这里插入图片描述

0 新建android项目


如果之前没有新建android项目,那么要先创建一个空项目,如果已创建,可忽略此步骤。
填写 package name
language 选择 java ,因为小程序离线打包sdk不支持kotlin.
minsdkversion最低支持21,小于21在部分5.0以下机型上将无法正常使用。
在这里插入图片描述
图片上的mini sdk是19,实际要选21.

导入sdk libs

在步骤1.0里我们下载了小程序sdk,解压包,打开sdk/libs , 拷贝以下文件到libs目录下

lib.5plus.base-release.aar
android-gif-drawable-release@1.2.17.aar
uniapp-v8-release.aar
oaid_sdk_1.0.25.aar

libs目录:
点击左上角的android , 切换到 project 视图
在这里插入图片描述
就可以看到 app/libs 目录
在这里插入图片描述

build.gradle中添加资源引用

切回android视图。复制下面的代码到appbuild.gradle 里,
在这里插入图片描述
dependencies 下面添加代码:

 implementation filetree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
 implementation "com.android.support:support-v4:28.0.0"   //  28.0.0 要替换成你的build tools 版本
 implementation "com.android.support:appcompat-v7:28.0.0"
 implementation 'com.android.support:recyclerview-v7:28.0.0'
 implementation 'com.facebook.fresco:fresco:1.13.0'
 implementation "com.facebook.fresco:animated-gif:1.13.0"
 implementation 'com.github.bumptech.glide:glide:4.9.0'
 implementation 'com.alibaba:fastjson:1.1.46.android'

其中28.0.0 要替换成你的build tools 版本,如图,这里是 30.0.3
在这里插入图片描述
在这里插入图片描述
uni-app配置时需要在build.gradle中添加aaptoptions配置。 往上滑,在 android{} 里添加aaptoptions

android{
	 ....
	 aaptoptions {  
	     additionalparameters '--auto-add-overlay'  
	     ignoreassetspattern "!.svn:!.git:.*:!cvs:!thumbs.db:!picasa.ini:!*.scc:*~"  
	 }
 }

注意:更新sdk时需要同时更新aar/jar文件和build.gradle配置

点击右上角sync now ,同步gradle配置。
在这里插入图片描述

配置

① 配置 androidmanifest.xml

打开androidmanifest.xml,在application节点,创建meta-data节点,name为dcloud_appkey,value为申请的appkey. 如下:

<application>
  <meta-data android:name="dcloud_appkey" android:value="替换为自己申请的appkey" />
application>

在这里插入图片描述
在这里插入图片描述
配置应用启动页及provider节点
androidmanifest.xml

  • 删掉自动生成的 mainactivity 节点,如下图部分
    在这里插入图片描述
    同时删除项目里的 mainactivity 类,不需要了。

  • 复制如下代码到 application 节点里

<activity android:name="io.dcloud.pandoraentry" android:configchanges="orientation|keyboardhidden|keyboard|navigation" android:label="@string/app_name" android:launchmode="singletask" android:hardwareaccelerated="true" android:theme="@style/translucenttheme" android:screenorientation="user" android:windowsoftinputmode="adjustresize" >
<intent-filter>
<action android:name="android.intent.action.main" />
<category android:name="android.intent.category.launcher" />
intent-filter>
activity>
<activity android:name="io.dcloud.pandoraentryactivity" android:launchmode="singletask" android:configchanges="orientation|keyboardhidden|screensize|mcc|mnc|fontscale|keyboard" android:hardwareaccelerated="true" android:permission="com.miui.securitycenter.permission.apppermissionseditor" android:screenorientation="user" android:theme="@style/dcloudtheme" android:windowsoftinputmode="adjustresize">
<intent-filter>
<category android:name="android.intent.category.default" />
<category android:name="android.intent.category.browsable" />
<action android:name="android.intent.action.view" />
<data android:scheme="h56131bcf" />
intent-filter>
activity>
<provider android:name="io.dcloud.common.util.dcloud_fileprovider" android:authorities="${apk.applicationid}.dc.fileprovider" android:exported="false" android:granturipermissions="true">
<meta-data android:name="android.support.file_provider_paths" android:resource="@xml/dcloud_file_provider" />
provider>

!!! 注意:${apk.applicationid} 必须替换成当前应用的包名. 替换后: android:authorities=“com.carrie.knowpicture.dc.fileprovider”

  • 配置应用名称、图标和启动界面

应用名称
打开 res - values - strings.xml,修改 app_nane 的值。
在这里插入图片描述
应用图标
icon.png为应用的图标。
push.png为推送消息的图标。
splash.png为应用启动页的图标。

打开res目录,新建drawable-xxxhdpi 文件夹,将图标放到 drawable-xxxhdpi 文件夹
在这里插入图片描述
在这里插入图片描述
修改androidmanifest.xml中application节点的icon属性为@drawable/icon。如下图:
在这里插入图片描述

注意:splash.png在不同设备上显示效果不一样,为防止出现拉伸的状况,建议使用android studio生成.9.png类型图片

1 导入资源

新建 assets 目录
点击左上角的android , 切换到 project 视图
在这里插入图片描述
如下依次点击打开目录,在 main 文件夹右键,新建文件夹,命名为 assets 。固定名称不能更改。
在这里插入图片描述
assets右键新建一个文件夹apps,将 3.2 步骤的appid文件夹整个复制到 apps目录下。(文件夹结构包含 appid 和 www)
在这里插入图片描述
配置资源文件
打开之前下载的小程序sdk文件夹, 打开 sdk - assets 文件夹,复制 data 文件夹到 android studio的assets 目录下
在这里插入图片描述
修改dcloud_control.xml文件:

  • 修改appid
  • 生成自定义基座,在hbuilder根节点下添加:
    debug="true" syncdebug="true"
    在这里插入图片描述
    自定义基座支持热更新需要将debug-server-release.aar打入apk中,生成正式包时可以删除。
    详细步骤参考

2. 配置签名信息

打开 app build.gradle
buildtypes 上面添加如下代码:

signingconfigs { 

config { 

keyalias 'dnpic'   // 在1.0步骤生成keystore文件时定义的别名
keypassword 'carrie'  // keystore 密码
storefile file('e:/webdevelopment/dnpic/dnpic.keystore')  // keystore 本地存储路径,用 斜杠 /
storepassword 'carrie'  // keystore 密码
}
}

修改buildtypes - release :

    buildtypes { 

debug { 

signingconfig signingconfigs.config
minifyenabled false
proguardfiles getdefaultproguardfile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release { 

signingconfig signingconfigs.config
minifyenabled true
shrinkresources true
proguardfiles getdefaultproguardfile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}

同步 sync now

点击 运行 .
在这里插入图片描述

build – generate signed bundle / apk
在这里插入图片描述
选择 apk
在这里插入图片描述
在这里插入图片描述
选择release , 选中 v1 v2
在这里插入图片描述
成功后,在 app\release 目录下,看到生成的apk.


(optional) 重写application

如果集成离线sdk时需要重写application (不需要则跳过这一步),必须继承自dcloudapplication,否则会导致sdk中业务逻辑无法正常运行。

新建一个java类 myapplication:

class myapplication extends dcloudapplication { 

@override
public void oncreate() { 

super.oncreate();
}
}

myapplication 配置到androidmanifest.xml中(如下): 在 application 节点中添加代码:

android:name=".myapplication"
tools:replace="android:name"

tools需要导入。在上面的manifest 里添加:
xmlns:tools="http://schemas.android.com/tools"

name里是myapplication路径,默认前缀为package
在这里插入图片描述


faq

1、项目配置都正确怎么还是提示”未配置appkey或配置错误”?

安装包的信息与你在申请appkey填写信息不符导致的。
appid 应用包名 签名sha1三者必须与申请填写的信息一致才可以的。

js555888金沙老品牌的版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由思创斯整理,转载请注明出处:https://ispacesoft.com/91263.html

(0)

相关推荐

  • android默认exported_androidmanifest.xml文件中exported属性解析4、目标activity的属性android:exported=”true”如果组件包含有intent-filter则exported默认值为true;没有intent-filter则exported默认值为false。当exported为true时可以被外部其他app所调用当exported为false时可以被外部其他app所调用5、目标activity具有相应的intentfilter,…

    2022年10月21日
  • 怎么修改apk源码_如何修改apk安装包修改之前一定要先安装java开发环境,不会装的去自行百度。文章较长,耐心阅读。一直在做android应用开发,但对于从自己手中输出的apk包,了解并不是很深。最近想研究一下,消除下自己的一些技术盲点。好吧,废话少说,先切入主题。这篇文章主要介绍如何获取apk包中的dex文件,并简单修改里面的源码,再重新打包生成apk文件。下面提供对helloworld.apk的解包,修改源码,重新打包…

  • android平台签名_android多个appandroidapp的签名android项目以它的包名作为唯一的标识,如果在同一部手机上安装两个包名相同的app,后者就会覆盖前面安装的应用。为了避免androidapp被随意覆盖,android要求对app进行签名。下面介绍对app进行签名的步骤1、选择builder菜单下的generatesignedapk2、弹出签名向导对话框3、在该对话框中选择数字证书,如果…

  • android查看端口占用「建议收藏」adbshellnetstat-t

  • android 顶部标题栏actionbar详解转载自http://www.cnblogs.com/yc-755909659/p/4290784.html一、actionbar介绍  在android3.0中除了我们重点讲解的fragment外,actionbar也是一个非常重要的交互元素,actionbar取代了传统的tittlebar和menu,在程序运行中一直置于顶部,对于android平板设备来说屏幕更大它的

    2022年12月16日
  • android sdk download_android studio sdk安装一、下载androidskd下载地址:https://www.androiddevtools.cn/1、下载androidsdktools下载最新的版本即可。选择zip的,解压缩至目标路径位置即可解压后目录2、双击“sdkmanager”,启动sdkmanager下载的东西比较多,而且比较久,建议在网络比较好的情况下载,或者分批下载。晚上睡觉的时候下载,这样就不用耗时在等下载。勾选了怎么不可以安装咧?需要勾选acceptlicense①、too

  • ubuntu能用安卓软件吗_ubuntu编译所必须的软件匿名用户1级2016-10-27回答方法/步骤1安装ubuntu10.04.4,可以使用虚拟机安装2安装编译环境,使用如下命令sudoapt-getinstallgit-coregnupgflexbisongperfbuild-essentialzipcurlzlib1g-devlibc6-devlib32ncurses5-devia32-libsx11proto-co…

  • 安卓安装包签名_数字签名是笔记签名的模拟我们知道,一款android要发布的话,必须经过签名,android目前支持的签名方式包括三种:v1方案:基于jar签名。 v2方案:apk签名方案v2(在android7.0中引入)。 v3方案:apk签名方案v3(在android9中引入)。为了最大限度地提高兼容性,请按照v1、v2、v3的先后顺序采用所有方案对应用进行签名。与只通过v1方案签名…

发表回复

您的电子邮箱地址不会被公开。

联系金沙1005

关注“java架构师必看”公众号

回复4,添加站长微信。

附言:ispacesoft.com网而来。

关注微信
网站地图