Hi,
I have developed two plugins for eclipse that aid in Android development. Both can be found on the doubletimesoft website.
The first one is Walle, it can display the contents of an SQLite database that resides on an Android device. Also any SQL syntax can be executed against the database as well. See the website for download and features.
The second one is Eve. Eve can import an Android project and all of it's Android project dependencies.
Let me know what you think.
Related
Hi there...
I have embarked upon the developement of a slimserver client for the pocket pc using c#. There is no decent one around that I know of!
Anyway, it is going to be open sourced, and I have already implemented the use of the CLI interface. however, I am a bit stuck with the XML one. I have attached the relevant sources! The problem is that when it runs through the emulator, it is unable to deserialise a slimserver xml file and returns a NotSupported Exception (I have attached a sample xml file). I generated a c# class library for slimserver's xml schema using xsd.exe.
The funny thing is that when I run the compiled .exe file in windows (without the emulator), it runs smoothly, and deserialises it perfectly! It also works when compiled for a normal desktop application!
Could someone help please?
Hello,
I'm currently in the need to code a C++ app under Windows Mobile 6 that starts an installed Java app. I already hoped that call system("java java_app") might work, but my C++ compiler (VS 2005) does not even know system() function. And I don't think it would work this way: to install a Java app, I start a .jar file, and then, I can start the app manually via start menu under Start -> Program Files -> Tools -> Java, where I can select from all installed Java apps, and obviously, the installation does not create .jar or. class files anywhere in the file system. The Java runtime environment on my phone (HTC Diamond) is an Esmertec Jbed.
Thanks for any help.
As far as I could find out, Java apps under Jbed JVM can be started from command line by
\windows\jbed.exe -run sX_
where X=0,1,2,3,... ist the index of the desired app in the list of installed Java apps. So, Java app can be started from C++ programm using ShellExecuteEx(), filling the lpFile member of the SHELLEXECUTEINFO parameter with "\\windows\\jbed.exe" and lpParameters member with "-run sX_".
Very nice, so far, however, there are two troubles remaining:
- the index X of the desired Java app depends on the sequence, in which the Java apps have been installed
- the Java midlets have a hierarchical structure. A midlet might contain several sub-midlets, but only the highest-level midlets are accessable by the s-index
Well, I think the hierarchical structure is a solvable problem, the desired midlet can be installed as a top-level midlet. But still the index problem. Is there maybe a registry entry that maps midlets to indices?
I found the solution!
Jbed stores for each installed midlet a sX_.jah, sX_.obj and a sX_suite.utf file in \windows\appdb folder. The .jah and .obj are binary files, but the .utf files are readable text files that contain some information of the corresponding midlet, that enables one to identify midlet from index X. So, all I need to do in my C++ app is to open the .utf files subsequently and to check if I find the information that identifies the desired midlet.
Can anyone suggest tools/utilities that would allow me to disassemble a WM 6.5 dll to reveal it's methods and parameters? In .net desktop world I can use tools like Reflector to do this, but I seem to be having difficulty doing this on WM apps.
Unregister dll - EDiT - Register dll
Here two threads discussing Developer tools & Kitchen Utilities for (ROM) Chef's;
Kitchen Utensils
60 Universal Tutorials for Customizing any Device and Cooking
Have fun, develop something nice for free and please do it here on xda-developers
There are a lot of ifs and buts to this but here goes:
If the dll was created as a .NET app, then reflector should be able to list the code within it, as it will contain the MSIL code within it. If it has been run through an obfuscator when it was built, this can mangle some of the internals and give Reflector a bit of a hard time.
Otherwise it will be a Win32/MFC/ATL object containing ARM object code. A DLL file is the same format as an exe file i.e. Microsoft's PE (Portable Executable) format. Microsoft's DUMPBIN, part of Visual Studio, (run it from the VS Command Prompt), is able to dump out the EXPORT table which lists the public functions visible in it.
There is a freeware ARM dissassembler , CHARMED, which can run on your device which can display the ARM assembly code, but to make any sense out of it, you will require a pretty good knowledge of the ARM instruction set and basic knowledge of how compilers work. If you don't know what a stack frame is, you'll struggle.
Providing a link to chARMed and C/P from that page
stephj said:
There is a freeware ARM dissassembler , CHARMED, which can run on your device which can display the ARM assembly code, but to make any sense out of it, you will require a pretty good knowledge of the ARM instruction set and basic knowledge of how compilers work. If you don't know what a stack frame is, you'll struggle.
Click to expand...
Click to collapse
Here is the link for this nice freeware ARM dissassembler;
http://sites.google.com/site/naphos/software
Requirements: Windows 98,Me,2000,XP Size: 246kb Description: ABOUT ChARMeD:
ChARMeD is a Windows Mobile / Pocket PC / Win CE (for ARM CPUs) Disassembler and Assembler
The name ChARMeD stands for:
Carolo's Hexadecimal ARM Editor and Disassembler
FEATURES:
· Disassemble a Windows CE Executable for ARM CPUs.
· Assemble instructions in ARM Assembler.
· Upload modified file to Windows CE Device.
· View MZ and PE Headers of executable.
· View Import Table of executable.
ASSEMBLER:
· Added NOP instruction 0x90909090, which is not part of the ARM instruction set, but nevertheless works because it is an undefined instruction.
· Supports all no operand instructions, Branches (Jumps) and instructions with two registers as operands.
DISASSEMBLER:
· Recognises 0x90909090 as NOP (see ASSEMBLER above)
· Supports all no operand instructions, Branches (Jumps) and double operand instructions.
ARM Classic Processors
ARM Infocenter
I think IDA is standard for this kinda reversing. If you can find a location where the DLL is called from in another app, you should be able to quickly identify at least the number and format of the parameters. Obviously you can also refer to the import/export tables for this.
V
Awsome bits of info to get me started ... thanks!!
Is a DLL signed?
And if it is, how does one know it? I use a tool from sysinternals called Sigcheck
Sigcheck
Verify that images are digitally signed and dump version information with this simple command-line utility.
One way to use the tool is to check for unsigned files in your \Windows\System32 directories with this command:
Code:
sigcheck -u -e c:\windows\system32
Though there are way more options than the example above.
As all reverse engineers/hackers or cooks you too should investigate the purpose of any files that are not signed.
Besides some nice sysinternals standard utilities, there's also;
SystemInternals_Suite
For obvious reasons I'm using not a direct link to the Suite. Therefore you need to click on it (on the left) yourself. There's a load of useful utilities there waiting to be downloaded by (would be) developers, power users and system / network administrators (are we not all).
If it is signed with a signature; you need to unsign it before editing it!
It's dead easy.
1) Copy your DLL from your phone to your PC. You may need to use ROMExtractor to do this if you have problems.
2) Unsign it using Unsigner. To do this download Unsigner and the Unsigner batch file here. Copy Unsigner, the Batch file and the dll from the phone to one directory and run the .bat file. It should tell you that the certificate has been removed.
3) Download Reshack
4) Open the dll from the phone using Reshack or the better not free PE Explorer
5) Do your editing.
6) Click Compile String at the top and then save the file.
7) Download Ssigner. Launch it and use Select File to select the DLL file you've just modified. Click Start Sign Process! When it's done check the text file that's created to make sure it signed properly.
8) Copy the file back to the Windows directory on the device using for PPC/handheld/CE free Total Commander. If necessary Reboot.
Kitchen Utils Reviewed gives links to programs a developer / cook needs!
Have fun edtinig, vewinig ,bwroisng, assilimating, copamirng and itengaritng your files,
o/~
Hi all.
I need to do a close source library for my work.
I figured I could create a library project and then export all of its code into a compiled jar archive.
Then, when I need to use that library, I use the empty android library project for its resources and I import the jar file in the build path.
So far, it works when the main project that uses the library doesn't have its own resources.
But as soon as I add a resource (like icon.png) into the main project, the application fails to launch a library activity and I get this error : Unable to start activity ComponentInfo{...}: android.content.res.Resources$NotFoundException: File res/drawable/icon.png from xml type layout resource ID #0x7f020000
I really don't get it. What's the problem ?
Thank you for your help.
(This is a repost from Stack Overflow, so if you prefer to earn points there see this question: http://stackoverflow.com/questions/17218475/build-android-support-library-into-jar )
We all know Android Support Library has bugs. Some of them trivial and not fixed for years. I need to fix a few of them, but... how do I compile ASL source into usable JAR? What I did until now - in Eclipse created a directory in which I've put all classes from support library source. I added android.jar to the project and it doesn't show any errors after this. Then I used "Export..." into jar, which finished with some warnings and a size very close to ariginal android-support-v13.jar. Unfortunately my Android application with this self-built library fails with lots of missing classes reported at runtime (meaning it compiles without a problem).