Clone an android application programmatically
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
There are some Android applications which allow user to clone existed application on the phone.
eg: http://fixoptimize.com/app-cloner
Can you explain how these cloners work?
Thank you.
android clone cloneable
add a comment |
There are some Android applications which allow user to clone existed application on the phone.
eg: http://fixoptimize.com/app-cloner
Can you explain how these cloners work?
Thank you.
android clone cloneable
Consider move the question to Android Enthusiasts: android.stackexchange.com
– Meow Cat 2012
Jan 4 at 2:31
add a comment |
There are some Android applications which allow user to clone existed application on the phone.
eg: http://fixoptimize.com/app-cloner
Can you explain how these cloners work?
Thank you.
android clone cloneable
There are some Android applications which allow user to clone existed application on the phone.
eg: http://fixoptimize.com/app-cloner
Can you explain how these cloners work?
Thank you.
android clone cloneable
android clone cloneable
asked Jan 4 at 0:28
Anh-Tuan MaiAnh-Tuan Mai
6031330
6031330
Consider move the question to Android Enthusiasts: android.stackexchange.com
– Meow Cat 2012
Jan 4 at 2:31
add a comment |
Consider move the question to Android Enthusiasts: android.stackexchange.com
– Meow Cat 2012
Jan 4 at 2:31
Consider move the question to Android Enthusiasts: android.stackexchange.com
– Meow Cat 2012
Jan 4 at 2:31
Consider move the question to Android Enthusiasts: android.stackexchange.com
– Meow Cat 2012
Jan 4 at 2:31
add a comment |
1 Answer
1
active
oldest
votes
- Change the package name in
AndroidManifest.xml
and re-sign the app. Notice that the xml is binary instead of text in anapk
package. Android identify different apps with package name and with package name changed an app would be considered a "new one". - While the simple approach may or may not work (e.g. the app assumes its package name to be constant, or checks its signature) in many cases various other changes should be applied, including also chage the java package name, disable signature check, change string literals which are assumed path names containing a package name. All these would (likely) require decompiling and deassambling
dex
and evennative
codes, which is not only hard but illegal as well.
The modern way: Sandboxify the app. A sandbox environment would be created, within which the app being "cloned" is not actually cloned and remains unchanged. The sandbox would intercept all communication between the cloned app and the system, the user and other apps so it'stransparent
and stable. Neither the app nor the user would notice that the app's being sandboxed. And this most likely keeps legal concerns away unless a emulator is also outlawed. There are open source sandbox apps on github that you could examine and, well, copy.
Would you like to give me some github links please? Thank you. I only found this onehttps://github.com/pjlantz/droidbox
– Anh-Tuan Mai
Jan 4 at 3:51
1
It would sound like advertising so i didn't add links in the answer. But as you want, github.com/asLody/VirtualApp would be one. While it's a sandbox app for users to install many apps inside, it's also possible to contain only one app so it would look like the app itself. github.com/android-hacker/exposed might be an similiar implementation, or not. And consider method (1) of the answer first.
– Meow Cat 2012
Jan 4 at 4:15
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54031666%2fclone-an-android-application-programmatically%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
- Change the package name in
AndroidManifest.xml
and re-sign the app. Notice that the xml is binary instead of text in anapk
package. Android identify different apps with package name and with package name changed an app would be considered a "new one". - While the simple approach may or may not work (e.g. the app assumes its package name to be constant, or checks its signature) in many cases various other changes should be applied, including also chage the java package name, disable signature check, change string literals which are assumed path names containing a package name. All these would (likely) require decompiling and deassambling
dex
and evennative
codes, which is not only hard but illegal as well.
The modern way: Sandboxify the app. A sandbox environment would be created, within which the app being "cloned" is not actually cloned and remains unchanged. The sandbox would intercept all communication between the cloned app and the system, the user and other apps so it'stransparent
and stable. Neither the app nor the user would notice that the app's being sandboxed. And this most likely keeps legal concerns away unless a emulator is also outlawed. There are open source sandbox apps on github that you could examine and, well, copy.
Would you like to give me some github links please? Thank you. I only found this onehttps://github.com/pjlantz/droidbox
– Anh-Tuan Mai
Jan 4 at 3:51
1
It would sound like advertising so i didn't add links in the answer. But as you want, github.com/asLody/VirtualApp would be one. While it's a sandbox app for users to install many apps inside, it's also possible to contain only one app so it would look like the app itself. github.com/android-hacker/exposed might be an similiar implementation, or not. And consider method (1) of the answer first.
– Meow Cat 2012
Jan 4 at 4:15
add a comment |
- Change the package name in
AndroidManifest.xml
and re-sign the app. Notice that the xml is binary instead of text in anapk
package. Android identify different apps with package name and with package name changed an app would be considered a "new one". - While the simple approach may or may not work (e.g. the app assumes its package name to be constant, or checks its signature) in many cases various other changes should be applied, including also chage the java package name, disable signature check, change string literals which are assumed path names containing a package name. All these would (likely) require decompiling and deassambling
dex
and evennative
codes, which is not only hard but illegal as well.
The modern way: Sandboxify the app. A sandbox environment would be created, within which the app being "cloned" is not actually cloned and remains unchanged. The sandbox would intercept all communication between the cloned app and the system, the user and other apps so it'stransparent
and stable. Neither the app nor the user would notice that the app's being sandboxed. And this most likely keeps legal concerns away unless a emulator is also outlawed. There are open source sandbox apps on github that you could examine and, well, copy.
Would you like to give me some github links please? Thank you. I only found this onehttps://github.com/pjlantz/droidbox
– Anh-Tuan Mai
Jan 4 at 3:51
1
It would sound like advertising so i didn't add links in the answer. But as you want, github.com/asLody/VirtualApp would be one. While it's a sandbox app for users to install many apps inside, it's also possible to contain only one app so it would look like the app itself. github.com/android-hacker/exposed might be an similiar implementation, or not. And consider method (1) of the answer first.
– Meow Cat 2012
Jan 4 at 4:15
add a comment |
- Change the package name in
AndroidManifest.xml
and re-sign the app. Notice that the xml is binary instead of text in anapk
package. Android identify different apps with package name and with package name changed an app would be considered a "new one". - While the simple approach may or may not work (e.g. the app assumes its package name to be constant, or checks its signature) in many cases various other changes should be applied, including also chage the java package name, disable signature check, change string literals which are assumed path names containing a package name. All these would (likely) require decompiling and deassambling
dex
and evennative
codes, which is not only hard but illegal as well.
The modern way: Sandboxify the app. A sandbox environment would be created, within which the app being "cloned" is not actually cloned and remains unchanged. The sandbox would intercept all communication between the cloned app and the system, the user and other apps so it'stransparent
and stable. Neither the app nor the user would notice that the app's being sandboxed. And this most likely keeps legal concerns away unless a emulator is also outlawed. There are open source sandbox apps on github that you could examine and, well, copy.
- Change the package name in
AndroidManifest.xml
and re-sign the app. Notice that the xml is binary instead of text in anapk
package. Android identify different apps with package name and with package name changed an app would be considered a "new one". - While the simple approach may or may not work (e.g. the app assumes its package name to be constant, or checks its signature) in many cases various other changes should be applied, including also chage the java package name, disable signature check, change string literals which are assumed path names containing a package name. All these would (likely) require decompiling and deassambling
dex
and evennative
codes, which is not only hard but illegal as well.
The modern way: Sandboxify the app. A sandbox environment would be created, within which the app being "cloned" is not actually cloned and remains unchanged. The sandbox would intercept all communication between the cloned app and the system, the user and other apps so it'stransparent
and stable. Neither the app nor the user would notice that the app's being sandboxed. And this most likely keeps legal concerns away unless a emulator is also outlawed. There are open source sandbox apps on github that you could examine and, well, copy.
answered Jan 4 at 2:29
Meow Cat 2012Meow Cat 2012
383212
383212
Would you like to give me some github links please? Thank you. I only found this onehttps://github.com/pjlantz/droidbox
– Anh-Tuan Mai
Jan 4 at 3:51
1
It would sound like advertising so i didn't add links in the answer. But as you want, github.com/asLody/VirtualApp would be one. While it's a sandbox app for users to install many apps inside, it's also possible to contain only one app so it would look like the app itself. github.com/android-hacker/exposed might be an similiar implementation, or not. And consider method (1) of the answer first.
– Meow Cat 2012
Jan 4 at 4:15
add a comment |
Would you like to give me some github links please? Thank you. I only found this onehttps://github.com/pjlantz/droidbox
– Anh-Tuan Mai
Jan 4 at 3:51
1
It would sound like advertising so i didn't add links in the answer. But as you want, github.com/asLody/VirtualApp would be one. While it's a sandbox app for users to install many apps inside, it's also possible to contain only one app so it would look like the app itself. github.com/android-hacker/exposed might be an similiar implementation, or not. And consider method (1) of the answer first.
– Meow Cat 2012
Jan 4 at 4:15
Would you like to give me some github links please? Thank you. I only found this one
https://github.com/pjlantz/droidbox
– Anh-Tuan Mai
Jan 4 at 3:51
Would you like to give me some github links please? Thank you. I only found this one
https://github.com/pjlantz/droidbox
– Anh-Tuan Mai
Jan 4 at 3:51
1
1
It would sound like advertising so i didn't add links in the answer. But as you want, github.com/asLody/VirtualApp would be one. While it's a sandbox app for users to install many apps inside, it's also possible to contain only one app so it would look like the app itself. github.com/android-hacker/exposed might be an similiar implementation, or not. And consider method (1) of the answer first.
– Meow Cat 2012
Jan 4 at 4:15
It would sound like advertising so i didn't add links in the answer. But as you want, github.com/asLody/VirtualApp would be one. While it's a sandbox app for users to install many apps inside, it's also possible to contain only one app so it would look like the app itself. github.com/android-hacker/exposed might be an similiar implementation, or not. And consider method (1) of the answer first.
– Meow Cat 2012
Jan 4 at 4:15
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54031666%2fclone-an-android-application-programmatically%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Consider move the question to Android Enthusiasts: android.stackexchange.com
– Meow Cat 2012
Jan 4 at 2:31