Obfuscation in j2me netbeans - java-me

i 'm new to obfuscation in netbeans can any one will guide me on how to configure netbeans
for obfuscation & how to obfuscate the j2me package
i used progaurd 4.9 for obfuscation but dont know how to use it
i edited the build.xml with progaurd target
then i got error like "Obfuscation failed with error code 1"

You should not need to change build.xml manually. Open project properties, find obfuscation entry and change the value from zero to a higher value.

Related

Databinding-Classes aren't generated any more

I had a working project in Android-Studio, including Databinding. That eleminates some possible sources of error. ;-)
Then I decided to get my feet wet with Kotlin and began to migrate some classes from Java to Kotlin.
Unfortunately I also klicked to update Android-Studio to 3.4 in the middle of this process. So now I have many moving parts ...
Now after some editing, when I try to compile my app, the databinding-classes are not generated any more. Usually this is a problem of missing getters or setters or something like this. But currently I have no compiler errors that indicate such problems. Only all the references to my BR. class are red as this class is not generated.
In the layout-files the getters and setters from the data-variable are not shown - so there is a problem already there.
The build-log tells me to check the log for details, but I can not find any log with error-messages that could lead to a solution.
Android-Studio 3.4, mixed Java/Kotlin sourcecode
Besides those missing BR class, I have no other compilation errors at the moment.
I checked the raw gradle output and also tried to run those steps with the more verbose output - no luck.
Maybe this is related:
- I also have problems to edit my existing layouts with constraint-views. Somehow the constraints are read-only.
After some fiddeling around I managed to get one layout back to read-write mode. Not shure what I did to accomplish this ...
- Also I have the problem that Android-Studio "remembers" the last project and mixes the configurations from the last project with that of the current one. To fix this I have to delete the .idea folder in the project ... After that I can work with my project until I change to another or open a second one in parallel ... :-/
In order to get logs I also changed to generate the binding-classes by the compiler instead on the fly by Android-Studio - no luck.
As this is an installation with some history, I also tried to delete the configuration-files from Android-Studio - also no luck.
Clean- and Rebuild Project, Restart Android-Studio, Invalidate Caches ... all that tried without success.
Currently I am out of ideas where to look. Maybe somebody out there has a tip for me?
if you use imports in xml like
<import type="java.lang.Integer"/>
you have to delete it because android studio is imported automatically.
ref :
Just as in managed code, java.lang.* is imported automatically.
Finally I found the source of my problems!
After many attempts to find an error in my code or maybe in Android-Studio (also downgraded to 3.3 and tried the current 3.5 canary version) I decided to strip down the code to the max.
So I created a new project. In that project I created 2 observable classes and copied the minimal code from https://developer.android.com/topic/libraries/data-binding/observability#observable_objects.
I created one class in java and one class in Kotlin (with an index-Number at the properties so that I could see which properties are generated in the BR class).
Only the properties from the Java-class were generated in the BR class, those from the Kotlin class were missing. No error messages besides the missing BR-properties were generated. :-(
With this information I started a new research and finally found, that for Kotlin currently the apply plugin: 'kotlin-kapt' was missing in the project build.gradle file.
Once I added this, also the properties from the Kotlin class were added to the BR class.
Some (older) articles also add kapt "com.android.databinding:compiler:x.x.x" to the dependencies, but with the latest compiler I got null-pointer exceptions. Seems that this component is already referenced somewhere else, because it is not necessary (any more).
I also added this to my other project and now those BR-properties are also present there. So I am confident to have found the answer to my question and can now focus on bugfixing my app.

Assistance locating jar containing Domino/XPages classes

I am working with a java developer who is writing a jar that needs to use multi-threading. We discovered today that Domino is managing the way that it uses threads using the NotesThread class. He is in the process of changing his code to do it the "domino" way. The traditional java 1.6 way is not going to work.
He is asking me for the jar that contain the following classes so he can build his solution. Can someone point me to what jar contains these classes.
com.ibm.domino.xsp.module.nsf.NSFComponentModule;
com.ibm.domino.xsp.module.nsf.NotesContext;
com.ibm.domino.xsp.module.nsf.SessionCloner;
Note: I have sent him most every XPages and ExtLib jars that I had on my machine and he is still getting a computation error.
Also, I am not 100% sure he is using NotesThread, I recently found this: http://www.wissel.net/blog/d6plinks/SHWL-99U64Q and sent it to him. Perhaps all he needs is to manage the NotesContext and Session. First I need to get him the jar he needs, hence this question. The developer does not have Notes Designer installed. He uses Rational Application Developer to write his jar.
I see Frantisek has pointed you in the right direction for the jar you are looking for.
However, if you need to find one yourself here is how:
In Domino Designer, go to the Editor for Java Design Element (either open an existing .java file or create a new one, you just need to be in the Java Editor. (or alternatively switch to the 'Java' perspective)
Then press 'Ctrl + Shift + T' which is the shortcut for the 'Open Type' dialog.
The Open Type dialog lets you search for a Java Class and will open the Source if it can do so. In this case we won't be able to open the source, but it will tell us where it is getting the .class file from.
The Open Type search will show you matching classes for your search, and if you click one of the classes, it will show you the location of the class/source in the field at the bottom of the dialog.

Vuforia: overlaying a texture onto a target instead of the teapot - problems with C++ file location

I'm trying to place a texture over a target in Vuforia (similar to this post), but am running into difficulty. I'm using Eclipse Luna, on Ubuntu 14.04.
So far I've done the following:
Installed the Vuforia Samples Project (with ImageTarget, Multi-Targets, User-defined targets, etc. in it) - this works find under normal Java environment.
Installed Android NDK, & setup directory in preferences.
I have added Android NDK support to the Vuforia samples project (via Android Tools menu)
I have built all.
Whilst the JNI directory appears, it only contains VuforiaSamples.cpp. I can't find ImageTargets.cpp as required in this tutorial.
Any ideas what I need to do? Thanks.
It turns out I didn't need to use the NDK. What I wanted to achieve was possible with Java alone.
To achieve this, take a look in the "...SampleApplications.util" package of the Java demo project and duplicate the "CubeObject", calling it something like "MyObject". You can then alter the geometry within this new object class.
To implement your new object class, take a look at the "...Render.java" file. In the rendering method you will see what code to replace with your own code.

Linking error when referencing a C++/CLI .exe project

I'm using VS2010 and in my solution one of my C++/CLI projects references the other. But it can only link correctly when the project being referenced is compiled as a Static Lib.
I read all over that in managed .NET languages, .EXEs, libs and .dlls are the same thing, with a single flag or something like that as difference. Being like that, I can't figure out why I have all these linking errors, since it shouldn't matter how I compile my project.
Well, probably I'm assuming something wrong. If so, how can I reference a .exe project in an other .exe project so I can use the same classes and methods without having to recompile it.
Thanks in advance,
Theo
While referencing an EXE project and loading it at runtime as though it were a DLL is okay for pure managed code, that is not going to work out well for a C++/CLI project. The CRT won't be initialized correctly, there is no DllMain() entry point that will run.
You'll need to create a DLL, use the CLR Class Library project template.
What ever compile or link errors you'll get after that might be secondary. Make sure you quote them in your next question, error messages were designed to tell you what is wrong.
Right click on your project and choose "Add reference..." in the menu.
PS: can you show the linker error messages?

How can I override a class in J2ME Polish binaries?

I am using a UI component from J2ME Polish. I found a simple bug in the code, and want to quickly fix it but cannot find any build scripts in the download package, although source-code is included.
The problem cannot be solved by extending the class as it involves members with private access.
How should I go about fixing it? Should I simply compile the class in question with Javac or should try to locate build script in their repository?
There is no binary code for J2MEPolish UI library, because these classes are also preprocessed during your application compilation. This is why there is also no build script for J2MEPolish UI part - the resulting binary, if it compiles, would not make any sense :)
If you are using this UI class directly (there is no Polish magic involved) I would suggest to copy it into your own project, make the changes there and you should be just fine.
But there is a small issue. I'm not 100% sure, but Polish build process should be as follows: first your classes are preprocessed and then Polish classes will be preprocessed. If the UI component, that you copied into your project, will stay in the same java package, it could happen that your changes will be overwritten by buggy Polish implementation. You can check it by running the application or looking at the final java code in build directory.
If the overwriting problem happens, then you have two options - move UI class in your project into different package (I'm 99% sure this should be fine if you use it directly) or you need to modify Polish build process, so that it would preprocess Polish classes first and you could overwrite changes done by it.
/JaanusSiim
I know this question has been answered and accepted but an easier method would be to used their built in property (for any one coming here via the magic search engines)
polish.client.source=/projecthome/j2me-polish-source
which is simply a copy of their sources packaged with the installer. You can copy this into your own source tree and thus have version history of your changes.
While JaanusSiim's method might work I would not recommend it as it becomes confusing having de.enough.** packages in your own source tree I normally create a src for my personal source and a src-j2mepolish for their source files this was it is VERY explicit what I have added to the standard versions.

Resources