开源电子书阅读器 LibreraReader 编译环境与编译
https://github.com/foobnix/LibreraReader
========================================================================================
1.下载代码到linux环境 git clone git@github.com:foobnix/LibreraReader.git
2.下载sdk和ndk:我使用的是sdk build-tools 29.0.3
ndkVersion 21.3.6528147
buildToolsVersion '29.0.3'
compileSdkVersion 29
ndkVersion "21.3.6528147"
targetSdkVersion 29
3.根目录创建local.properties文件
ndk下载
https://developer.android.com/ndk/downloads?hl=zh-cn
android {
ndkVersion "22.0.7026061"
}
sdk.dir = /home/xxx/work/androidSdk
ndk.dir = /home/xxx/work/android-ndk-r21d
4.export ANDROID_HOME=/home/xxx/work
export PATH=$PATH:$ANDROID_HOME/android-ndk-r21d
5.安装一些依赖包
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libglut-dev
sudo apt-get install freeglut3-dev
sudo apt-get install libx11-dev
sudo apt-get install libxi-dev
6.配置keystore.pkcs12
(1)生成key
keytool -genkey -v -storetype PKCS12 -keystore keystore.pkcs12 -alias ALIAS -keyalg RSA -keysize 2048 -validity 10000
(2)~/.gradle/gradle.properties 修改key配置
RELEASE_STORE_FILE=/PATH/TO/YOUR/keystore.pkcs12
RELEASE_STORE_PASSWORD=PASSWD
RELEASE_KEY_PASSWORD=PASSWD
RELEASE_KEY_ALIAS=ALIAS
7.cd Builder ./link_to_mupdf_1.16.1.sh
./gradlew assembleFdroid
等待编译完成
========================================================================================
Librera Reader
Librera Reader is an e-book reader for Android devices; it supports the following formats: PDF, EPUB, EPUB3, MOBI, DjVu, FB2, TXT, RTF, AZW, AZW3, HTML, CBZ, CBR, DOC, DOCX, and OPDS Catalogs
Web: http://librera.mobi/
FAQ: Read
Android Play Market Apps:
Application Fonts (fonts.zip download to internal sd card, to [Downloads] folder) link
Required build libs
mesa-common-dev libxcursor-dev libxrandr-dev libxinerama-dev libglu1-mesa-dev libxi-dev pkg-config
You also need the Android NDK in version 20+ Please ensure to download it using android studio and add the NDK to your PATH.
Create a keystore
Even if you do not plan to upload a version yourself you need a keystore with a certificate to build. The keystore needs to be in PKCS12 format. You can create a keystore in your actual directory using the following call (replace ALIAS by your alias, it is just a name):
keytool -genkey -v -storetype PKCS12 -keystore keystore.pkcs12 -alias ALIAS -keyalg RSA -keysize 2048 -validity 10000
Now edit or create the file ~/.gradle/gradle.properties and set following values (replacing PASSWD by the password you typed while creating the keystore, ALIAS as before and using the path to your keystore):
RELEASE_STORE_FILE=/PATH/TO/YOUR/keystore.pkcs12
RELEASE_STORE_PASSWORD=PASSWD
RELEASE_KEY_PASSWORD=PASSWD
RELEASE_KEY_ALIAS=ALIAS
Create Firebase Authentication file
To build with firebase support (all version but the ones for Fdroid) you need to get an authentication file for firebase services offered by google. Therefore please follow https://firebase.google.com/docs/android/setup to create your own project. You need to register for the packages com.foobnix.pdf.info and com.foobnix.pdf.reader.a1. This way you will get a google-services.json file that you have to place in the app folder of the repository.
For this project only Analytics is used, so a spakling plan is all you need.
Librera Build on MuPdf 1.11 (Default)
cd Builder
./link_to_mupdf_1.11.sh (Change the paths to mupdf and jniLibs folders)
./gradlew assembleLibrera
Librera Build on MuPdf 1.16.1 (Optional, alpha, F-Droid)
cd Builder
./link_to_mupdf_1.16.1.sh
./gradlew assembleAlpha
Building for F-Droid
If you wish to build for F-Droid (e.g. not using google services) you can run the build with
cd Builder
./link_to_mupdf_1.16.1.sh
./gradlew assembleFdroid
F-Droid build does also not need a google-services.json
Librera depends on:
MuPDF - (AGPL License) https://mupdf.com/downloads/archive/
- ebookdroid
- djvulibre
- hpx
- junrar
- glide
- libmobi
- commons-compress
- eventbus
- greendao
- jsoup
- juniversalchardet
- commons-compress
- okhttp3
- okhttp-digest
- okio
- rtfparserkit
- java-mammoth
- zip4j
Librera is distributed under the GPL
License
See the LICENSE file for license rights and limitations (GPL v.3).