still can't build pinyin ime

This commit is contained in:
David Black 2013-12-24 22:35:45 +00:00
parent 4f0324196e
commit accf3349f7
3 changed files with 171 additions and 6 deletions

View file

@ -1,21 +1,26 @@
Categories:System Categories:System
License:Apache2 License:Apache2
Web Site:https://github.com/CyanogenMod/ Source Code:https://android.googlesource.com/platform/packages/inputmethods/PinyinIME
Source Code:https://github.com/CyanogenMod/android_packages_inputmethods_PinyinIME/tree
Issue Tracker: Issue Tracker:
Auto Name:谷歌拼音输入法 Auto Name:谷歌拼音输入法
Summary:Input method for Pinyin Summary:Input method for Pinyin
Description: Description:
Pinyin IME from the AOSP. It is not only of use to Chinese writers but to English writers too because Pinyin IME from the AOSP. It is not only of use to Chinese writers but to English writers too because
it has a T9 style keyboard for writing in English it has a T9 style keyboard for writing in English.
. .
Repo Type:git Repo Type:git
Repo:https://github.com/CyanogenMod/android_packages_inputmethods_PinyinIME.git Repo:https://android.googlesource.com/platform/packages/inputmethods/PinyinIME
#ndk failure,probably needs AOSP Build:4.2.1,1
Build Version:1,1,!272bd,buildjni=yes,forceversion=yes,forcevercode=yes,target=android-15 commit=android-4.4.2_r1
disable=uses import android.os.SystemProperties
target=android-19
patch=build_1.patch;ndk-build_1.patch
prebuild=mv lib/com/android/inputmethod/pinyin/* src/com/android/inputmethod/pinyin/ && \
echo -e 'version.name=4.2.1\nversion.code=1' > ant.properties
buildjni=yes
Auto Update Mode:None Auto Update Mode:None
#In Market as com.google.android.inputmethod.pinyin #In Market as com.google.android.inputmethod.pinyin

View file

@ -0,0 +1,109 @@
diff --git a/build.xml b/build.xml
index 505e9a0..6c08dac 100644
--- a/build.xml
+++ b/build.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project name="com.android.inputmethod.pinyin" default="help">
+<project name="PinyinIME" 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. -->
- <property file="local.properties" />
+ <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.
@@ -28,15 +28,6 @@
-->
<property file="ant.properties" />
- <!-- if sdk.dir was not set from one of the property file, then
- get it from the ANDROID_HOME env var.
- This must be done before we load project.properties since
- the proguard config can use sdk.dir -->
- <property environment="env" />
- <condition property="sdk.dir" value="${env.ANDROID_HOME}">
- <isset property="env.ANDROID_HOME" />
- </condition>
-
<!-- The project.properties file is created and updated by the 'android'
tool, as well as ADT.
@@ -50,23 +41,61 @@
<!-- quick check on sdk.dir -->
<fail
- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
+ message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'"
unless="sdk.dir"
/>
- <!--
- Import per project custom build rules if present at the root of the project.
- This is the place to put custom intermediary targets such as:
- -pre-build
- -pre-compile
- -post-compile (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})
- -post-package
- -post-build
- -pre-clean
- -->
- <import file="custom_rules.xml" optional="true" />
+
+<!-- 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" />
+ <nocompress extension="dat" />
+ </aapt>
+ </do-only-if-not-library>
+ </target>
<!-- Import the actual build file.

View file

@ -0,0 +1,51 @@
diff --git a/jni/Android.mk b/jni/Android.mk
index 9b168aa..157443d 100644
--- a/jni/Android.mk
+++ b/jni/Android.mk
@@ -24,9 +24,8 @@ LOCAL_SRC_FILES := \
share/sync.cpp
LOCAL_C_INCLUDES += $(JNI_H_INCLUDE)
-LOCAL_LDLIBS += -lpthread
LOCAL_MODULE := libjni_pinyinime
-LOCAL_SHARED_LIBRARIES := libcutils libutils
+LOCAL_SHARED_LIBRARIES := libutils
LOCAL_MODULE_TAGS := optional
include $(BUILD_SHARED_LIBRARY)
diff --git a/jni/android/com_android_inputmethod_pinyin_PinyinDecoderService.cpp b/jni/android/com_android_inputmethod_pinyin_PinyinDecoderService.cpp
index dcb63a1..3d232ad 100644
--- a/jni/android/com_android_inputmethod_pinyin_PinyinDecoderService.cpp
+++ b/jni/android/com_android_inputmethod_pinyin_PinyinDecoderService.cpp
@@ -15,7 +15,6 @@
*/
#include <assert.h>
-#include <cutils/log.h>
#include <jni.h>
#include <string.h>
#include <sys/types.h>
@@ -388,11 +387,8 @@ static int registerNativeMethods(JNIEnv* env, const char* className,
}
clazz = env->FindClass("java/io/FileDescriptor");
- LOG_FATAL_IF(clazz == NULL, "Unable to find Java class java.io.FileDescriptor");
gFileDescriptorOffsets.mClass = (jclass) env->NewGlobalRef(clazz);
gFileDescriptorOffsets.mDescriptor = env->GetFieldID(clazz, "descriptor", "I");
- LOG_FATAL_IF(gFileDescriptorOffsets.mDescriptor == NULL,
- "Unable to find descriptor field in java.io.FileDescriptor");
return JNI_TRUE;
}
diff --git a/jni/share/userdict.cpp b/jni/share/userdict.cpp
index 2843141..0eac1de 100644
--- a/jni/share/userdict.cpp
+++ b/jni/share/userdict.cpp
@@ -20,7 +20,6 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
-#include <cutils/log.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>