upload a deobfuscation and symbol file - c#

I upload an app on google play store. I am using xamarin / visual studio and I have bundle my app. so this is aab, not apk. also I am using visual studio so I dont have gradle file
it is giving me 2 warnings
Warning-1
This App Bundle contains Java/Kotlin code, which might be obfuscated. We recommend you upload a deobfuscation file to make your crashes and ANRs easier to analyze and debug. Learn More
Warning-2
This App Bundle contains native code, and you've not uploaded debug symbols. We recommend you upload a symbol file to make your crashes and ANRs easier to analyze and debug. Learn More
My Question: how do i create deobfuscation & symbol files? are these just empty text files?
On Google Play store console - I found a section where I can upload mapping & symbol files, but not deobfuscation file
App Bundle Explorer > Downloads > Assets >
Re-Trace mapping file > upload
Native Debug Symbols > upload

For this, you can refer to document Preparing an Application for Release.
You can follow the following steps to build the app for release:
Specify the Application Icon – Each Xamarin.Android application should have an application icon specified. Although not technically necessary, some markets, such as Google Play, require it.
Version the Application – This step involves initializing or updating the versioning information. This is important for future application updates and to ensure that the users are aware of which version of the application they have installed.
Shrink the APK – The size of the final APK can be substantially reduced by using the Xamarin.Android linker on the managed code and ProGuard on the Java bytecode.
Protect the Application – Prevent users or attackers from debugging, tampering, or reverse engineering the application by disabling debugging, obfuscating the managed code, adding anti-debug and anti-tamper, and using native compilation.
Set Packaging Properties – Packaging properties control the creation of the Android application package (APK). This step optimizes the APK, protects its assets, and modularizes the packaging as needed. Additionally, you can provide your users with an Android App Bundle that's optimized for their devices.
Compile – This step compiles the code and assets to verify that it builds in Release mode.
Archive for Publishing – This step builds the app and places it in an archive for signing and publishing.
Especially part Shrink the APK and Protect the Application.
Pay attention to Application Protection with Dotfuscator:
Even with debugging disabled, it is still possible for attackers to re-package an application, adding or removing configuration options or permissions. This allows them to reverse-engineer, debug, or tamper with the application. Dotfuscator Community Edition (CE) can be used to obfuscate managed code and inject runtime security state detection code into a Xamarin.Android app at build time to detect and respond if the app is running on a rooted device.
Dotfuscator CE is included with Visual Studio . To use Dotfuscator, click Tools > PreEmptive Protection - Dotfuscator.
To configure Dotfuscator CE, please see Using Dotfuscator Community Edition with Xamarin. Once it is configured, Dotfuscator CE will automatically protect each build that is created.

Related

How do I publish my Monogame game?

Back then when I had Visual Studio 2011 installed, there was a "ClickOnce deployment" option in the project properties window that created self-extracting installation packages that also verified application dependencies (DirectX, ...). I have updated to VS2012 and switched to Monogame due to Microsoft cancelling any further XNA development. That also caused the "ClickOnce" deployment tab to be gone. Nobody I send the Release directory to (it includes some but apparently not all required libraries) can't get the game started - it always crashes, usually due to lack of some OpenAL DLL. Could you provide me with links and/or instructions on Monogame apps deployment/publishing? I've already tried Google but maybe I've overseen something.
I'm targetting Windows.
I found this article while googling for "Monogame Required Dlls":
http://xnameetingpoint.weebly.com/monogameintro.html
Basically, besides the assemblies in your Release folder the user would need to have OpenGL drivers installed.

How to prevent a project rebuild after modification of XML in MonoDroid?

I'm currently having a issue with Mono for Android.
In my application I'm currently saving my variables between sessions using SharedPreferences.
Now whenever I have changed any of the XML or AXML files since the last build, the compiler will rebuild my entire project (clean->build). The deployment of the app will therefore always do the "Removing previous version" step first , be it on a emulator or a Android device. This will also remove all variables in the SharedPreferences class, resulting in having to reinitialize those pieces of data, which becomes very tedious if I'm working on the XML files.
Is there any way to prevent that the project will be rebuild if the XML files are modified. Or is there any way to prevent the SharedPreference data from being removed if the application gets re-installed?
Extra info:
Build target: API 10
Mono for Android Version:4.2.3
IDE: Visual Studio 2010 Ultimate SP1
Emulator: API 10 Atom x86 default emulator
Device: Samsung Galaxy Wonder (Android 2.3.3)
A rebuild is necessary when resource files change since it can result in a change to the generated Resource class. That said, Mono for Android does provide an option to preserve application data between deploys to help in situations like this.
If you look under Options-> Mono for Android you'll see a checkbox labeled "Preserve application data/cache on device between deploys" to turn on this feature.

Deploy Release C# windows application

I have finished a Windows C# application and this is the first time I am going to deploy it. I have searched for many tutorials. The microsoft site tells me to use the ClickOnce method. I have also tried from the Publishing settings. After I double click and install the application successfully, once I try to open it, nothing happens!
I have left all the settings as they are in debugging stage (e.g. Configuration: Debug) and all the other publish settings are left as they are.. can some one be kind enough to provide me with a dummy tutorial as I don't have any clue where to start from. I am saving some data in a file in DEBUG/Data. What will happen to this file?
Don't use the "deploying option" that Microsoft's offer. because its rubbish.
I'd suggest you to do it your self, here is what I suggest:
Protect your source-code with obfuscation.
Compile your application with the release mode (F6) not the debug mode (F5).
Copy your compiled files from "Release" Folder.
Download any Freeware Installer such as "Inno Setup".
Pack your files with the installer.
Distribute your application.
you can also skip the installer part. all you need is to distribute it as a Zip file or Rar.
there are plenty of other steps can be involved depending on how heavy your application is.

Deploying windows application in Visual studio 2010 Express

I have developed a windows application on C# in Visual Studio Express 2010. Now I want to deploy it.
I used publish to deploy but when I run the project it get error on the form where I have used some external files which I am using for I/O operation, read and write files.
How do I resolve this error? I am also using one folder for files.
I'm a big fan of using WiX for installers - even if you've got Visual Studio Pro with the built in MSI creation tools
http://wix.sourceforge.net/
the benefit of WiX is that you can do most anything, from the super simple to very complicated. The tool is great b/c you can get started quickly and then move up (adding dialogs, etc) as your app gets more popular.
One trick for installers - consider using VMWare/HyperV, install a test OS then take a snapshot of the OS before you install your app. IF everything works, great - you're done. However if something isnt right, roll the OS back to the pre-install snapshot, fix the bug, and try it again.
Add those external files to the project
Right Click the external files in your VS Set the Build Action as Content
Copy to Output directory to CopyAlways
Then try deploying
That may be due Windows 7 UAC permissions. Despite the fact that current books, msdn and even the snippets in Visual Studio teach methods of file IO, most are not correct when taking UAC into consideration.
All of your file operations should take place in UAC safe zones such as
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
You cannot read or write to files in the C:\Program Files (x86) directories unless you have elevated your app to run with higher privileges.
If you install your application and right click the executable and select Run As Administrator and everything works the problem is UAC.
If you haven't coded around UAC limitations I highly recommend reading up on it. It will save many headaches down the road.
http://www.codeproject.com/Articles/17968/Making-Your-Application-UAC-Aware

Can I create a single EXE in Microsoft Visual # 2010 Express when my applications is depending on Google Data API SDK?

I have an application depending on the Google Data API SDK (which are .dll's).
When I publish the application (Debug > Build Solution), my EXE-file only works on another computer when I copy the references in the same directory which I have included in my Visual Studio project.
The application is querying my Google Calendar for the current event, so I want to be able to run it from a memory stick.
Is there a solution so I can include those DLL's in one single EXE (make it kind of portable?).
Thank you so much!
You could potentially use ilmerge to do this. However, I don't know what the ramifications of this are in terms of licensing, particularly if you're going to distribute the app.
I would personally vote for keeping them separate, and just deploying them next to each other (whether in an installer or on a memory stick).
Most of the libraries Google provides are open-source and hosted on Google Code. This means you can download the source code and include it in the same project as the .exe project. That eliminates the need to have references to other dlls.
Here is the link to the .Net Google Code project. You'll need svn to check out the latest source code. The svn command is here:
svn checkout http://google-gdata.googlecode.com/svn/trunk/ google-gdata-read-only

Categories