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 编译生成相关推荐

  1. unity3D 新建android apk

    前提:安装jdk,安装了android studio 1.下载unity hub 2.打开unity hub,安装 unity 安装记得勾选Android build support 3.在桌面上打开 ...

  2. Android如何调用第三方SO库

    问题描述:Android如何调用第三方SO库: 已知条件: SO库为Android版本连接库(*.so文件),并提供了详细的接口说明: 已了解解决方案: 1.将SO文件直接放到libs/armeabi ...

  3. 编译生成的Apk安装到手机提示应用未安装,需给apk签名

    本人昨晚写个小测试程序编译生成APK后无法安装,安装一直提示应用未安装 原因是因为apk没有签名 在Eclipse中导出带有自己签名的Android apk文件: 在eclipse中选择一个工程,右键 ...

  4. 命令行进入android设置,命令行编译生成APK

    本文将介绍如何在Mac系统下命令行编译生成一个简单的Apk程序. 准备工作 配置环境变量 aapt.dx.android.jar等工具或jar包本文采用SDK-26版本. 为了在mac系统下方便调用命 ...

  5. Tiny4412 Android5.0 定制:编译生成img后如何删除原厂的apk

    在android-5.0.2/build/core/Makefile的315行可以看到,这里是apk生成签名相关的地方. 315 name := $(TARGET_PRODUCT)316 ifeq ( ...

  6. as工程放到源码编译_关于AS高版本SDK编译生成的apk放入低版本android源码中集成编译...

    做dfu功能的时候,遇到的这样一个问题.添加了dfu的依赖之后,会要求编译的sdk为28,我的AS版本默认生成的是27.然而target版本是25. // The DFU Library is imp ...

  7. Android studio软件编译生成APK

    仅作为记录,大佬请跳过. 文章目录 步骤 参考 步骤 等待一段时间,即可. ( ) 展示 (b2opencv452项目的.apk) 参考 b站视频:传送门 传送门2

  8. Android Studio通过Gradle命令来编译生成打包APK

    博文首发地址:http://www.aplesson.com/?p=999 有的时候我们在Github或者其他地方看到好的开源Android Studio结构的项目,我们想要看到运行效果,所以需要编译 ...

  9. java打包dex_Android 命令行编译、打包生成apk文件

    一.搭建搭建环境 1. 安装JDK 和 Android SDK 2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1.6. ...

  10. Android中APK直接通过JNI访问驱动

    点击打开链接 1.新建文件LED-JNI.c,内容如下: [cpp] view plaincopy #include <jni.h>  /* /usr/lib/jvm/java-1.7.0 ...

最新文章

  1. 什么是is research?
  2. Oracle新建实例后,修改sys和system密码。
  3. 推荐php 8新特性比较好的两个网站
  4. 如何实现 OpenAPI 多语言 SDK 开发?
  5. c语言dll注入器,Module Injector-Module Injector(DLL动态库注入器)下载 v1.0--pc6下载站
  6. 程序员修神之路--用NOSql给高并发系统加速
  7. 【Python】可视化的离散傅里叶变换+快速傅里叶变换后时域信号的频域分析
  8. ActionBar返回键图标怎么搞小点?
  9. 力控批量添加变量_力控变量.ppt
  10. Open3d之颜色映射优化
  11. 【最详细】数据结构(C语言版 第2版)课后习题答案全集 严蔚敏 等 编著
  12. QT网络编程TCP/UDP开发流程 制作网络调试助手
  13. 电子商务网络购物平台实例运营分析+电子商务概述及阿里巴巴集团模式五大核心内容[连载之电子商务网络营销]...
  14. 图片轮播实现示例代码
  15. 小白都能学会的Python基础 第一讲:Python初了解
  16. 一个中高级PHP工程师所应该具备的能力
  17. NAS信令学习笔记 ——GUTI
  18. 借助栈将一个带头节点的单链表倒置
  19. 计算机应用技术的研究方向,2019考研计算机应用技术专业解析:研究方向
  20. JavaScript实时监听歌曲播放进度显示对应歌词

热门文章

  1. 计算机休眠和睡眠省电,笔记本电脑的睡眠方式和休眠方式那个省电
  2. 【0709作业】简易的购房商贷月供计算器
  3. Flask+SQLAlchemy+graphene+docker示例
  4. 图片优化——质量与性能的博弈
  5. 音乐播放器 - iOS开发
  6. uni-app:搜索关键词并高亮显示,可重复显示
  7. 通过ip地址连接局域网内的打印机(win7、win10)
  8. 四月之 诗四首和五十六句话
  9. 【转】win7 旗舰版激活密钥
  10. 啮齿类动物大尺度功能网络