DCloud_App_Array
DCloud_App_Array
  • 发布:2018-04-16 17:09
  • 更新:2021-06-29 08:55
  • 阅读:102605

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

分类:5+ SDK

新版离线sdk文档已发布,离线打包请参考最新文档

<!-- [//]:#(老版本SDK配置方法请参考文档[Android创建最精简离线打包工程(老版本SDK)](http://ask.dcloud.net.cn/article/924)) **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**
**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资源](http://ask.dcloud.net.cn/question/60254)
**9 修改assets->data->dcloud_control.xml文件的apps->app->appid属性的值改为当前应用manifest.json文件id节点的值**
[离线SDK下载](http://ask.dcloud.net.cn/article/103) 新版本5+ SDK对功能和资源进行了整合,按照文档配置好工程后支持大部分的5+API,除OAuth,Share,Push,Statistic,Payment,Speech,Maps等需要使用第三方SDK的5+API,如需使用以上几个功能则需要针对插件单独配置文档链接如下 ##[Android平台离线打包分享插件配置](http://ask.dcloud.net.cn/publish/article/210) ##[Android平台离线打包授权登陆插件配置](http://ask.dcloud.net.cn/article/211) ##[Android平台离线打包地图插件配置](http://ask.dcloud.net.cn/article/212) ##[Android平台离线打包定位插件配置](http://ask.dcloud.net.cn/article/213) ##[Android平台离线打包支付插件配置](http://ask.dcloud.net.cn/article/214) ##[Android平台离线打包推送插件配置](http://ask.dcloud.net.cn/article/227) ##[Android平台离线打包语音插件配置](http://ask.dcloud.net.cn/article/35352) -->
20 关注 分享
Trust Neil_HL xinannansha SeanChi JoyceWu12 fx4399 非良人 湖东呀 l***@163.com MR不靠谱 吕地瓜 3***@zjj.tv 4***@qq.com 1***@qq.com 东方飞鱼 shwanYu 1***@qq.com k***@126.com wenju skysowe

要回复文章请先登录注册

Lspring

Lspring

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

AIM120

Demo 运行报错 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.HBuilder.integrate, PID: 12369
java.lang.NoClassDefFoundError: io.dcloud.common.adapter.util.UEH$1
at io.dcloud.common.adapter.util.UEH.catchUncaughtException(UEH.java:45)
at io.dcloud.application.DCloudApplication.onCreate(DCloudApplication.java:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1009)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4638)
2018-06-21 11:42
骁骑

骁骑

回复 Lspring :
检查以下几个地方的appid值是否一致
1 assets/apps/[appid]/www此处放应用资源文件
2 assets/data/dcloud_control文件中中app节点id 属性的值
3 应用资源的manifest.json文件id属性的值
如果以上基础没有问题请上传一个工程方便我们查看问题
2018-06-19 11:10
Lspring

Lspring

回复 骁骑 :
您好,我的libs下只放了您的那个lib.5plus.base-release.aar文件,打包编译什么的都没错,一运行的时候就报错
System.err: java.lang.ClassNotFoundException: cn.zhongyan.mobile.ysq.R$styleable
System.err: at java.lang.Class.classForName(Native Method)
程序没有奔,只是一直是白屏的
2018-06-14 17:57
骁骑

骁骑

回复 44596296 :
检查一下应用资源放的路径,control.xml文件里appid节点的值,和mainfest.json文件的id节点的值是否一致
2018-06-04 12:54
44596296

44596296

回复 骁骑 :
能麻烦您帮忙看下我的那个问题吗
2018-06-01 17:22
44596296

44596296

回复 44596296 :
自己重新跟着您的步骤做了几次搞好了,也能打包出来了,但是打包的apk-debug正常安装到模拟器上后却打不开,一直都是一个绿色的圈在绕,我搞了一个mui底部选项卡的示例来离线打包也是这个情况,打包好能安装,不过进不去
2018-06-01 17:21
44596296

44596296

按照您的步骤来做的,不知道为什么一开始没有build文件夹没有,后来查资料有了build之后又报错,错误如下:

Information:Gradle tasks [assemble]
C:\Users\titan\.gradle\caches\transforms-1\files-1.1\appcompat-v7-26.1.0.aar\7dcac2834659c485b65eb5782655e13f\res\values-v26\values-v26.xml
Error:(9, 5) error: resource android:attr/colorError not found.
Error:(13, 5) error: resource android:attr/colorError not found.
Error:(17, 5) error: style attribute 'android:attr/keyboardNavigationCluster' not found.
Error:resource android:style/TextAppearance.Material.Widget.Button.Borderless.Colored not found.
Error:resource android:style/TextAppearance.Material.Widget.Button.Colored not found.
E:\apk\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-v26\values-v26.xml
Error:(7) resource android:attr/colorError not found.
Error:(11) resource android:attr/colorError not found.
Error:(15) style attribute 'android:attr/keyboardNavigationCluster' not found.
Error:failed linking references.
Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
Information:BUILD FAILED in 1s
Information:13 errors
Information:0 warnings
Information:See complete output in console
2018-06-01 15:27
骁骑

骁骑

回复 碧霜寒冰 :
问题已经修改,请重新下载SDK并更新工程中的lib.5plus.base-release.aar即可
2018-05-25 15:29
JoyceWu12

JoyceWu12

新版的sdk的应用资源多了doc目录。之前直接替换自己的应用资源一直卡在启动页,保留这个新增的doc目录就可以启动了,能不能分析一下这个目录的文件哪些是基本的,哪些是拓展的
2018-05-24 15:01