Open Android Studio badly will possiably cause the following problem:

1
2
3
4
5
6
7
8
Problems found loading plugins:
Plugin "Google Analytics Uploader" was not loaded: required plugin "Android Support" is disabled.
Plugin "SDK Updater" was not loaded: required plugin "Android Support" is disabled.
Plugin "Android NDK Support" was not loaded: required plugin "Android Support" is disabled.
Plugin "Google App Indexing" was not loaded: required plugin "Android Support" is disabled.
Plugin "Google Cloud Tools For Android Studio" was not loaded: required plugin "Android Support" is disabled.
Plugin "Google Cloud Testing" was not loaded: required plugin "Android Support" is disabled.
Plugin "Google Services" was not loaded: required plugin "Android Support" is disabled.
Continue reading

Recently when I enabled Proguard in my program like the following:

1
2
3
4
5
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}

I faced the problem that it tooks like for ever for the process of transformClassesAndResourcesWithProguardForRelease. This problem happens when you have multiple libraries need to be Proguard/Dexguard. Add the line multiDexEnabled true in to your gradle defaultConfig will fix this problem.

Continue reading

When you build up an Android library, but not sure if it works properly. When a company has multiple modules and want to allow their employees access and use module easily. Aritifactory is one tool that is useful for speeding up development cycles. You can publish your modules or libraries into Artifactory repositories, and only let people in localhost to use them.

How to install and setup Artifactory?

I am using Linux environment to build up Artifactory. Therefore, I will only talk how to install it in Linux system. If you don’t have Linux system, you can use virtual machine (Virtual Box) or host a Linux system in clouding system (AWS).

Continue reading

After I built up release version of APKs/AARs files and push SDK to Artifactory for exposing Android libraries for developing and testing (I will write an article explaining what is Artifactory), I find out it is still hard to testing. I don’t know what is wrong with my SDKs after I imported to a new App since there is no log for realease version and I cannot use debug mode.

I finally find out one solution. I still feel like it is not the best. However, right now, I have no better solution. If you can solve this problem, please leave your comment and method here, it will help me out a lot.

Continue reading

How to apply Proguard/Dexguard

Proguard/Dexguard shrink and obsfucate resources and codes by scanning and looping up the dependencies. It will do everything it thinks necessary. To apply proguard, simple change minifyEnabled in the module/app you want to apply to be true. Android will apply for Proguard automatically.

1
2
3
4
5
buildTypes {
release {
minifyEnabled true
}
}
Continue reading

When we have customized strings in an Andriod App, where are you store them? Some people choose to assign strings directly in the code. However, cosidering a good desgin patern, Andriod separates code and resources. Most of good Android developer put strings in strings.xml which is located under res > values. This is because we can easily manipulates and customize values.

Continue reading

Based on the article I wrote: Decode Android Project from APK, we know that revise engineers can easily decode codes and get your source files. there are a number of possible vulnerabilities for unprotected mobile applications, such as insertion of malware, intellectual property theft, priacy and data theft. Therefore, we can use ProGuard or DexGuard to protect. This is a way to apply multiple obfuscation and encryption to make our source codes unreadable.

Continue reading

If an Android App not doing encryption or obfuscation, an APK (Android application package) is easily be decoded. A reverse engineer can see its source codes and XML files.

Here is the procedure how to decoding .apk files to get source files.

  1. Go to project, Build -> Build APK(s). After .apk file is generated, click “locate” to the path of the file.
  2. Create a new folder, let’s call it “decode”.
Continue reading

Sometimes we use third-party library, or we implements a module and want it to be a part of our main code’s library. In both scenarios, we can import a library as a module.

How to import a library in Android Studio?

  1. File > New > Import modlue > add the library path.
  2. Change library module gradle:
    1. Change “apply plugin: ‘com.android.application’” to “apply plugin: ‘com.android.library’”
    2. Remove applicationId.
Continue reading
  • page 1 of 1
Author's picture

Amy Zhu

To learn without thinking is blindness, to think without learning is idleness.


Mapsted Software Engineer


Toronto, ON