First of all , I am using android studio for development of android app. I have build an android app for OCR using tesseract library. The app is currently working great and giving desire output but my problem is with its size. The size of the build app is 30 MB which is high compared to other OCR app available. I have tried "minifyenabled = true" but it reduce just 300 kb of size. So my question is how to reduce size of my app?
You can use APK splits to build smaller versions of your app that target individual device architectures. For an example of this, see the San Angeles demo project.
You can get a further reduction by removing the libpngt.so/libjpgt.so files if your app doesn't need them.
Using ProGuard may help too.
Regarding tesseract lib size have a look at options provided by tesseract itself. Description is in article less is better. Be aware some of options are experimental, so check your OCR quality.
Use the 3.01 version of Tesseract .trainddata
files.
How to reduce size of tessdata used for TessBaseAPI in android?
Read the answer in http://stackoverflow.com/questions/25101534/reducing-android-app-apk-size
you will get the solution. And for the record always try to reduce duplicating codes
App sizes largely increases due to 3rd party libraries and images. Please have a look at what all images you have used and try reducing their sizes where all possible.
One more thing you can do is use Lint to check for unused resources and remove them if any.
Just right click on app directory -> Analyze -> Run Inspection By name
and then type in Unused resources.
来源:https://stackoverflow.com/questions/36109777/how-to-reduce-android-app-size