-
Generate AOSP make build system products graph
Read moreThe AOSP build system provides a make target called product-graph to generate products graph files. -
Build AOSP for emulator
Read moreThe emulator is good tool to test and prototype your product, and this article will show how to build it locally from your AOSP source code for your x86 architecture develop machine. -
Test LiveData in Instrumentation tests
Read moreThe LiveData.observe method should run in main thread, but our test methods run in background thread, so we should use some tricks to avoid it if we want to test LiveData in Instrumentation tests. -
Exclude Android resource generated classes from Instrumentation target makefile
Read moreThere are so many instrumentation tests created by Google in AOSP, and they will test basic function of app and ui function based on Activity. It works fine for many occasions, but it doesn’t process correctly, when your instrumentation target app uses third-part libraries with resources, and uses aapt flags... -
Compile adb for Android device
Read moreActually, before Android 6.0, there is a adb in system/bin, which can be used in Android, and we can use this adb to connect itself or other Android device. But from Android 6.0, the Android official remove the build script for adb used in Android from system/core/adb/Android.mk because of the... -
Check whether the android is stable
Read moreThis article based on Android 7.0, and it maybe obsolete. -
Just pause selenium for python
Read moreWhen I use selenium to test page, I just want to pause some seconds, and then to do some work. Firstly, I try to use time.sleep(seconds) of python, but the selenium will behaviour illegitimate. So I start to find solution from selenium. -
Transfer Redshift data between regions
Read moreFirstly, use aws’s UNLOAD command to save your redshift data to s3. -
Don't use empty space after variable in Android makefile
Read moreIn Android makefile, we always assign a value to a variable. But if we add one or more empty space after variable value, it may cause some build error. -
Android 6.0 JNI uses long to store pointer address
Read moreAndroid 6.0 JNI uses long to store pointer address, which Android 5.0 JNI use int to store pointer address. In Android 5.0, some system servers use long to store pointer address of native object, which is stored as int. If system servers want to use pass it to native methods,...