mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-15 23:44:48 +08:00
docs: update contribution guidelines to include link to developer docs
This commit is contained in:
+2
-49
@@ -20,55 +20,8 @@ Open the project in Android Studio. No extra steps are needed for this.
|
||||
It is possible to build AndroidIDE in AndroidIDE itself. But, as it might be a too heavy task for an
|
||||
Android device to be able to build the project, Android Studio is always recommended.
|
||||
|
||||
## Project structure
|
||||
|
||||
The `:app` module has two product flavors based on CPU ABI :
|
||||
- `arm64-v8a`
|
||||
- `armeabi-v7a`
|
||||
|
||||
These flavors are used to build separate APKs with ABI-specific assets. The overall logic of the application remains the same across both flavors, but the assets differ based on the targeted CPU architecture.
|
||||
|
||||
The project structure is as follows :
|
||||
|
||||
```
|
||||
- app
|
||||
- src
|
||||
- arm64-v8a
|
||||
- assets
|
||||
- <arm64-v8a specific assets>
|
||||
- armeabi-v7a
|
||||
- assets
|
||||
- <armeabi-v7a specific assets>
|
||||
- main
|
||||
- assets
|
||||
- <shared assets>
|
||||
```
|
||||
|
||||
When modifying assets, please make sure to update the assets in the appropriate flavor-specific directories (app/src/arm64-v8a/assets or app/src/armeabi-v7a/assets).
|
||||
|
||||
## Split APKs, Size Reduction, and Optimization
|
||||
|
||||
By utilizing product flavors and split APKs based on CPU ABI, the size of the APKs have been optimized. Each APK now includes only the shared libraries and assets specific to a particular ABI, resulting in reduced file sizes for each APK.
|
||||
|
||||
It's important to note that there are some issues that arise when using product flavors and split APKs. Specifically, the generation of invalid APKs for certain flavors occurs due to the inclusion of incompatible assets.
|
||||
|
||||
For instance, let's consider the 'armeabi-v7a' flavor. Currently, two APKs are generated for this flavor:
|
||||
|
||||
```
|
||||
app-armeabi-v7a-armeabi-v7a-debug.apk
|
||||
app-armeabi-v7a-arm64-v8a-debug.apk
|
||||
```
|
||||
|
||||
However, the second APK listed above is invalid because it includes assets only for 'armeabi-v7a' and but contains 'arm64-v78a' shared libraries. As a result, installing this APK will render it non-functional.
|
||||
|
||||
Likewise, for the 'arm64-v8a' flavor, an APK named `app-arm64-v8a-armeabi-v7a-debug.apk` is generated. Although this APK may be functional due to the backwards compatibility of arm64-v8a with armeabi-v7a, proper functioning of the app cannot be guaranteed.
|
||||
|
||||
Considering these issues, it is recommended that only the following APKs be used:
|
||||
|
||||
```
|
||||
app-arm64-v8a-arm64-v8a-debug.apk
|
||||
app-armeabi-v7a-armeabi-v7a-debug.apk
|
||||
```
|
||||
You can refer the [AndroidIDE Developer Guide](https://docs.androidide.com/developer/index.html) to
|
||||
get started with the development or to learn more about the various components in the IDE.
|
||||
|
||||
## Source code format
|
||||
|
||||
|
||||
Reference in New Issue
Block a user