SDK_骁骑
SDK_骁骑
  • 发布:2018-04-16 17:09
  • 更新:5 天前
  • 阅读:31046

使用新版本5+SDK创建最简Android原生工程(Android studio)

分类:5+ SDK

1 使用Android Studio创建一个工程

2 删除原生工程中Java目录下系统默认创建的源代码

3 复制SDK->libs->lib.5plus.base-release.aar文件到原生工程工程的app->libs目录下

4 打开工程的build.gradle文件


4.1 添加aar文件引用到dependenciesr如下代码

compile(name: 'lib.5plus.base-release', ext: 'aar')  

4.2 添加aar文件搜索路径添到gradle文件,与dependencies同级, 代码如下

repositories {  
    flatDir {  
        dirs 'libs'  
    }  
}  


4.3修改工程的targetSdkVersion大于等于21

4.4 multiDexEnabled设置成false

5 打开工程的Androidmanifest.xml文件,复制以下内容替换该文件中原有application节点下的内容

<application  
    android:name="io.dcloud.application.DCloudApplication"  
    android:allowClearUserData="true"  
    android:icon="@drawable/icon"  
    android:label="@string/app_name"  
    android:largeHeap="true"  
    >  
    <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>  
</application>  

6 在app->src->res->drawble目录下放应用的图标文件文件命名为icon.png

7 复制SDK->assets->data目录和目录下的文件到工程的src->main->assets目录下,新创建的工程默认没有assets目录,可在与java同级目录下创建assets目录

8 Assets目录下创建apps目录,复制应用资源到apps目录下。 注意: 应用资源的路径为[appid]->www, appid为应用资源manifest.json文件中id节点的值

HBuilderX支持导出本地打包资源,参考:HBilderX生成本地打包App资源


9 修改assets->data->dcloud_control.xml文件的apps->app->appid属性的值改为当前应用manifest.json文件id节点的值

离线SDK下载

新版本5+ SDK对功能和资源进行了整合,按照文档配置好工程后支持大部分的5+API,除OAuth,Share,Push,Statistic,Payment,Speech,Maps等需要使用第三方SDK的5+API,如需使用以上几个功能则需要针对插件单独配置文档链接如下

Android平台离线打包分享插件配置

Android平台离线打包授权登陆插件配置

Android平台离线打包地图插件配置

Android平台离线打包定位插件配置

Android平台离线打包支付插件配置

Android平台离线打包推送插件配置

Android平台离线打包语音插件配置

16 关注 分享
DCloud_UNI_Trust DCloud_UNI_Neil xinannansha SeanChi JoyceWu12 fx4399 非良人 小U的主人 lvxingju@163.com MR不靠谱 吕地瓜 310@zjj.tv 404145601@qq.com 1046770071@qq.com yhusky@qq.com shwanYu

要回复文章请先登录注册

308944543@qq.com

308944543@qq.com

回复 1721511741@qq.com: compile(name: 'lib.5plus.base-release', ext: 'aar') 这里,谢谢啦
5 天前
1721511741@qq.com

1721511741@qq.com

回复 308944543@qq.com: 你是问哪里?
5 天前
308944543@qq.com

308944543@qq.com

回复 1721511741@qq.com: 不好意思,没有做过Android,这里要怎么写啊,能贴出来吗?
6 天前
1721511741@qq.com

1721511741@qq.com

回复 mdm20083143@126.com: 你这个转圈,我也碰到了,说实话,这个东西,搞得我晕头转向的,做原生android也没这么累
2019-03-14 18:31
1721511741@qq.com

1721511741@qq.com

这个文档真是日了,首先,可以在Android studio3.0中,compile依赖关系已被弃用,被implementation和api替代,这里应该使用implementation,还好我以前是做android的,不然又懵逼了
2019-03-14 18:28
zy

zy

最新的sdk打包,android的,使用了微信分享功能,提示Error: Program type already present: com.tencent.a.a.a.a.a
2019-02-28 16:42
mdm20083143@126.com

mdm20083143@126.com

然后使用官方项目替换www下的静态资源,直接显示白屏
2019-02-25 14:01
mdm20083143@126.com

mdm20083143@126.com

按照文档一步步来的,根本不给机会啊,启动后一直转圈圈,第一次见到这么神奇的文档
2019-02-25 14:00
h2_haozi

h2_haozi

回复 妙法莲花: 你的解决了吗?
2019-02-20 23:52
妙法莲花

妙法莲花

uni-app项目添加后白屏什么鬼,id都配置了的
2019-02-14 11:09
___K

___K

回复 1090318353@qq.com: 我的解决了,文件夹名称apps.appid.www我一开始以为是目录名,谁知道是一级级的文件夹,新建文件夹之后就可以了、
2019-01-29 13:21
___K

___K

回复 1090318353@qq.com: 兄弟。解决了吗?
2019-01-29 13:05
zy

zy

android离线打包提示未添加messaging权限模块
2019-01-28 17:40
任我皮

任我皮

回复 g417317028@163.com: WXEntryActivity.java文件去哪里引用
2019-01-24 10:45
天使中的魔鬼

天使中的魔鬼

Android 本地离线打包。分享无法唤起微信,底部菜单(选项卡)显示空白。使用云打包、Android-Studio工具打包都有问题!!!
只有使用HbuilderX工具本地打包运行就没有问题!!!!
使用的官方最新的SDK包,是官方提供的SDK有问题还是需要在哪里再配置下?各位难道没有遇到和我一样的问题?
2019-01-10 16:43
1768071322@qq.com

1768071322@qq.com

回复 中旭信息: 在哪里下以前的SDK,历史里的都点不进去
2019-01-07 11:28
1768071322@qq.com

1768071322@qq.com

回复 Jomkeny: 删掉连引用都没了啊
2019-01-07 11:24
zquans@hotmail.com

zquans@hotmail.com

回复 1090318353@qq.com: 我这边在AndroidManifest文件添加了用户访问网络的权限就可以了,你可以试试看。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
2018-12-26 18:13
Jomkeny

Jomkeny

回复 1090318353@qq.com: 新版注释掉这句 compile(name: 'lib.5plus.base-release', ext: 'aar')
2018-12-21 16:05
175072224@qq.com

175072224@qq.com

打包成功ajax没有执行不知道什么问题。
2018-12-20 22:05
1090318353@qq.com

1090318353@qq.com

回复 tiandiweb@qq.com: 兄弟,停留在splash这个问题怎么解决的, manifest.json文件也配置了入口html的
2018-12-18 17:19
Jomkeny

Jomkeny

回复 tiandiweb@qq.com: 我现在运行正常了,但是作为PHP转过来的我,只是知道我用HBuilder-Hello\app\build.gradle,演示里的这个文件替换我自己生成的之后,一切正常了... (本地我搭建好了演示案例,正常运行)
2018-12-14 19:09
Jomkeny

Jomkeny

回复 tiandiweb@qq.com: 兄弟,我也研究看看,想不到大家同时遇到问题
2018-12-14 17:50
tiandiweb@qq.com

tiandiweb@qq.com

我这里停留在 splash的原因 大概找到了,因为 assets\apps\[appid]\www\ 下面要有 manifest.json文件并配置好 入口的html文件,已经其他参数,比如appid 这样就可以了
2018-12-14 16:40
tiandiweb@qq.com

tiandiweb@qq.com

回复 Jomkeny: 不仅2018年11月27日发布的 停留在splash界面, 2018年12月12日发布我换了后一样停留在splash界面,怎么tap都进不去。
2018-12-14 14:45
Jomkeny

Jomkeny

最新包启动卡屏在启动页面,没说明问题吗? 只有用2018年11月09日发布的lib.5plus.base-release.aar才行
2018-12-14 12:55
larrylv@outlook.com

larrylv@outlook.com

回复 thinkive: 怎么解决的 后来 同样情况,官方不维护了?
2018-12-14 00:35
larrylv@outlook.com

larrylv@outlook.com

一直在开屏页卡死的问题谁解决了? uniapp不运维了?
2018-12-14 00:34
larrylv@outlook.com

larrylv@outlook.com

回复 thinkive: 怎么解决的?
2018-12-14 00:23
非良人

非良人

回复 463602139@qq.com: 同意 我集成完了也有显示,不知道怎么去
2018-12-13 17:43
很受伤

很受伤

为什么运行出来是空白的啊,demo 都是好的我就替换assets的资源,检查了id也都是对的
2018-12-13 12:07
中旭信息

中旭信息

11月27日的 lib.5plus.base-release.aar 这个有问题,用11月07日的SDK就正常了
2018-12-12 20:42
463602139@qq.com

463602139@qq.com

请问配置好了之后 运行一直转圈圈 需要怎么弄?
2018-12-12 04:03
865722714@qq.com

865722714@qq.com

回复 thinkive: 这个包怎么了。。。
2018-12-06 14:55
thinkive

thinkive

回复 thinkive: 找到问题了,是lib.5plus.base-release.aar包的问题
2018-12-06 00:34
thinkive

thinkive

回复 865722714@qq.com: 看错误日志
E/TelephonyUtil: getIMEI exception==Neither user 10060 nor current process has android.permission.READ_PHONE_STATE.
W/System.err: java.lang.SecurityException: WifiService: Neither user 10060 nor current process has android.permission.ACCESS_WIFI_STATE.
W/System.err: java.lang.SecurityException: ConnectivityService: Neither user 10060 nor current process has android.permission.ACCESS_NETWORK_STATE.

感觉是没权限,然后我在AndroidManifest.xml里面增加了权限
<uses-permission android:name="android.Manifest.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.Manifest.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.Manifest.permission.ACCESS_NETWORK_STATE" />

仍然报错。。。
2018-12-05 22:37
865722714@qq.com

865722714@qq.com

回复 thinkive: 我的也是,你的解决了么
2018-12-05 16:51
404145601@qq.com

404145601@qq.com

挺不错的嘛
2018-12-05 10:35
kxbhf

kxbhf

个推,AndroidStudio离线打包后,透传通知:Android6.0(Nexus5)能收到,Android8.0(华为)收不到,API显示推送成功。so文件都添加和配置了,如何排查问题?并且如何实现后台保活,提高推送成功率?
2018-12-05 10:31
thinkive

thinkive

集成后,编译没报错,但是一直显示splash.png图标,一直在这个界面,一直没进入Index.html首页
2018-12-04 23:50
944515900@qq.com

944515900@qq.com

按照教程后:怎么导出apk?
2018-12-04 14:38
吕地瓜

吕地瓜

回复 吕地瓜: compile改为implementation不错报了
2018-11-30 10:19
吕地瓜

吕地瓜

Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
2018-11-30 10:06
DCloud_Android_zl

DCloud_Android_zl

回复 279399819@qq.com: 在application中添加 tools:replace="android:allowBackup"解决merge error
2018-11-23 10:39
279399819@qq.com

279399819@qq.com

你好,请问下,我想设置application allbackup属性为false 这个直接报错了,怎么解决。
2018-11-23 09:50
g417317028@163.com

g417317028@163.com

回复 DCloud_Android_zl: 另外,离线打包 友盟插件配置 文档没找到
2018-11-13 15:11
g417317028@163.com

g417317028@163.com

回复 DCloud_Android_zl: 再有个疑问,H5页面挡住了手机头部栏,需要改什么东西,有没有文档说明一下
2018-11-13 14:28
DCloud_Android_zl

DCloud_Android_zl

回复 g417317028@163.com: 你需要参照SDK中的Excel文档,把微信认证模块添加进去
2018-11-13 10:39
g417317028@163.com

g417317028@163.com

回复 DCloud_Android_zl: 错误: 程序包io.dcloud.feature.oauth.weixin不存在
2018-11-12 15:40
DCloud_Android_zl

DCloud_Android_zl

回复 g417317028@163.com: http://ask.dcloud.net.cn/article/211 微信登录修改包名,请参考文档配置
2018-11-07 17:08
g417317028@163.com

g417317028@163.com

回复 DCloud_Android_zl: 同时需要修改AndroidManifest.xml文件中引用包名的插件有
推送插件
微信(登陆,分享 ,支付)
--------------------------------------------
登录怎么改?
2018-11-07 16:43
DCloud_Android_zl

DCloud_Android_zl

回复 g417317028@163.com: 最新离线SDK已不需要添加Rinfomation.java文件,最新集成方式可参考 http://ask.dcloud.net.cn/article/13141
2018-11-07 16:33
452306705@qq.com

452306705@qq.com

回复 g417317028@163.com: 加个qq吧
2018-11-07 15:18
g417317028@163.com

g417317028@163.com

回复 452306705@qq.com: 改完包名,这一步我都没过去,你怎么过去的。
2018-11-07 15:16
452306705@qq.com

452306705@qq.com

回复 zt8780202@163.com: 你好 你的 微信分享登录 可以用吗
2018-11-07 15:15
452306705@qq.com

452306705@qq.com

回复 g417317028@163.com: 请问你解决了吗,最新版的sdk,我这边微信登录与分享都用了,提供的Hbuilder-hello 也不行
2018-11-07 15:14
g417317028@163.com

g417317028@163.com

改完包名出问题
、、、、、、、、、、、、、、、、
注意:打包时如果修改APK的包名,则同时需要修改Rinfomation.java文件import的包名,
同时需要修改AndroidManifest.xml文件中引用包名的插件有
推送插件
微信(登陆,分享 ,支付),微信同时需要修改引入的WXEntryActivity.java和WXPayEntryActivity.java文件所在的包名
、、、、、、、、、、、、、、、、、
1、Rinfomation.java文件找不到;
2、微信登陆改哪个?
2018-11-07 14:00
zt8780202@163.com

zt8780202@163.com

你好,我使用5+SDK重新构建了项目后,可以正常进去,但是在个别手机上(如红米note4)不能调用手机摄像头(已确认在manifest.xml中给了相机权限),即使手动在设置中给了相机权限也不行;而在有的手机(smartisan pro2)上可以,并且手动在设置中去掉相机权限依然可以使用相机。
2018-11-05 15:13
452306705@qq.com

452306705@qq.com

回复 452306705@qq.com: Android 的 5+SDK
2018-11-04 23:57
452306705@qq.com

452306705@qq.com

 为什么最新版的5+SDK 微信登录与分享都不行啊
2018-11-04 23:57
lvxingju@163.com

lvxingju@163.com

回复 王者地带: 明白了,感谢
2018-10-20 19:27
freedemon

freedemon

mark
2018-10-18 16:07
490054410@qq.com

490054410@qq.com

回复 497047791@qq.com: 你好,我也是这种问题,请问你解决没呀
2018-10-18 16:01
jacob_cs@163.com

jacob_cs@163.com

回复 飞鱼faner: 没有,还是直接修改的arr文件中的AndroidManifest.xml权限
2018-10-17 17:33
飞鱼faner

飞鱼faner

回复 jacob_cs@163.com: 解决了吗?
2018-10-17 14:45
王者地带

王者地带

回复 lvxingju@163.com: build.gradle 文件,
defaultConfig {
multiDexEnabled true
}
但 multiDexEnabled 不是必须设置的,根据你应用的实际情况决定要不要设置
2018-10-16 12:23
lvxingju@163.com

lvxingju@163.com

android studio第一次用,请问:4.4的multiDexEnabled设置成false 在哪个文件里?
2018-10-16 11:01
j376787348@163.com

j376787348@163.com

大神,我只想用一下dclound中的WebView展示页面.集成之后虽然可以正常显示.但是自己的MyApplication不能用了,只要配置进项目,就会出现Manifest merger failed with multiple errors, see logs
这种错误,不配置就没事,即使我直接继承DCloudApplication也是一样..怎么办啊?????急急急!!!!!!!!
2018-10-15 14:01
jacob_cs@163.com

jacob_cs@163.com

回复 jacob_cs@163.com: 目前的解决办法是把lib.5plus.base-release.arr解压,把AndroidManifest.xml文件里不需要的权限删除掉。 不知道各位有没有更好的方案
2018-10-12 16:09
jacob_cs@163.com

jacob_cs@163.com

用了上面的方式做离线打包, 打包后的APK安卓时提示需要发送短信和打电话的权限,然而我并没有在安卓的AndroidManifest.xml文件中配置这些权限(包括h5 的 manifest.json中也没有配置这些权限),云打包权限提示正常。 在AS中看日志应该是 在lib.5plus.base-release.arr文件中已经包含了定义所有权限的AndroidManifest.xml文件, 请问各位大佬,这个应该怎么解决?
2018-10-12 13:58
zyflzxy@qq.com

zyflzxy@qq.com

java.util.concurrent.ExecutionException: java.lang.RuntimeException
2018-10-11 17:03
j4142@qq.com

j4142@qq.com

4.3修改工程的targetSdkVersion为21

完全没有targetSdkVersion这个东西,我的是3.2版本
2018-10-11 10:58
下一页丶翻

下一页丶翻

这个基本的完全没问题,下面的离线打包扩展插件链接都有问题,微信的java文件复制进去就报错,qq按文档弄好了,获取服务也获取不到...下面的是不是也该更新了
2018-10-08 16:49
非良人

非良人

集成后怎么让旋转的进度条不显示 直接进入App
2018-09-27 15:55
444910024@qq.com

444910024@qq.com

回复 497047791@qq.com: 不清楚具体原因出在哪里, 我重新弄了一次就没问题了
2018-09-20 14:15
zhouchuanglin@gmail.com

zhouchuanglin@gmail.com

回复 497047791@qq.com: 下载官方例子自己去掉不用的插件就好了。估计你是这里没有配置: 替换为你的id

assets/data/dcloud_control.xml


<msc version="0.0.1">
<apps>
<app appid="H5*****AA" appver=""/>
</apps>
</msc>



assets/apps/你的id/ 目录也要改名字
2018-09-07 21:58
497047791@qq.com

497047791@qq.com

回复 Kido: 你好,遇到了与你同样的问题。 请问你解决了吗???
2018-08-31 13:34
497047791@qq.com

497047791@qq.com

回复 444910024@qq.com: 我跟你一样,请问你找到原因了吗?
2018-08-31 12:03
497047791@qq.com

497047791@qq.com

我按照步骤集成了,也配置了网络权限。
启动后,界面中有一个圆圈在加载,界面无法显示。
请问是什么问题???
2018-08-31 10:56
yidufenfei111

yidufenfei111

dcloud arr集成了以前的哪些jar?
我如果要把老的打包方式升级为新的arr这种,需要删除以前的哪些jar?
2018-08-30 17:16
452306705@qq.com

452306705@qq.com

回复 bilibili: 同问 你解决了吗

有个方案是用plus.screen.lockOrientation("portrait-primary");可以,但是 原生配置不生效
2018-08-23 16:12
bilibili

bilibili

回复 SDK_骁骑: 怎么样离线打包才能禁止横屏
2018-08-22 13:43
2467842481@qq.com

2467842481@qq.com

下载的最新的andoird 的H5+SDK来集成,报了这个错
More than one file was found with OS independent path 'assets/lineDashTexture.png'
请问什么原因?
2018-08-20 23:30
229936572@qq.com

229936572@qq.com

回复 444910024@qq.com: 我也是这样,不知道怎么搞的。
2018-08-11 19:12
229936572@qq.com

229936572@qq.com

回复 哈哈哈哈额: 加上震动权限试试咯,<uses-permission android:name="android.permission.VIBRATE"/>
2018-08-11 17:56
哈哈哈哈额

哈哈哈哈额

按照教程打完包之后二维码扫描后闪退是怎么回事啊
2018-08-08 11:30
444910024@qq.com

444910024@qq.com

回复 444910024@qq.com: 这个问题我解决了,是资源路径的问题,但是新的问题出现了,我把我项目的所有应用资源复制过来启动后,虚拟机会一直出现System UI has stopped的问题,然后UI就无法工作了,一直黑屏,真机调试也是这样的情况,已经相当于变砖头了。。。。。。
2018-08-05 16:34
960034260@qq.com

960034260@qq.com

新版本sdk内默认集成了所有的权限吧 比方说短信的模块如何去除
2018-08-04 09:01
444910024@qq.com

444910024@qq.com

我启动后显示一个圈圈,外圈啊还有一个绿色的进度条,是什么原因?
2018-08-03 18:06
823181211@qq.com

823181211@qq.com

案例下下来启动后也不能定位,也不能分享
2018-07-28 16:06
823181211@qq.com

823181211@qq.com

第一次用AS,,按照这个流程走出来,,,只显示个启动图片,就没反应了..-_-||
2018-07-28 15:47
jun1993727@sina.cn

jun1993727@sina.cn

回复 445962968@qq.com: 有解决吗?
2018-07-26 15:04
kevin_liao

kevin_liao

回复 380868578@qq.com: 你解决了这个问题吗?官方说使用widget方式,可以不用dcloudapplication。我不是很懂。你这边是否解决了。
2018-07-18 16:55
soker

soker

工程默认用io.dcloud.application.DCloudApplication,我可以在原生工程里面自定义 application么,因为有些功能需要在applicaiton初始化。另外以webapp的方式启动,每次按返回键的时候就直接退出webapp了,可以像网页那样子回到上一个页面么?
2018-07-11 16:31
380868578@qq.com

380868578@qq.com

回复 kevin_liao: 哪里能下载到去年的版本啊
2018-06-28 15:11
kevin_liao

kevin_liao

回复 380868578@qq.com: 很多人都遇到这个问题。混合自己的项目的时候就会遇到。好希望官方给一个好建议。我现在都是降回去年的版本。。不敢升级了。。
2018-06-28 14:55
Kido

Kido

你好,我按照示例的最简工程完成了应用的集成,但是当我集成到自己的工程里面的时候,安装到真机上一直是绿色的圈在转动,三个地方的appid检查过了是一致的,这个怎么办?
2018-06-28 10:01
380868578@qq.com

380868578@qq.com

我在一个新的android项目里加入hbuild开发的前端页面,引用了部分5+的原生功能,但在集成5+sdk的时候,在build.gradle加入compile(name: 'lib.5plus.base-release', ext: 'aar'),但是Androidmanifest.xml种application android:name="io.dcloud.application.DCloudApplication" 没有改成io.dcloud.application.DCloudApplication,因为有我自己的集成了人脸识别的Application,如果改掉,人脸识别就不能用,不该掉又直接报错,找不到io.dcloud.application.DCloudApplication这个类,这个怎么弄?
2018-06-27 17:19
SDK_骁骑

SDK_骁骑 (作者)

回复 Lspring: 可以用云打包的方式,云打包提供了一套对资源进行原生的混淆防止资源泄露的方法。
android也可以用第三方的apk加固软件对apk进行加固处理,
2018-06-25 16:26
Lspring

Lspring

回复 SDK_骁骑: 你好,这个问题改好了。您那边有没有方法可防止反编译的,我用的android studio混淆都可以了,就是assets资源下的项目文件全部都暴露出来了,感激不尽
2018-06-22 11:32