修改Android8.1吉字节、千字节、光字节、太字节的问题

 分类:Android, Java 阅读 (8)  修改Android8.1吉字节、千字节、光字节、太字节的问题已关闭评论
12月 032019
 

Android8.1显示GB时默认显示吉字节

修改方法如下:

在源码目录下/external/icu/icu4c/source/data/unit中找到zh.txt文件

打开此文件,然后将其中的吉字节修改为GB,千字节修改为KB,兆字节修改为MB,太字节修改为TB,每一项可能有多个地方需要修改,然后保存

因为这个目录下的要单独编译,make clean都不管用,执行下面的命令:

将source/data/out/tmp/目录下的icudt58l.dat文件push到手机/system/usr/icu/目录下,重启手机即可查看效果

然后将source/data/out/tmp/目录下的icudt58l.dat文件拷贝到source/stubdata中,下次编译系统的时候就直接显示GB了。

 

转载自:https://www.jianshu.com/p/fadf33914875

 Posted by on 2019-12-03

imx8+Android8.1修改系统默认语言的方法

 分类:Android, Java 阅读 (6)  imx8+Android8.1修改系统默认语言的方法已关闭评论
12月 032019
 
一、修改方法

在文件device/fsl/mek_8q/BoardConfig.mk中增加一行

PRODUCT_LOCALES = zh_CN

设置变量PRODUCT_LOCALES的值为zh_CN

注意

1、别写在某个if判断中

2、不需要make clean,直接make就可生效

3、验证方法:可以查看out/target/product/mek_8q/system/build.prop中ro.product.locale的值验证,这里正确了再烧录验证

 

 

 Posted by on 2019-12-03

Android插件化初探之apk加载和反射调用函数

 分类:Android, Java 阅读 (15)  Android插件化初探之apk加载和反射调用函数已关闭评论
12月 022019
 
一、整体试验步骤

1.建立子apk,新建一个android应用项目,叫firstplugin

2.在java根目录下新建一个类,叫LoginImpl

3.在LoginImpl.java中实现一个静态方法, login(),此方法只输出一个Log

4.编译生成apk,push到手机的/sdcard目录,此处生成的文件名为firstplugin-debug.apk

5.开始建宿主apk,新建另外一个Android应用项目PlugInHostApp

6.在MainActivity的onCreate中增加如下代码:

7.编译运行,看log中是否输出了login这个字符串

二、遇到的问题和解决方法

1.java.lang.ClassNotFoundException: Didn’t find class “com.zht.car.firstplugin.LoginImpl” on path错误

解决方法:

  1. 查看是否有访问外部存储目录的权限(笔者遇到的就是这个问题,程序不会在new DexClassLoader时报无权限访问或者找不到文件的错误,而会在loadClass时报找不到类的错误)
  2. 关闭Android Studio的Instant run选项,在菜单Settings->Build, Execution, Deployment中(笔者是在Ubuntu中使用Android Studio,没找到此选项)
 Posted by on 2019-12-02

Android中获取应用的安装器名称

 分类:Android, Java 阅读 (14)  Android中获取应用的安装器名称已关闭评论
11月 292019
 

通过获取安装器的名称我们可以判断应用是来自哪个应用市场

当然现在普遍是通过配置gradle来区别应用的安装渠道,不过这个还可以用于判断用户是不是手动进行安装的

代码很简单,如下:

结果示例:

如:com.huawei.appmarket – 是华为应用市场

com.android.packageinstaller – 是用户手动安装的

 Posted by on 2019-11-29

通过action获取其他应用中的Activity

 分类:Android, Java 阅读 (14)  通过action获取其他应用中的Activity已关闭评论
11月 292019
 

测试环境:自己编译的Android8.1系统(userDebug模式)

首先目标应用的AndroidManifest.xml中定义Activity的时候,必须设置一个intent-filter以及action属性,如下:

上面的代码Test1Activity和Test2Activity都有一个intent-filter属性,以及他下面的action子属性

然后使用下面的代码就可以获取这个应用中的有action=”action_abc”的activity了。

 

 Posted by on 2019-11-29

imx8+android8.1开启adb remount过程

 分类:Android, Java, Uncategorized 阅读 (34)  imx8+android8.1开启adb remount过程已关闭评论
11月 262019
 

博文背景:imx 8qxp主板,android8.1系统,系统编译模式userDebug模式

一、开启成功的步骤

  1. 打开系统的开发者选项,并在开发者选项中将OEM unlocking设为开启状态
  2. 连接adb并执行adb root
  3. 执行adb disable-verity
  4. 执行adb reboot bootloader
  5. 连接otg线
  6. 系统重启后会停在bootloader处,在电脑上执行fastboot oem unlocking,(在Ubuntu中需要另外开一个窗口执行这个命令,否则一直提示< waiting for any device >)然后等待提示成功后重启车机
  7.  

  8. 重启成功后,再执行adb root和adb remount即可

 

 Posted by on 2019-11-26

如何让android系统编译时显示更详细的log

 分类:Android, Java 阅读 (24)  如何让android系统编译时显示更详细的log已关闭评论
11月 212019
 

本文基于android8.1系统编译

正常情况下,编译时很多信息都被隐藏掉了,比如如下这种

有多条内容的都被折叠到一行显示了,我们就看不到详细的信息了

加入我们加入一个tee 管道输出,命令如下:

make|tee detailed_log.txt

再执行时原来被折叠的行都可以显示出来了。

 Posted by on 2019-11-21

communication to xxx.com not permitted by network security policy错误的原因

 分类:Android, Java 阅读 (15)  communication to xxx.com not permitted by network security policy错误的原因已关闭评论
11月 182019
 

这是因为Android P(9.0)限制了http的明文请求的原因,具体分析见下面转发的文章

转发:

在Android P(9.0) 系统中,限制了明文流量的网络请求,因为安卓新版本默认是不允许使用明文网络传输的,会强制让应用都使用https,非加密的流量请求都会被系统禁止掉。

Google表示,为保证用户数据和设备的安全,针对下一代Android系统(Android P) 的应用程序,将要默认使用加密连接,这意味着Android P将禁止APP使用所有未加密的连接,因此运行Android P 系统是安卓无论是接收流量还是发送流量,都不能明文传输,需要使用下一代(Transport Layer Security)传输层安全协议,而Android Nougat和Oreo则不受影响。如果WebView 的url使用http协议,同样会出现加载失败,https则不受影响。

如过在Android P(9.0)上依然使用明文传输,则有下面三种解决方案:

1、将APP改用https请求;

2、将targetSdkVersion降到27以下;

3、在res下新建一个xml目录,然后创建一个名为:network_security_config.xml文件,这是一个系统的网络安全配置文件,该文件内容如下:

然后在APP的AndroidManifest.xml文件下的application标签内增加下面一条属性就OK了

————————————————
版权声明:本文为CSDN博主「时代新人」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013184970/article/details/88116680

 Posted by on 2019-11-18

安卓引用资源出现 error: resource android:drawable/…..is private.

 分类:Android, Java 阅读 (25)  安卓引用资源出现 error: resource android:drawable/…..is private.已关闭评论
10月 222019
 

原文链接:https://blog.csdn.net/qq_40585267/article/details/96284943

从错误信息可以看出,该资源没有被公开是私有的。导致无法被引用。
我们可以直接将“@android”改成“@*android”
问题解决。。。。

 Posted by on 2019-10-22

adb捕获系统广播的方法

 分类:Android, Android, Java, Operating System 阅读 (29)  adb捕获系统广播的方法已关闭评论
10月 182019
 

用于监测最近一段时间内发出的全局广播

adb shell dumpsys activity | grep BroadcastRecord |grep -v android.

grep -v android.意思是不显示包含android.字符的广播

dumpsys显示的广播在10秒左右就会被清除,所以在广播发送以后短时间内才有效

 Posted by on 2019-10-18