SL4A apk 编译生成
SL4A apk 编译生成
前言:SL4A(即 Scripting Layer for Android)是一个 Android 脚本解释环境,可用于自动化测试,可是我根据书本的自动化步骤操作时,遇到了不少坑,下面是填坑的系列过程,如果大家恰好工作中也遇到了 SL4A 的相关使用,希望我的填坑过程可以帮助大家避坑,节省时间。
前往 SL4A 的官网网站
SL4A 书本给的官网地址为 http://code.google.com/p/android-scripting
然而当我们前往这个网站时,发现官网地址已经改变了。
于是,我们前往新的官网地址,即 GitHub 地址。
我们可以把该项目源码 clone 到本地,然后自行编译 SL4A 的 apk 文件。因为没有办法,原来的官网地址是给我们 apk 的下载地址的,现在直接把源码给我们了,只能我们自己去编译。
下载 SL4A 文件
目录结构如下:
读一下 README 文件,看一下相关的介绍,下载别人的代码时,如果有 README 文件,一定先读该文件,该文件肯定会写了作者的一些建议,手册等信息。这个 README 我是没怎么看懂的,前往 android 这个目录文件夹。
读一下 README 文件。
那我们从 README 中了解到,项目工程是 Eclipse 环境的,主程序是 ScriptingLayerForAndroid 。
导入到 Eclipse 中
在导入中,有点问题的,ScriptingLayerForAndroid 是一个 Android 工程项目,可以直接导入,但是其他的并不是,在导入其他依赖 Library 时,我是先在 Eclipse 中建立 Android 项目,设置为 Library,将 Google 的代码复制到 Eclipse 中的。
除了 ScriptingLayerForAndroid,其他都是先在项目中建立 Android 工程,设置为 library,手动复制代码进去,各个 library 相互之间会有一点依赖,自己处理一下即可。这样,ScriptingLayerForAndroid 就不会有编译错误了,接下来是运行到设备上去,运行过程中,会有一些错误,我说一下我遇到的错误以及解决方案。
运行 SL4A 到设备上
第一个错误:Unable to execute dex: Multiple dex files define
运行时报这样的编译错误,参考下面博客解决该问题:
https://blog.csdn.net/nomisshe/article/details/9083331
第二个错误:解决后可以运行到设备上面了,但是会闪退:
[2019-07-09 15:00:17 - ScriptingLayerForAndroid] Installing ScriptingLayerForAndroid.apk...
[2019-07-09 15:00:22 - ScriptingLayerForAndroid] Success!
[2019-07-09 15:00:22 - BluetoothFacade] Could not find BluetoothFacade.apk!
[2019-07-09 15:00:22 - Common] Could not find Common.apk!
[2019-07-09 15:00:22 - InterpreterForAndroid] Could not find InterpreterForAndroid.apk!
[2019-07-09 15:00:22 - ScriptingLayer] Could not find ScriptingLayer.apk!
[2019-07-09 15:00:22 - SignalStrengthFacade] Could not find SignalStrengthFacade.apk!
[2019-07-09 15:00:22 - TextToSpeechFacade] Could not find TextToSpeechFacade.apk!
[2019-07-09 15:00:22 - Utils] Could not find Utils.apk!
[2019-07-09 15:00:22 - WebCamFacade] Could not find WebCamFacade.apk!
报找不到一些 apk 文件,参考下面的博客解决方法:
https://blog.csdn.net/lissdy/article/details/7573714
其实,我这样解决后,还是会报一个错误,而且运行的时候也会输出这些错误信息,但是我解决了第三个问题后,就可以成功运行了。
第三个错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo
{com.googlecode.android_scripting/com.googlecode.android_scripting.activity.ScriptManager}:
android.util.AndroidRuntimeException: You cannot combine custom titles with other title features
上面代码会报错,其实是因为项目中没有 style.xml 文件导致的,我添加了 style.xml 代码就可以跑通了,但是会把 actionBar 的菜单栏给覆盖掉,而菜单栏中的菜单是我们用这个程序时需要用的,所以,我们可以把 CustomzeWindow.requestCustomTitle() 这行代码注释掉,直接自己 setContentVeiw() 即可。
最后成功的图片我就不截图给大家了,希望可以帮助大家避掉一些坑。
SL4A apk 编译生成相关推荐
- unity3D 新建android apk
前提:安装jdk,安装了android studio 1.下载unity hub 2.打开unity hub,安装 unity 安装记得勾选Android build support 3.在桌面上打开 ...
- Android如何调用第三方SO库
问题描述:Android如何调用第三方SO库: 已知条件: SO库为Android版本连接库(*.so文件),并提供了详细的接口说明: 已了解解决方案: 1.将SO文件直接放到libs/armeabi ...
- 编译生成的Apk安装到手机提示应用未安装,需给apk签名
本人昨晚写个小测试程序编译生成APK后无法安装,安装一直提示应用未安装 原因是因为apk没有签名 在Eclipse中导出带有自己签名的Android apk文件: 在eclipse中选择一个工程,右键 ...
- 命令行进入android设置,命令行编译生成APK
本文将介绍如何在Mac系统下命令行编译生成一个简单的Apk程序. 准备工作 配置环境变量 aapt.dx.android.jar等工具或jar包本文采用SDK-26版本. 为了在mac系统下方便调用命 ...
- Tiny4412 Android5.0 定制:编译生成img后如何删除原厂的apk
在android-5.0.2/build/core/Makefile的315行可以看到,这里是apk生成签名相关的地方. 315 name := $(TARGET_PRODUCT)316 ifeq ( ...
- as工程放到源码编译_关于AS高版本SDK编译生成的apk放入低版本android源码中集成编译...
做dfu功能的时候,遇到的这样一个问题.添加了dfu的依赖之后,会要求编译的sdk为28,我的AS版本默认生成的是27.然而target版本是25. // The DFU Library is imp ...
- Android studio软件编译生成APK
仅作为记录,大佬请跳过. 文章目录 步骤 参考 步骤 等待一段时间,即可. ( ) 展示 (b2opencv452项目的.apk) 参考 b站视频:传送门 传送门2
- Android Studio通过Gradle命令来编译生成打包APK
博文首发地址:http://www.aplesson.com/?p=999 有的时候我们在Github或者其他地方看到好的开源Android Studio结构的项目,我们想要看到运行效果,所以需要编译 ...
- java打包dex_Android 命令行编译、打包生成apk文件
一.搭建搭建环境 1. 安装JDK 和 Android SDK 2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1.6. ...
- Android中APK直接通过JNI访问驱动
点击打开链接 1.新建文件LED-JNI.c,内容如下: [cpp] view plaincopy #include <jni.h> /* /usr/lib/jvm/java-1.7.0 ...
最新文章
- 什么是is research?
- Oracle新建实例后,修改sys和system密码。
- 推荐php 8新特性比较好的两个网站
- 如何实现 OpenAPI 多语言 SDK 开发?
- c语言dll注入器,Module Injector-Module Injector(DLL动态库注入器)下载 v1.0--pc6下载站
- 程序员修神之路--用NOSql给高并发系统加速
- 【Python】可视化的离散傅里叶变换+快速傅里叶变换后时域信号的频域分析
- ActionBar返回键图标怎么搞小点?
- 力控批量添加变量_力控变量.ppt
- Open3d之颜色映射优化
- 【最详细】数据结构(C语言版 第2版)课后习题答案全集 严蔚敏 等 编著
- QT网络编程TCP/UDP开发流程 制作网络调试助手
- 电子商务网络购物平台实例运营分析+电子商务概述及阿里巴巴集团模式五大核心内容[连载之电子商务网络营销]...
- 图片轮播实现示例代码
- 小白都能学会的Python基础 第一讲:Python初了解
- 一个中高级PHP工程师所应该具备的能力
- NAS信令学习笔记 ——GUTI
- 借助栈将一个带头节点的单链表倒置
- 计算机应用技术的研究方向,2019考研计算机应用技术专业解析:研究方向
- JavaScript实时监听歌曲播放进度显示对应歌词