切换风格

默认Lavender Sky Flowers Wizard Snow Beige California City Dragon Black London Sunset glow Pink Cloud

31

主题

239

积分

0

精华

用户组 

易积分
815
热心
0
好评
1
随缘_AS_E4A类库开发工具+辅助插件[复制链接]
发表于 2022-6-29 20:03:43 | 显示全部楼层 |阅读模式
本帖最后由 suiyuan 于 2022-6-29 20:03 编辑
  1. package com.e4a.compile;

  2. import com.windows.e4a.GenerateItem;
  3. import com.windows.e4a.file.CanonicalFile;
  4. import com.windows.e4a.utils.PinyinUtil;
  5. import com.windows.e4a.工程属性;
  6. import com.windows.e4a.系统工具;
  7. import com.windows.e4a.附加信息;

  8. import org.junit.Test;

  9. import java.io.File;
  10. import java.util.ArrayList;
  11. import java.util.List;

  12. /**
  13. * ******************************************************
  14. * so文件路径默认如:
  15. * src/main/jniLibs
  16. * src/libs
  17. * <p>
  18. * jar依赖默认路径如:libs/xxxx.jar
  19. * assets默认路径 如:src/main/assets
  20. * <p>
  21. * <p>
  22. * res资源注意:
  23. * 资源全部会被打包, 请注意你的资源是否有用;
  24. * 你不需要管为什么会全部打包,那肯定是支持了;
  25. * 注意资源名称不要与E4A默认资源名称重复
  26. * 如 style.xml string.xml 注意修改名称
  27. * <p>
  28. * ******************************************************
  29. * 所有类名不要包含"类库二字"
  30. * 所有依赖类名或包名切勿与类库名称
  31. * ******************************************************
  32. * <p>
  33. * 支持自动导入依赖!
  34. * 自动删除不识别的注解
  35. * *********************************************************
  36. * 如果打包后 E4A报R.java 错误,则需要检查依赖资源路径是否存在或xml中又为导入的依赖
  37. * **************************************************************************
  38. * E4A类库快速开发依赖包     当前版本:4.5
  39. * <p>
  40. * __________________作者:随缘
  41. * __________________QQ:874334395 或 531772873
  42. * <p>
  43. * <p>
  44. * <p>
  45. * 4.5: 更新内容
  46. * 1:默认全包扫描
  47. * 2:一个module一个类库
  48. * 3:使用E4A内置jar依赖
  49. * 4:真实模拟E4A窗口环境
  50. * 5:这可能是最后一个版本了
  51. * <p>
  52. * <p>
  53. * 注意 : values资源规范:
  54. * 1.节点不能与E4A默认节点重复
  55. * 2.资源文件命名不得与E4A默认文件同名
  56. * 3. e4astyle.xml  strings.xml  styles.xml color.xml  E4ARuntime.jar  这些命名全部会被忽略打包
  57. * <p>
  58. * 特别提醒:需要讲此类放入单元测试(test)目录下,否则无法运行
  59. */
  60. public class 类库打包test {

  61.     static {
  62.         工程属性.E4A根目录 = "C:/E4A";
  63.         工程属性.类库名称 = "随缘_广告";
  64.         工程属性.类库类型 = 工程属性.可视库;
  65.         工程属性.类库版本 = 2.0;
  66.         工程属性.作者QQ = "874334395";
  67.         工程属性.类库作者 = "随缘";
  68.         工程属性.MODULE_NAME = PinyinUtil.getPinyin(工程属性.类库名称, "");
  69.         工程属性.自定义属性名称1 = null;
  70.         工程属性.自定义属性名称2 = null;
  71.         工程属性.自定义属性名称3 = null;
  72.         工程属性.属性区图标_bmp = null;
  73.         工程属性.组件区图标_bmp = null;
  74.         工程属性.设计区图标_bmp = null;
  75.         工程属性.自动安装类库 = true;
  76.         工程属性.自动打开源码 = true;
  77.         //如果有附加信息 则必须打开
  78.         工程属性.解析附加信息 = true;
  79.         //合并依赖:指把所有项目依赖jar合并成一个jar文件,优点:如果别人想提取你的依赖,那么就得整个提走(如果不会拆分可能引起异常)
  80.         //                                        缺点:合并后也不便于个人依赖更新
  81.         工程属性.合并依赖 = false;
  82.     }

  83.     @Test
  84.     public void 合并jar包() throws Exception {
  85.         //注意合并JAR会进行覆盖操作,此实例表示a.jar覆盖b.jar,c覆盖a,b       以此类推
  86.         List<File> jarList = new ArrayList<>();
  87.         jarList.add(new File("D:/abc/b.jar"));
  88.         jarList.add(new File("D:/abc/a.jar"));
  89.         jarList.add(new File("D:/abc/c.jar"));
  90.         GenerateItem.jar合并(new File("D:/abc/E4ARuntime.jar"), jarList);
  91.     }


  92.     @Test
  93.     public void 生成RJAVA() throws Exception {
  94.         //为类库生成R.java
  95.         GenerateItem.生成Rjava();
  96.     }


  97.     @Test
  98.     public void 打开类库安装目录() throws Exception {
  99.         GenerateItem.打开类库安装目录();
  100.     }


  101.     @Test
  102.     public void arr垃圾清理() throws Exception {
  103.         GenerateItem.Aar垃圾清理();
  104.     }

  105.     @Test
  106.     public void aar解压() throws Exception {
  107.         GenerateItem.解压aar(工程属性.MODULE_NAME);
  108.     }

  109.     @Test
  110.     public void 打开ELP() throws Exception {
  111.         GenerateItem.打开ELP();
  112.     }

  113.     @Test
  114.     public void 创建E4A窗口环境() throws Exception {
  115.         GenerateItem.创建E4A窗口环境();
  116.     }

  117.     /**
  118.      * 导入elp源码
  119.      * 注意:导入后需要手动修改工程属性:否则打包类找不到类库目录
  120.      */
  121.     @Test
  122.     public void importProject() throws Exception {
  123. //        CanonicalFile.导入项目(new File("D:/xxx.elp"));
  124.     }

  125.     /**
  126.      * 创建类库项目
  127.      */
  128.     @Test
  129.     public void create() throws Exception {
  130.         CanonicalFile.创建项目();
  131.     }

  132.     @Test
  133.     public void 编译类库() {
  134.         //处理aar
  135.         //GenerateItem.解压aar(MODULE_NAME);
  136.         //可以选择
  137.         try {
  138.             GenerateItem.解压aar(工程属性.MODULE_NAME);
  139.             GenerateItem.set附加信息(new 附加信息() {
  140.                 //如果检测到附加信息则会回调此事件
  141.                 @Override
  142.                 public String Permission附加(String Permission信息) {
  143.                     return Permission信息;
  144.                 }

  145.                 //如果检测到附加信息则会回调此事件
  146.                 @Override
  147.                 public String Manifest附加(String Manifest信息) {
  148.                     return Manifest信息;
  149.                 }

  150.                 //如果检测到附加信息则会回调此事件
  151.                 @Override
  152.                 public String mainActivity附加(String mainActivity信息) {
  153.                     return mainActivity信息;
  154.                 }
  155.             });
  156.             GenerateItem.开始打包();
  157.             GenerateItem.Aar垃圾清理();
  158.             //注意以下是垃圾回收代码,一般情况是需要打开的,如果你不能确保你的类库是否有错误请不要打开!打开后控制面板报错无法通过鼠标点击进入错误区
  159. //            GenerateItem.删除文件或目录_CMD(系统工具.路径_写出路径);
  160. //            GenerateItem.删除文件或目录_CMD(系统工具.路径_MODULE_BUILD_GEN);
  161. //            GenerateItem.删除文件或目录_CMD(系统工具.路径_MODULE_BUILD_SRC);
  162. //            GenerateItem.删除文件或目录_CMD(系统工具.路径_MODULE_BUILD_类库集NAME);
  163.             打开类库安装目录();
  164.         } catch (Exception e) {
  165.             e.printStackTrace();
  166.         }
  167.     }
  168. }
复制代码


2.png
1.png
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

7

主题

557

积分

0

精华

用户组 

易积分
296
热心
0
好评
0
发表于 2022-6-30 01:16:23 | 显示全部楼层
易如意中文编程学习交流论坛有你更精彩~
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

0

主题

24

积分

0

精华

用户组 

易积分
4
热心
0
好评
0
发表于 2022-7-6 08:26:46 | 显示全部楼层
易如意中文编程学习交流论坛有你更精彩~
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

0

主题

42

积分

0

精华

用户组 

易积分
295
热心
0
好评
0
发表于 2022-7-30 08:02:10 | 显示全部楼层
而是他的衣服该回家看了看
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

39

主题

753

积分

0

精华

用户组 

易积分
695
热心
0
好评
0
发表于 2022-7-31 17:37:59 来自手机 | 显示全部楼层
不错不错
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

QQ|sitemap|免责声明|RGB颜色对照表|手机版|小黑屋| 易如意 - E4A中文编程学习交流论坛

GMT+8, 2024-5-3 18:45 , Processed in 0.049036 second(s), 36 queries .

Powered by Discuz! X3.4

© 2001-2018 eruyi.cn

返回顶部