And I have succeed (I think) setting pre-compiled compiler on Windows 7, and compiling and generating a liblclapp.so for androidlcltest.
I have also generated a Debug Key successfully (androidlcl\android\bin\LCLDebugKey.keystore)
But when finally trying to get an APK, it fails. I have set up my PATHS on build_debug_apk.bat (exactly the same paths I have used in generate_debug_key) in the 6 first lines of this batch file.
SET PATH=C:\Program Files (x86)\Android\android-sdk\tools;C:\Program Files (x86)\Android\android-sdk\platform-tools\;C:\Program Files\Java\jdk1.6.0_35\bin
SET APP_NAME=androidlcltest
SET ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
SET APK_SDK_PLATFORM=C:\android-ndk-r8b\platforms\android-8
SET APK_PROJECT_PATH=C:\lazarus\examples\androidlcl\android
I install SDK Manager.exe (installer_r20.0.3-windows)
and install all Adnroid from 1.5(API3) TO 4.1(API16)
Please, ¿ do you know what I could have wrong ?.
_lclView = (View) targetView;
^
[loading java\lang\Integer.class(java\lang:Integer.class)]
[loading java\lang\Number.class(java\lang:Number.class)]
src\com\pascal\lcltest\LCLActivity.java:55: cannot find symbol
symbol : variable Log
location: class com.pascal.lcltest.LCLActivity.LCLInputConnection
Log.v("lclproject", "LCLInputConnection.commitText =" + text + " newCursor
Position=" + Integer.toString(newCursorPosition));
^
src\com\pascal\lcltest\LCLActivity.java:62: cannot find symbol
symbol : method postInvalidate()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
if ((eventResult & 1) != 0) lclsurface.postInvalidate();
^
src\com\pascal\lcltest\LCLActivity.java:52: method does not override or implemen
t a method from a supertype
@Override public boolean commitText(CharSequence text, int newCursorPosition
)
^
src\com\pascal\lcltest\LCLActivity.java:69: cannot find symbol
symbol : variable Log
location: class com.pascal.lcltest.LCLActivity.LCLInputConnection
Log.v("lclproject", "LCLInputConnection.deleteSurroundingText left=" + Int
eger.toString(leftLength) + " right=" + Integer.toString(rightLength));
^
src\com\pascal\lcltest\LCLActivity.java:75: cannot find symbol
symbol : variable KeyEvent
location: class com.pascal.lcltest.LCLActivity.LCLInputConnection
eventResult = LCLOnKey(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL, null,
(char) 0);
^
src\com\pascal\lcltest\LCLActivity.java:75: cannot find symbol
symbol : variable KeyEvent
location: class com.pascal.lcltest.LCLActivity.LCLInputConnection
eventResult = LCLOnKey(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL, null,
(char) 0);
^
src\com\pascal\lcltest\LCLActivity.java:76: cannot find symbol
symbol : method postInvalidate()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
if ((eventResult & 1) != 0) lclsurface.postInvalidate();
^
src\com\pascal\lcltest\LCLActivity.java:77: cannot find symbol
symbol : variable KeyEvent
location: class com.pascal.lcltest.LCLActivity.LCLInputConnection
eventResult = LCLOnKey(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL, null, (
char) 0);
^
src\com\pascal\lcltest\LCLActivity.java:77: cannot find symbol
symbol : variable KeyEvent
location: class com.pascal.lcltest.LCLActivity.LCLInputConnection
eventResult = LCLOnKey(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL, null, (
char) 0);
^
src\com\pascal\lcltest\LCLActivity.java:78: cannot find symbol
symbol : method postInvalidate()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
if ((eventResult & 1) != 0) lclsurface.postInvalidate();
^
src\com\pascal\lcltest\LCLActivity.java:91: cannot find symbol
symbol : variable super
location: class com.pascal.lcltest.LCLActivity.LCLInputConnection
return super.deleteSurroundingText(leftLength, rightLength);
^
src\com\pascal\lcltest\LCLActivity.java:67: method does not override or implemen
t a method from a supertype
@Override public boolean deleteSurroundingText(int leftLength, int rightLeng
th)
^
src\com\pascal\lcltest\LCLActivity.java:104: cannot find symbol
symbol : method setWillNotDraw(boolean)
location: class com.pascal.lcltest.LCLActivity.LCLSurface
setWillNotDraw(false);
^
src\com\pascal\lcltest\LCLActivity.java:106: cannot find symbol
symbol : method setWillNotCacheDrawing(boolean)
location: class com.pascal.lcltest.LCLActivity.LCLSurface
setWillNotCacheDrawing(true);
^
src\com\pascal\lcltest\LCLActivity.java:108: cannot find symbol
symbol : method requestFocus()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
requestFocus();
^
src\com\pascal\lcltest\LCLActivity.java:109: cannot find symbol
symbol : method setFocusableInTouchMode(boolean)
location: class com.pascal.lcltest.LCLActivity.LCLSurface
setFocusableInTouchMode(true);
^
src\com\pascal\lcltest\LCLActivity.java:115: cannot find symbol
symbol : method getWidth()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
int lWidth = getWidth();
^
src\com\pascal\lcltest\LCLActivity.java:116: cannot find symbol
symbol : method getHeight()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
int lHeight = getHeight();
^
src\com\pascal\lcltest\LCLActivity.java:131: cannot find symbol
symbol : class Bitmap
location: class com.pascal.lcltest.LCLActivity.LCLSurface
Bitmap localbitmap = Bitmap.createBitmap(lWidth, lHeight, Bitmap.Config.AR
GB_8888);
^
src\com\pascal\lcltest\LCLActivity.java:131: package Bitmap does not exist
Bitmap localbitmap = Bitmap.createBitmap(lWidth, lHeight, Bitmap.Config.AR
GB_8888);
^
src\com\pascal\lcltest\LCLActivity.java:131: cannot find symbol
symbol : variable Bitmap
location: class com.pascal.lcltest.LCLActivity.LCLSurface
Bitmap localbitmap = Bitmap.createBitmap(lWidth, lHeight, Bitmap.Config.AR
GB_8888);
^
src\com\pascal\lcltest\LCLActivity.java:112: method does not override or impleme
nt a method from a supertype
@Override protected void onDraw(Canvas canvas)
^
src\com\pascal\lcltest\LCLActivity.java:140: cannot find symbol
symbol : variable super
location: class com.pascal.lcltest.LCLActivity.LCLSurface
super.onKeyDown(keyCode, event);
^
src\com\pascal\lcltest\LCLActivity.java:141: cannot find symbol
symbol : variable KeyEvent
location: class com.pascal.lcltest.LCLActivity.LCLSurface
int eventResult = LCLOnKey(KeyEvent.ACTION_DOWN, keyCode, event, (char) 0)
;
^
src\com\pascal\lcltest\LCLActivity.java:142: cannot find symbol
symbol : method postInvalidate()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
if ((eventResult & 1) != 0) postInvalidate();
^
src\com\pascal\lcltest\LCLActivity.java:137: method does not override or impleme
nt a method from a supertype
@Override public boolean onKeyDown (int keyCode, KeyEvent event)
^
src\com\pascal\lcltest\LCLActivity.java:149: cannot find symbol
symbol : variable KeyEvent
location: class com.pascal.lcltest.LCLActivity.LCLSurface
int eventResult = LCLOnKey(KeyEvent.ACTION_UP, keyCode, event, event.getUn
icodeChar());
^
src\com\pascal\lcltest\LCLActivity.java:150: cannot find symbol
symbol : method postInvalidate()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
if ((eventResult & 1) != 0) postInvalidate();
^
src\com\pascal\lcltest\LCLActivity.java:153: cannot find symbol
symbol : variable super
location: class com.pascal.lcltest.LCLActivity.LCLSurface
super.onKeyUp(keyCode, event);
^
src\com\pascal\lcltest\LCLActivity.java:157: cannot find symbol
symbol : method finish()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
finish();
^
src\com\pascal\lcltest\LCLActivity.java:166: cannot find symbol
symbol : variable KeyEvent
location: class com.pascal.lcltest.LCLActivity.LCLSurface
if (keyCode == KeyEvent.KEYCODE_MENU)
^
src\com\pascal\lcltest\LCLActivity.java:169: cannot find symbol
symbol : method closeOptionsMenu()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
if (flagIsMenuOpen) closeOptionsMenu();
^
src\com\pascal\lcltest\LCLActivity.java:170: cannot find symbol
symbol : method openOptionsMenu()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
else openOptionsMenu();
^
src\com\pascal\lcltest\LCLActivity.java:146: method does not override or impleme
nt a method from a supertype
@Override public boolean onKeyUp (int keyCode, KeyEvent event)
^
src\com\pascal\lcltest\LCLActivity.java:180: cannot find symbol
symbol : method postInvalidate()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
if ((eventResult | 1) != 0) postInvalidate();
^
src\com\pascal\lcltest\LCLActivity.java:177: method does not override or impleme
nt a method from a supertype
@Override public boolean onTouchEvent (MotionEvent event)
^
src\com\pascal\lcltest\LCLActivity.java:188: cannot find symbol
symbol : variable InputType
location: class com.pascal.lcltest.LCLActivity.LCLSurface
outAttrs.inputType = InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS;
^
src\com\pascal\lcltest\LCLActivity.java:189: cannot find symbol
symbol : variable EditorInfo
location: class com.pascal.lcltest.LCLActivity.LCLSurface
outAttrs.imeOptions = EditorInfo.IME_ACTION_DONE;
^
src\com\pascal\lcltest\LCLActivity.java:184: method does not override or impleme
nt a method from a supertype
@Override public InputConnection onCreateInputConnection(EditorInfo outAttrs
)
^
src\com\pascal\lcltest\LCLActivity.java:193: method does not override or impleme
nt a method from a supertype
@Override public boolean onCheckIsTextEditor()
^
src\com\pascal\lcltest\LCLActivity.java:215: operator != cannot be applied to co
m.pascal.lcltest.LCLActivity.LCLSurface,<nulltype>
if (((eventResult | 1) != 0) && (lclsurface != null)) lclsurface.postInvalid
ate();
^
src\com\pascal\lcltest\LCLActivity.java:215: cannot find symbol
symbol : method postInvalidate()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
if (((eventResult | 1) != 0) && (lclsurface != null)) lclsurface.postInvalid
ate();
^
src\com\pascal\lcltest\LCLActivity.java:226: cannot find symbol
symbol : variable super
location: class com.pascal.lcltest.LCLActivity
super.onCreate(savedInstanceState);
^
src\com\pascal\lcltest\LCLActivity.java:229: cannot find symbol
symbol : method setContentView(com.pascal.lcltest.LCLActivity.LCLSurface)
location: class com.pascal.lcltest.LCLActivity
setContentView(lclsurface);
^
src\com\pascal\lcltest\LCLActivity.java:230: cannot find symbol
symbol : method postInvalidate()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
lclsurface.postInvalidate();
^
src\com\pascal\lcltest\LCLActivity.java:233: cannot find symbol
symbol : method getWidth()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
lclformwidth = lclsurface.getWidth();
^
src\com\pascal\lcltest\LCLActivity.java:234: cannot find symbol
symbol : method getHeight()
location: class com.pascal.lcltest.LCLActivity.LCLSurface
lclformheight = lclsurface.getHeight();
^
src\com\pascal\lcltest\LCLActivity.java:237: cannot find symbol
symbol : class DisplayMetrics
location: class com.pascal.lcltest.LCLActivity
DisplayMetrics metrics = new DisplayMetrics();
^
src\com\pascal\lcltest\LCLActivity.java:237: cannot find symbol
symbol : class DisplayMetrics
location: class com.pascal.lcltest.LCLActivity
DisplayMetrics metrics = new DisplayMetrics();
^
src\com\pascal\lcltest\LCLActivity.java:238: cannot find symbol
symbol : method getWindowManager()
location: class com.pascal.lcltest.LCLActivity
getWindowManager().getDefaultDisplay().getMetrics(metrics);
^
[loading java\util\ArrayList.class(java\util:ArrayList.class)]
[loading java\lang\Exception.class(java\lang:Exception.class)]
[loading java\lang\Throwable.class(java\lang:Throwable.class)]
[loading java\lang\System.class(java\lang:System.class)]
[loading java\lang\UnsatisfiedLinkError.class(java\lang:UnsatisfiedLinkError.cla
ss)]
[loading java\lang\LinkageError.class(java\lang:LinkageError.class)]
[loading java\lang\Error.class(java\lang:Error.class)]
[total 1039ms]
100 errors
C:\lazarus\examples\androidlcl\android>REM DX to convert the java bytecode to da
lvik bytecode
C:\lazarus\examples\androidlcl\android>call dx --dex --verbose --output=C:\lazar
us\examples\androidlcl\android\bin\classes.dex C:\lazarus\examples\androidlcl\an
droid\bin\classes
no classfiles specified
C:\lazarus\examples\androidlcl\android>REM Now build the unsigned APK
C:\lazarus\examples\androidlcl\android>del C:\lazarus\examples\androidlcl\androi
d\bin\androidlcltest-unsigned.apk
C:\lazarus\examples\androidlcl\android>call apkbuilder C:\lazarus\examples\andro
idlcl\android\bin\androidlcltest-unsigned.apk -v -u -z C:\lazarus\examples\andro
idlcl\android\bin\androidlcltest.ap_ -f C:\lazarus\examples\androidlcl\android\b
in\classes.dex
THIS TOOL IS DEPRECATED. See --help for more information.
java.io.FileNotFoundException: C:\lazarus\examples\androidlcl\android\bin\androi
dlcltest.ap_ does not exist
Could Not Find C:\lazarus\examples\androidlcl\android\bin\androidlcltest-unalign
ed.apk
jarsigner error: java.lang.RuntimeException: keystore load: Keystore was tampere
d with, or password was incorrect
Unable to open 'bin\androidlcltest-unaligned.apk' as zip archive
Press any key to continue . . .
C:\lazarus\examples\androidlcl\android>^A
Please, ¿ do you know what I could have wrong ?.