fix LatinIME: latest version, multiple apks etc.
This commit is contained in:
parent
2a5d87f209
commit
c9718fd9b1
|
@ -9,40 +9,63 @@ The current version comes with English, Spanish, Russian, Brazilian, Italian,
|
|||
German, French, dictionaries; there are twenty more language word lists
|
||||
in the repository but they'd need to be compiled.
|
||||
|
||||
Remember, you can use these very dictionary files for [[org.pocketworkstation.pckeyboard]],
|
||||
either built into the main apk or as addon packs.
|
||||
|
||||
The version name corresponds to the Android version.
|
||||
.
|
||||
|
||||
Repo Type:git
|
||||
Repo:https://android.googlesource.com/platform/packages/inputmethods/LatinIME
|
||||
|
||||
Build:4.2.1,1
|
||||
disable=Results in an apk with '${package.name}' as the package ID
|
||||
commit=android-4.2.1_r1
|
||||
Build:4.4.2-mips,4421
|
||||
commit=android-sdk-4.4.2_r1
|
||||
subdir=java
|
||||
target=android-17
|
||||
target=android-19
|
||||
srclibs=Inputmethodcommon@android-4.4.2_r1
|
||||
extlibs=android/android-support-v4r13.jar
|
||||
srclibs=Inputmethodcommon@android-4.2.1_r1
|
||||
patch=build.xml_1.patch
|
||||
prebuild=sed -i '19 i android:versionName="4.2.1" android:versionCode="1"' AndroidManifest.xml && \
|
||||
cp -r $$Inputmethodcommon$$/java/com/android/inputmethodcommon src/com/android/
|
||||
build=$$NDK$$/ndk-build -e "APP_ABI=all" -C ../native && mv ../native/libs/armeabi libs/
|
||||
patch=custom_rules.xml_1.patch
|
||||
prebuild=echo -e 'package.name=com.android.inputmethod.latin\nversion.name=4.4.2-mips\nversion.code=4421' >> ant.properties && \
|
||||
cp -r $$Inputmethodcommon$$/java/com/android/inputmethodcommon src/com/android/
|
||||
build=$$NDK$$/ndk-build -e "APP_ABI=mips" -e "APP_CFLAGS += -w" -C ../native && mv ../native/libs/* libs/
|
||||
|
||||
Build:4.4.2-x86,4422
|
||||
commit=android-sdk-4.4.2_r1
|
||||
subdir=java
|
||||
target=android-19
|
||||
srclibs=Inputmethodcommon@android-4.4.2_r1
|
||||
extlibs=android/android-support-v4r13.jar
|
||||
patch=custom_rules.xml_1.patch
|
||||
prebuild=echo -e 'package.name=com.android.inputmethod.latin\nversion.name=4.4.2-x86\nversion.code=4422' >> ant.properties && \
|
||||
cp -r $$Inputmethodcommon$$/java/com/android/inputmethodcommon src/com/android/
|
||||
build=$$NDK$$/ndk-build -e "APP_ABI=x86" -e "APP_CFLAGS += -w" -C ../native && mv ../native/libs/* libs/
|
||||
|
||||
Build:4.4.2-arm,4423
|
||||
commit=android-sdk-4.4.2_r1
|
||||
subdir=java
|
||||
target=android-19
|
||||
srclibs=Inputmethodcommon@android-4.4.2_r1
|
||||
extlibs=android/android-support-v4r13.jar
|
||||
patch=custom_rules.xml_1.patch
|
||||
prebuild=echo -e 'package.name=com.android.inputmethod.latin\nversion.name=4.4.2-arm\nversion.code=4423' >> ant.properties && \
|
||||
cp -r $$Inputmethodcommon$$/java/com/android/inputmethodcommon src/com/android/
|
||||
build=$$NDK$$/ndk-build -e "APP_ABI=armeabi" -e "APP_CFLAGS += -w" -C ../native && mv ../native/libs/* libs/
|
||||
|
||||
Build:4.4.2-arm7,4424
|
||||
commit=android-sdk-4.4.2_r1
|
||||
subdir=java
|
||||
target=android-19
|
||||
srclibs=Inputmethodcommon@android-4.4.2_r1
|
||||
extlibs=android/android-support-v4r13.jar
|
||||
patch=custom_rules.xml_1.patch
|
||||
prebuild=echo -e 'package.name=com.android.inputmethod.latin\nversion.name=4.4.2-arm7\nversion.code=4424' >> ant.properties && \
|
||||
cp -r $$Inputmethodcommon$$/java/com/android/inputmethodcommon src/com/android/
|
||||
build=$$NDK$$/ndk-build -e "APP_ABI=armeabi-v7a" -e "APP_CFLAGS += -w" -C ../native && mv ../native/libs/* libs/
|
||||
|
||||
Maintainer Notes:
|
||||
This version uses the prebuilt dictionaries in the repo;
|
||||
you could have a lot of fun building your own.
|
||||
|
||||
Use the ant.properties to change the package name if you wish: it works fine.
|
||||
|
||||
4.3 or 4.4 don't build with NDK 9:
|
||||
jni/src/suggest/core/layout/proximity_info_utils.h:41:88: instantiated from here
|
||||
/home/gerry/android-ndk-r9c/sources/cxx-stl/stlport/stlport/stl/_function_base.h:141:8: error: base class 'struct std::unary_function<std::pair<int const, int>, int const>' has a non-virtual destructor [-Werror=effc++]
|
||||
Note that, like other AOSP apps, there are now special tags with 'sdk' in them;
|
||||
not sure what the difference is.
|
||||
.
|
||||
|
||||
Auto Update Mode:None
|
||||
Update Check Mode:None
|
||||
Current Version:4.2.1
|
||||
Current Version Code:1
|
||||
Current Version:4.4.2
|
||||
Current Version Code:4420
|
||||
|
||||
|
|
126
metadata/com.android.inputmethod.latin/custom_rules.xml_1.patch
Normal file
126
metadata/com.android.inputmethod.latin/custom_rules.xml_1.patch
Normal file
|
@ -0,0 +1,126 @@
|
|||
diff --git a/java/custom_rules.xml b/java/custom_rules.xml
|
||||
new file mode 100644
|
||||
index 0000000..25fc1eb
|
||||
--- /dev/null
|
||||
+++ b/java/custom_rules.xml
|
||||
@@ -0,0 +1,120 @@
|
||||
+<?xml version="1.0" encoding="UTF-8"?>
|
||||
+<project name="LatinIME" default="help">
|
||||
+
|
||||
+ <!-- The local.properties file is created and updated by the 'android' tool.
|
||||
+ It contains the path to the SDK. It should *NOT* be checked into
|
||||
+ Version Control Systems. -->
|
||||
+ <loadproperties srcFile="local.properties" />
|
||||
+
|
||||
+ <!-- The ant.properties file can be created by you. It is only edited by the
|
||||
+ 'android' tool to add properties to it.
|
||||
+ This is the place to change some Ant specific build properties.
|
||||
+ Here are some properties you may want to change/update:
|
||||
+
|
||||
+ source.dir
|
||||
+ The name of the source directory. Default is 'src'.
|
||||
+ out.dir
|
||||
+ The name of the output directory. Default is 'bin'.
|
||||
+
|
||||
+ For other overridable properties, look at the beginning of the rules
|
||||
+ files in the SDK, at tools/ant/build.xml
|
||||
+
|
||||
+ Properties related to the SDK location or the project target should
|
||||
+ be updated using the 'android' tool with the 'update' action.
|
||||
+
|
||||
+ This file is an integral part of the build system for your
|
||||
+ application and should be checked into Version Control Systems.
|
||||
+
|
||||
+ -->
|
||||
+ <property file="ant.properties" />
|
||||
+
|
||||
+ <!-- The project.properties file is created and updated by the 'android'
|
||||
+ tool, as well as ADT.
|
||||
+
|
||||
+ This contains project specific properties such as project target, and library
|
||||
+ dependencies. Lower level build properties are stored in ant.properties
|
||||
+ (or in .classpath for Eclipse projects).
|
||||
+
|
||||
+ This file is an integral part of the build system for your
|
||||
+ application and should be checked into Version Control Systems. -->
|
||||
+ <loadproperties srcFile="project.properties" />
|
||||
+
|
||||
+ <!-- quick check on sdk.dir -->
|
||||
+ <fail
|
||||
+ message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'"
|
||||
+ unless="sdk.dir"
|
||||
+ />
|
||||
+
|
||||
+
|
||||
+<!-- extension targets. Uncomment the ones where you want to do custom work
|
||||
+ in between standard targets -->
|
||||
+<!--
|
||||
+ <target name="-pre-build">
|
||||
+ </target>
|
||||
+ <target name="-pre-compile">
|
||||
+ </target>
|
||||
+
|
||||
+ /* This is typically used for code obfuscation.
|
||||
+ Compiled code location: ${out.classes.absolute.dir}
|
||||
+ If this is not done in place, override ${out.dex.input.absolute.dir} */
|
||||
+ <target name="-post-compile">
|
||||
+ </target>
|
||||
+-->
|
||||
+
|
||||
+ <!-- Puts the project's resources into the output package file
|
||||
+ This actually can create multiple resource package in case
|
||||
+ Some custom apk with specific configuration have been
|
||||
+ declared in default.properties.
|
||||
+ -->
|
||||
+ <target name="-package-resources" depends="-crunch">
|
||||
+ <!-- only package resources if *not* a library project -->
|
||||
+ <do-only-if-not-library elseText="Library project: do not package resources..." >
|
||||
+ <aapt executable="${aapt}"
|
||||
+ command="package"
|
||||
+ versioncode="${version.code}"
|
||||
+ versionname="${version.name}"
|
||||
+ debug="${build.is.packaging.debug}"
|
||||
+ manifest="${out.manifest.abs.file}"
|
||||
+ assets="${asset.absolute.dir}"
|
||||
+ androidjar="${project.target.android.jar}"
|
||||
+ apkfolder="${out.absolute.dir}"
|
||||
+ nocrunch="${build.packaging.nocrunch}"
|
||||
+ resourcefilename="${resource.package.file.name}"
|
||||
+ resourcefilter="${aapt.resource.filter}"
|
||||
+ libraryResFolderPathRefid="project.library.res.folder.path"
|
||||
+ libraryPackagesRefid="project.library.packages"
|
||||
+ previousBuildType="${build.last.target}"
|
||||
+ buildType="${build.target}"
|
||||
+ libraryRFileRefid="project.library.bin.r.file.path"
|
||||
+ manifestpackage="${package.name}"
|
||||
+ ignoreAssets="${aapt.ignore.assets}">
|
||||
+ <res path="${out.res.absolute.dir}" />
|
||||
+ <res path="${resource.absolute.dir}" />
|
||||
+ <!-- <nocompress /> forces no compression on any files in assets or res/raw -->
|
||||
+ <nocompress extension="dict" />
|
||||
+ </aapt>
|
||||
+ </do-only-if-not-library>
|
||||
+ </target>
|
||||
+
|
||||
+ <!-- Import the actual build file.
|
||||
+
|
||||
+ To customize existing targets, there are two options:
|
||||
+ - Customize only one target:
|
||||
+ - copy/paste the target into this file, *before* the
|
||||
+ <import> task.
|
||||
+ - customize it to your needs.
|
||||
+ - Customize the whole content of build.xml
|
||||
+ - copy/paste the content of the rules files (minus the top node)
|
||||
+ into this file, replacing the <import> task.
|
||||
+ - customize to your needs.
|
||||
+
|
||||
+ ***********************
|
||||
+ ****** IMPORTANT ******
|
||||
+ ***********************
|
||||
+ In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
|
||||
+ in order to avoid having your file be overridden by tools such as "android update project"
|
||||
+ -->
|
||||
+ <!-- version-tag: 1 -->
|
||||
+ <import file="${sdk.dir}/tools/ant/build.xml" />
|
||||
+
|
||||
+</project>
|
Loading…
Reference in a new issue