什么是 android 离线语音识别打包

&辉耀应用程序框架学习网
Android开发环境离线工具包
1 获取工具包
2 设置Google站点
3 配置Eclispe
4 创建Android项目
5 生成Android安装包
获取工具包
Windows XP、Win7、Win8
工具包文件内容
Jre1.8,Android SDK,Eclipse
工具包下载地址
将离线工具包下载至本地磁盘(如有可能请确保这个磁盘为F盘,如不然则需修改以下F盘符出现的路径)。解压缩后得到以下目录:
F:\android\adt-bundle-windows-x86-\
F:\android\jre1.8.0_31\
F:\android\eclispe\
由于SDK Manager.exe,Eclipse.exe均需要使用jre(或称java运行环境,类似.net),为了操作简便,我们可通过批处理脚本启动这两个程序。
Manager.exe启动文件F:\android\adt-bundle-windows-x86-\startup.bat,写入如下批处理脚本:
JAVA_HOME=F:\android\jre1.8.0_31
&SDK Manager.exe&
修改Eclipse启动文件F:\android\eclipse
startup.bat,写入如下批处理脚本:
eclipse.exe -debug options -vm
F:\android\jre1.8.0_31\bin\javaw.exe
设置Google站点
由于本例安装SDK
Manager.exe所涉及Android组件来自Google,所以需要使用dl-服务器,但国内很难访问Google的站点,为了确保可下载组件,建议先通过站长工具()的超级ping工具找到可用的dl-服务器IP地址,并确认可ping通,然后加入本地hosts文件。
注:ping通指的是在命令提示符下输入ping 64.233.189.136是否超时,超时视为ping不通。
使用超级Ping工具ping域名“dl-”,查看返回结果,找一个响应速度快的IP地址。
笔者找到ip地址64.233.189.136相应最快,于是,使用记事本修改host文件C:\WINDOWS\system32\drivers\etc\hotst,追加以下两行
64.233.189.136
64.233.189.136 dl-
修改后的效果如下:
配置Eclispe
通过startup.bat启动Eclispe,由于离线包是在笔者电脑上配置的,Eclispe运行路径发生了变化,会提示重新设置SDK路径与默认workspace。SDK路径设置F:\android\adt-bundle-windows-x86-\sdk即可。
Eclispe启动界面
设置SDK路径
Eclispe加载完后初始界面
创建Android项目
Android Application…”创建一个演示项目HYDemo
选择项目图标
通过向导生成项目的目录结构及默认页界面
生成Android安装包
在Eclipse中运行项目,选择项目,右键弹出菜单,选择Run ASàAndroid Application
初次调试还未配置Android虚拟设备(以下称AVD,可理解成手机)。
选择“Launch a
new Android Virtual Device”à“Manager…”创建一个Android虚拟设备
点击“New…”
定义AVD基本参数
启动刚刚配置AVD设备
如出现选择日志等级对话框,确定即可。
AVD正在加载
AVD加载完成后显示演示项目,其中Button是创建项目后拖入页面的一个按钮。
右键弹出菜单,选择“Export…”生成Android安装文件apk,它可在Android手机上安装运行。
选择演示项目
生成签名文件keystore,设置一个密码
设置签名属性
生成apk文件
SDK下载地址:
& 2015 - 辉耀应用程序框架学习网 - 鲁ICP备号android其他(10)
离线gradlew命令行打包apk设置
由于使用命令行 gradlew 命令打包 apk,gradle 和 gradle pluging 等设置都需要配置到相应的配置文件中,所以在 Android Stuido 中的相应设置都不起作用了
gradle离线模式设置
修改 gradle 位置,配置文件位置在于Project目录下 ./gradle/wrapper/gradle-wrapper.proerties
添加或修改 distributionUrl 设置,原值应该是
其中 2.14.1 是相应的版本号,在本地没有相关文件时,就会去上面的路径去下载。
将从网上下载好的 gradle 压缩包放到 ./gradle/wrapper/ 目录下
将 distributionUrl 值改为 gradle-3.3-all.zip 即
distributionUrl=gradle-3.3-all.zip
gradle-3.3-all.zip 是我离线打包时需要的 gradle 版本号
android gradle pluging 离线配置
gradle 和 android 的 gradle pluging 是不同的两个东西,但是二者又相互关联,两者的版本号有对应关系才能配合使用
具体版本号对应关系
在 Project 中,gradle pluging 的配置位置位于 Project 根目录下 ./build.gradle 文件中,默认如下
buildscript {
repositories {
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your applicati they belong
// in the individual module build.gradle files
其中 jcenter 是由 JFrog 公司提供的 Bintray 中的 Java 仓库。它是当前世界上最大的 Java 和 Android 开源软件构件仓库。 所有内容都通过内容分发网络(CDN)使用加密 https 连接获取。JCenter 是 Goovy Grape 内的默认仓库,Gradle 内建支持(jcenter()仓库),非常易于在(可能除了 Maven 之外的)其他构建工具内进行配置
com.android.tools.build:gradle:2.2.3 表示的是 gradle pluging 插件的目录、名称以及版本号
需要将这个远程仓库配置为本地仓库才能在离线状态下进行打包
在 Android Studio 安装根目录下 ./gradle 可以发现一个叫做 m2repository 的文件夹,这个就是一个自带的 maven 仓库,查看 ./gradle/m2repository/com/android/tools/build/gradle 目录下是否有离线打包所需要的对应版本的相应文件夹,一般都是有的,如果没有,联网状态下去 ide 中的相关设置里设置为你需要的版本,然后 ide 会自动下载,再把这个目录移到需要离线的环境里覆盖,又或者去jcenter中去挨个下载,自己创建对应文件夹
在 sdk 的根目录下 ./extras 也会有一个名为 m2repository 的文件夹,将这个文件夹中的内容复制,移动到 Android Studio 安装目录下 ./gradle/m2repository 中覆盖
在 Project 根目录下 ./build.gradle 文件中修改为如下内容
buildscript {
repositories {
url 'file://D:\\Android Stuido\\gradle\\m2repository'
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
// NOTE: Do not place your applicati they belong
// in the individual module build.gradle files
其中 D:\Android Stuido\gradle\m2repository 就是 AS 安装目录下的 maven 仓库路径
注意,如果有其他的依赖包需要从远程仓库下载的话,最好能够全部放到本地去依赖,或者把需要依赖的包放到本地的 m2repository 仓库中一份
使用gradlew命令行离线打包apk
在终端/cmd 中,Project 目录下,使用gradlew命令打包apk,注意在最后加上 –offline 这个命令,表示使用离线模式,例如 gradlew assembleRelease –offline
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:41822次
排名:千里之外
原创:37篇
转载:10篇
评论:18条
(1)(1)(1)(1)(2)(2)(2)(5)(9)(14)(1)(2)(8)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'输入关键字或相关内容进行搜索
本文以Android Studio为例讲解如何一步步创建一个最精简的5 SDK工程,如果还需要在工程中添加更多的扩展插件,可以参考,文件中有扩展插件和需要添加的配置1 创建Android原生工程\n首先创建一个空的Android Studio工程
打开AndroidStudio点击File-&New-&New Project
然后一路点击“next”到下面这个页面点击“finish”即可
2 添加5 SDK需要使用的jar包到工程\n原生工程中使用5 SDK必须要在工程中添加如下几个jar
需要加入到工程里的Jar 包
nineoldandroids-2.4.0.jar
my-imageloader.jar
my-nineoldandroids-2.4.0.jar
ui.jar1. 从SDK/libs目录下找到这几个文件并拷贝到工程的libs目录下\n
###2. 添加成功后选中libs目录里的库文件,鼠标右键打开菜单,选择“Add As Library...”将填加到工程内的jar文件链接到工程里
3. 成功后静态库文件前会出现一个三角形的图标,我们还可以通过修改build.gradle文件修改引用的库文件。\n
3 添加资源到工程\n1. 在res目录上右键打开菜单,点击“Show in Explorer”打开res文件所在的目录\n
2. 删除目录下已有的目录,拷贝SDK/res目录下的全部目录到工程的res目录下\n
3. 选择project,在app-&src-&main目录下添加assets目录\n
4. 拷贝SDK/assets/目录下的data目录和res目录到工程的目录下\n
4 修改原生工程的Androidmanifest.xml文件\n打开工程的AndroidManifest.xml文件
在AndroidManifest.XML文件中添加配置1 修改application节点下\n1 修改android:icon属性值为@drawable/icon
2 删除android:theme属性
3 删除allowBackup属性
4 添加android:largeHeap=&true&
5 添加 android:name=&io.dcloud.application.DCloudApplication&
6 添加android:allowClearUserData=&true&
&application
android:allowClearUserData=&true&
android:icon=&@drawable/icon&
android:label=&@string/app_name&
android:largeHeap=&true&
android:name=&io.dcloud.application.DCloudApplication& &
\n
2 添加文件支持的屏幕旋转方向\n3 添加最低支持系统版本,5 sdk支持的最低系统版本为8,(注意:不要填写targetSDKVersion参数)\n4 添加5 SDK必需引用的系统权限\n
&supports-screens
android:anyDensity=&true&
android:largeScreens=&true&
android:normalScreens=&true&
android:resizeable=&true&
android:smallScreens=&true&
&uses-sdk android:maxSdkVersion=&8&/&
&uses-permission android:name=&android.permission.INTERNET&/&
&uses-permission android:name=&android.permission.WRITE_EXTERNAL_STORAGE&/&
&uses-permission android:name=&android.permission.GET_TASKS&/&
&uses-permission android:name=&android.permission.ACCESS_NETWORK_STATE&/&
\n5 删除文件中原来配置的Activity\n6 添加5 内核需要的Activity和service到AndroidManifest.xml文件\n
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&
android:name=&io.dcloud.PandoraEntryActivity&
android:configChanges=&orientation|keyboardHidden|screenSize|keyboard|navigation|mcc|mnc|fontScale&
android:hardwareAccelerated=&true&
android:label=&5+Debug&
android:launchMode=&singleTask&
android:screenOrientation=&user&
android:theme=&@style/DCloudTheme&
android:windowSoftInputMode=&adjustResize& &
&/activity&
android:name=&mon.adapter.io.MiniServerService&
android:exported=&true& /&
\n5 修改工程使用的源码\n1. 删除创建工程时自动生成的源码。工程中使用5 SDK默认的Activity作为应用的入口Activity,所以如果没有原生开发的需求,则可以删除自动生成的源码文件。\n
2. 在java目录下添加io.dcloud包\n
3. 拷贝SDK\src\io\dcloud\Rinfomation.java文件到工程的io.dcloud包下\n
4. 根据工程的包名修改Rinfomation.java的import资源的包名,\n如果需要引入NativeUI.模块需要import io.dcloud.feature.ui.nativeui.NativeUIR;, 并且RInformation类需要implements NativeUIR类如果需要引入gallery模块(图片选择)需要import io.dcloud.js.gallery.GalleryR;,
并且RInformation类需要implements GalleryR类
6 添加Web应用资源到工程\n1. 在assets目录下创建apps/[appid]/www目录,将web应用拷贝到www目录下,【APPID】为Web应用mainfest.json文件id节点的内容。\n注意:应用存放的目录是有层级的,目录千万不要命名成apps.[appid].www不要被as的表现迷惑
2. 修改src/main/assets/data/control.xml文件,修改app节点的appid属性和appver属性的值。appid属性填写Web应用的mainfest.json文件的ID节点内容,appver属性填写manifest.json文件的version节点下的name节点的内容。\n
注意:control.xml文件配置的appid和应用所在目录和web应用的manifest.json文件的id节点必须一致,否则会导致应用无法启动7 修改APK桌面显示的图标和Splash图片\n将应用的图标(文件名为icon.png)启动图片(文件名为splash.png)按照对应的尺寸拷贝到工程的app-&src-&main-&res -& drawable-XXX目录下:
8 修改APK桌面显示的应用名\n打开app-&src-&res-&values-&strings.xml文件,修改string节点对应的内容即可修改apk在手机桌面上显示的应用名称
运行时如果提示“打包时未添加XXX模块”,请参考SDK/Feature-Android.xls文件,查找对应插件名需要引入的5+库文件和系统库文件,添加到工程即可\n
最简工程Androidmanifest.xml文件示例(注意包名需要修改)
哦。你不要自己去换。 官网有SDK然后下载直接用他的项目 。在他的项目中替换。
我的问题和您的一样啊!!您解决了没有?有没有好的方法呢?
楼主,我按照你的步骤运行后也没有报错。只有白屏。白屏上面有个小圈圈。在转个不停。
打包出来之后ajax 网络请求不了
可以安装在真机上了,跑起来在splash页面,闪了一下就黑屏了,谁有遇到过么,配置不同的地方主要有亮点(1)jar包没有引入nineoldandroids-2.4.0.jar,因为SDK里找不到,只引了my-nineoldandroids-2.4.0.jar(2)拷贝过来的叫cloud_control.xml而不是control.xml
然后我就按照你说的步骤一步一步进行,最后提示我未添加ui模块,实际上我已经添加了,已经导入了ui.jar并添加了依赖,而且在dcloud_properties.xml中给了权限,但是仍然提示未添加ui模块,界面不显示,然后我又用HBuilder中以视图的方式查看manifest.json,我没有看到ui模块,因此我添加了所有的模块,最后运行程序,仍然未添加ui模块,我他妈真是日了狗了!此外,并且我没有找到你说的nineoldandroids-2.4.0.jar这个包,我只看到了my-nineoldandroids-2.4.0.jar, 我不知道还说呢么原因,就不能及时更新一下文档吗?
新的SDK里面没有nineoldandroids-2.4.0.jar, 是不需要了吗
需要引入的jar列表文档已修改
基础jar包需要引入以下
nineoldandroids-2.4.0.jar
my-imageloader.jar
下载的SDK中没有文档里说的必须导入的那几个jar怎么解释。。
http://www.dcloud.io/docs/sdk/android/
你可以参考下api的文档,SDK类的下面几个方法可以获取到当前已经打开的窗口的原生对象,
obatinFirstPage(IApp app)
obatinFirstPage(IApp app, IWebviewStateListener listener)
obtainAllIWebview()
obtainAllIWebview(java.lang.String appId)
获取到原生对象后可以通过iWebview类的evaljs方法触发页面里的静态方法,你可以在页面里通过静态方法接收原生层传递的参数,由页面根据传入的参数控制详情页面的显示
楼主,请教个问题:
如何从原生调整到H5的主activity并自动跳转到H5的详情页面,H5的主activyty在studio里面是PandoraEntry,但详情的页面在studio里面没生成activity啊。。如果能有,用标准的原生跳转传入2个intent可以吗?
我现在是当H5的APP正好在详情页面时候,通过原生的跳转到主界面,主界面做处理来再跳转到这个详情页面,此时详情页面不渲染刷新数据呢。
针对原生跳转到H5的非主页面,有啥好办法。特别是H5页面正好处在详情页面,原生又正好要跳转到这里的情况。??
打包运行遇到W/System.err: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.secure.service.IAdBlockService }
W/System.err:
at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1801)
W/System.err:
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1900)
W/System.err:
at android.app.ContextImpl.bindService(ContextImpl.java:1878)
W/System.err:
at android.content.ContextWrapper.bindService(ContextWrapper.java:539)
W/System.err:
at com.aurora.adblock.AdBlockMain$1.run(AdBlockMain.java:55)
看第四章第六小节
怎么配置5+的activity为启动的activity?
webview.obtainFrameView().obtainMainView().setVisibility(View.VISIBLE);
我的这行会报空指针错误 就是当我从原生界面跳转至H5页面,但是H5页面没有加载出来,返回Activity就会报错
最后一步修改RInformation是代表什么意思,
我这边能跑起APP,但是拍照调用不了,jar包也导入了
现在下的是安卓as2.2 貌似它里面是自带了 support-v4? 为什么只要一加这个jar包
求LZ说下as2.2 与本教程有什么区别啊
好像有点不一样啊
把原来的资源都删掉,然后替换下最新的资源
替换一下最新的资源
我也是和楼上一样啊,楼主在么
我这边按照demo,集成报了两个资源没找到的错误,这个就纠结了
Not found com.merce.R.layout.custom_notification
java.lang.NoSuchFieldException: custom_notification
Not found com.merce.R.drawable.dcloud_streamapp_icon_appdefault
java.lang.NoSuchFieldException: dcloud_streamapp_icon_appdefault
Error:Execution failed for task ':app:processDebugResources'.
& com.mon.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\Android\AS\sdk\build-tools\24.0.1\aapt.exe'' finished with non-zero exit value 1
报这个是什么原因呢
NativeUIR需要自己导入nativeui.jar包,GalleryR 需要导入gallery.jar包,这都在5+SDK目录下,自己找
你集成的demo 能给我看一下么 谢谢
感谢 楼主,app已经跑起来了。再跑不起来 只能说不会用android studio了。
这些步骤都做了,检查无误了,但是还是空白页,不过看logcat,有报错:11-26 09:31:59.400 /? W/System.err: java.lang.IllegalArgumentException
11-26 09:31:59.400 /? W/System.err:
at com.android.server.MountService.getVolumeState(MountService.java:1869)
11-26 09:31:59.400 /? W/System.err:
at android.os.storage.IMountService$Stub.onTransact(IMountService.java:943)
11-26 09:31:59.400 /? W/System.err:
at android.os.Binder.execTransact(Binder.java:404)
11-26 09:31:59.400 /? W/System.err:
at dalvik.system.NativeStart.run(Native Method)
还要检查一下jar包是否导入到工程里了,参考文档的第二节
如果运行起来是白页面请检查以下几个地方
1 工程生成的activity需要删除并配置5+的activity为启动的activity
2 检查control.xml文件里配置的appid和assets/apps目录下要启动的应用的appid是否一致(应用存放的目录名要和appid一致)
我的也是,app运行是空白的,你的解决了吗?
按照这个文档集成 为什么运行起来 没有页面出现呢?调用页面还需要配置什么吗?
我复制了RInformation类之后,为什么implement
NativeUIR,GalleryR 不能够导入相应的包呢?
为什么文章没有收藏按钮?
要回复文章请先或

我要回帖

更多关于 androidsdk离线下载包 的文章

 

随机推荐