# AndLang **Repository Path**: wugemu_admin_admin/AndLang ## Basic Information - **Project Name**: AndLang - **Description**: 基础库 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-02-08 - **Last Updated**: 2025-11-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AndNyso 基础库 一.本地基础库提交至远程仓库 1.在lib项目gradle中添加以下配置 /*NEXUS_USERNAME 用户名 NEXUS_PASSWORD 用户密码*/ apply plugin: 'maven' uploadArchives { configuration = configurations.archives repositories { mavenDeployer { repository(url: "http://192.168.11.244:8086/repository/nysoapp/"){ authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD) } pom.project { version '1.0.0' artifactId 'andlang' groupId 'com.nyso.library' packaging 'aar' description '基础库' } } } } 2.执行uploadArchives,上传arr包到私有库NEXUS 3.lib库依赖的库也需要使用相同方法上传远程仓库 二.引入远程基础库 1.在根build.gradle中添加maven链接 maven { url 'http://192.168.11.244:8086/repository/nysoapp/'} 2.在app的build.gradle中引用 implementation 'com.nyso.library:andlang:1.0.0' 三.基础库使用 继承BaseLangApplication子类中调用以下功能方法 1.友盟统计 UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, null); MobclickAgent.setScenarioType(this, MobclickAgent.EScenarioType.E_UM_NORMAL); /** 设置是否对日志信息进行加密, 默认false(不加密). */ MobclickAgent.enableEncrypt(true); MobclickAgent.setCatchUncaughtExceptions(true);//false关闭友盟默认错误统计 使用自定义统计上传错误 2.Glide图片加载工具初始化 initImageLoad(); //使用ImageLoadUtils加载图片,支持gif动态 3.奔溃日志存储本地功能初始化 //dirPath 日志记录路径 initCrashLog("/nyso/crash/"); 4.安装防崩溃功能 installCockroach(); //最大化防止应用crash 需要在清单中注册DebugSafeModeTipActivity 5.bugly统计初始化 https://bugly.qq.com/v2/ /*appId 平台提供的appid *userId 自定义用户id *channelKeyName AndroidManifest.xml中设置的渠道key值 注意:不是value的值 */ initBugly("","","UMENG_CHANNEL"); //app自定义错误上传 CrashLog.postBuglyException() //其它自定义错误上传 CrashLog.postExcForOther() //网络请求超时或域名解析报错的错误上报,会判断网络是否真正连接 CrashLog.postExcForNet() 6.MMKV 数据存储 替换SharePreference //MMKV SharePreference 数据迁移到 MMKVUtil.changeMMKV(this); 7.图片临时文件夹名称设置 //图片临时存储文件夹名称 initCacheName("nyso"); 8.get网络缓存添加支持本地缓存策略 useLocalCache字段传参为true使用本地缓存策略 使用本地缓存时,若命中本地缓存回调方法 /* *cache 本地缓存数据 */ onCacheData(String cache) 注意:本地缓存回调后,若网络请求(包括网络缓存)成功后,还会继续回调方法 /*response 网络返回报文 *useLocalCache 是否使用本地缓存 *haveLocalCache 本地是否有缓存 *cacheUrl 缓存的key */ onResponse(String response,boolean useLocalCache,boolean haveLocalCache,String cacheUrl); 9.HttpConfig 网络配置文件 HttpConfig.tmpImageDir="nyso";//配置文件下载sd文件夹,默认nyso HttpConfig.imgUpDefName="pic";//图片文件上传接口后台定义的接收文件的参数名称,由后台提供,默认pic HttpConfig.cookieName="JSSIONID";//有效的cookie名称,用户登录标识,由后台提供,默认JSSIONID //401 //未登录状态 //20001 商品数据不存在 //200002 通用数据不存在 //4901 版本更新检查code HttpConfig.addCodeConfig(401,"未登录状态"); HttpConfig.addCodeConfig(20001,"商品数据不存在"); HttpConfig.addCodeConfig(200002,"通用数据不存在"); HttpConfig.addCodeConfig(4901,"版本更新检查code"); 10.摇一摇切换环境功能 /*获取当前环境字符串 环境指如下 *HOST_DEBUG="SplashActivity_debug";//测试环境 *HOST_PRERE="SplashActivity_prere";//预发环境 *HOST_LOCAL="SplashActivity_local";//开发环境 *HOST_USERLOCAL="SplashActivity_userlocal";//本地环境 *HOST_PRESS="SplashActivity_press";//压测环境 *正式环境为空 */ MMKVUtil.getString(Constants.TEST_HOST_TAG); 11.weex基础库引入 implementation 'com.nyso.library:andweex:1.0.0' implementation 'com.android.support:recyclerview-v7:27.1.1' implementation 'com.alibaba:fastjson:1.1.46.android' implementation 'com.taobao.android:weex_inspector:0.10.0.5' //初始化weex图片加载 InitConfig config=new InitConfig.Builder().setImgAdapter(new ImageAdapter(getApplicationContext())).build(); WXSDKEngine.initialize(this,config); //weex model注册 view注册 try { WXSDKEngine.registerModule("TestModule", TestModule.class); WXSDKEngine.registerModule("sdModule", SDModule.class); WXSDKEngine.registerComponent("progressView", WeexProgressView.class); }catch (WXException e){ e.printStackTrace(); LogUtil.e("0.0",e.getMessage()); } 12.可配置style 所有引用基础库的项目都需要在主项目的style文件中创建一个themestyle,该style需要继承基础库中的AppTheme.LangNoActionBar 将创建好的style设置到AndroidManifest中的application标签中,单个activity如果需要特殊样式的主题需要继承这个主项目的themestyle,在进行配置 所有引入的第三方库如果它的AndroidManifest文件中有activity并且在application中设置了主题样式需要将这个样式从application中移除, 放到每一个activity中以防和主项目中的themestyle冲突 可配置的点: @mipmap/back2 @color/lang_colorWhite @dimen/title_size @color/lang_colorBlack @color/lang_colorWhite @mipmap/loading_out @mipmap/image_def @mipmap/lang_error @mipmap/lang_nonet @string/tip_error <<<<<<< HEAD @string/tip_no_network 13.图片加载工具需要初始化默认图GlideUtil.getInstance().initDefResId(Activity activity); ======= @string/tip_no_network 13.图片加载工具需要初始化默认图 GlideUtil.getInstance().initDefResId(Activity activity); >>>>>>> c01fa2344d700867a31029548407bf05ff780ab7 需要在应用的第一个activity创建时执行,才能使style中的image_def生效 # 帮助 一.修改aar包时,版本号不提升,代码修改的情况下,需要清除本地maven缓存文件 1.删除~/.gradle/caches/transforms-1/files-1.1/相关包名 2.删除~/.gradle/caches/modules-2/files-2.1/相关包名 3.删除项目中的.gradle文件夹和.idea文件夹和bulder文件夹 4.重新编译gradle下载最新的aar包 二.weex 源码修改 1.修改原因:资源默认图片加载有异常 WXImageView.java中setImageResource(int resId)方法 添加if(resId!=0)判断 2.修改原因:Android input标签光标不显示 WXEditText.java中public WXEditText(Context context)构造方法中添加 try {//修改光标的颜色(反射) Field f = TextView.class.getDeclaredField("mCursorDrawableRes"); f.setAccessible(true); f.set(this, R.drawable.weex_edittext_cursor); } catch (Exception ignored) { // TODO: handle exception }