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
License:Apache2
Web Site:https://github.com/CyanogenMod/
Source Code:https://github.com/CyanogenMod/android_packages_inputmethods_PinyinIME/tree
Source Code:https://android.googlesource.com/platform/packages/inputmethods/PinyinIME
Issue Tracker:
Auto Name:谷歌拼音输入法
Summary:Input method for Pinyin
Description:
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:https://github.com/CyanogenMod/android_packages_inputmethods_PinyinIME.git
Repo:https://android.googlesource.com/platform/packages/inputmethods/PinyinIME
#ndk failure,probably needs AOSP
Build Version:1,1,!272bd,buildjni=yes,forceversion=yes,forcevercode=yes,target=android-15
Build:4.2.1,1
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
#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>